1 3d modelling with opengl brian farrimond robina hetherington

Post on 22-Dec-2015

232 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

3D Modelling with OpenGL

Brian Farrimond

Robina Hetherington

2

ScheduleWeek 7 C programming

2D OpenGL

Week 8 3D OpenGL

Animation

Interaction

Week 9 Colour, materials, lighting

Using 3DSMax models

Week 10 Portfolio work

3

Today’s class

• Programming in C

• Using .NET Visual C++

• Compiling + Linking = Building a program

• C programming with OpenGL

• Computer Graphics

• A first OpenGL program

4

Programming in C

The “Hello world” program

/* hello.cpp */

#include <stdio.h>

int main()

{

printf(“hello, world\n”);

return 0;

}

5

Programming in C

The “Hello world” program

/* hello.cpp */

#include <stdio.h>

int main()

{

printf(“hello, world\n”);

return 0;

}

/* and */ enclosecomments which are ignored by the compiler

6

Programming in C

The “Hello world” program

/* hello.cpp */

#include <stdio.h>

int main()

{

printf(“hello, world\n”);

return 0;

}

Include information about the standard library

7

Programming in C

The “Hello world” program

/* hello.cpp */

#include <stdio.h>

int main()

{

printf(“hello, world\n”);

return 0;

}

A C function.Its name is main

A C program consists of a collection of

functions

8

Programming in C

The “Hello world” program

/* hello.cpp */

#include <stdio.h>

int main()

{

printf(“hello, world\n”);

return 0;

}

A C function consists of:•a header line•a body made up of statements enclosed by { and }

9

Programming in C

The “Hello world” program

/* hello.cpp */

#include <stdio.h>

int main()

{

printf(“hello, world\n”);

return 0;

}

header line

body made up of statements

10

Programming in C

The “Hello world” program

/* hello.cpp */

#include <stdio.h>

int main()

{

printf(“hello, world\n”);

return 0;

}

This is where the program actually starts.

11

Programming in C

The “Hello world” program

/* hello.cpp */

#include <stdio.h>

int main()

{

printf(“hello, world\n”);

return 0;

}

Every C program has a main function

12

Programming in C

The “Hello world” program

/* hello.cpp */

#include <stdio.h>

int main()

{

printf(“hello, world\n”);

return 0;

}

printf is a library function to print characters

13

Programming in C

The “Hello world” program

/* hello.cpp */

#include <stdio.h>

int main()

{

printf(“hello, world\n”);

return 0;

}

Return from the main function – i.e. end the program

14

.NET Visual C++

• Microsoft’s C programming environment

• Program code is placed inside a .NET project

• .NET builds the program (or application) with this project

• We shall build a console application (as opposed to a Windows application)

15

Using .NET

• Copy the folder

dotNetExamples\hello

from the CD to your disc space

• Launch .NET

• Open the hello project using File | Open and navigate to hello.sln inside the hello folder

16

Exploring the hello project

• Solution tree

17

Exploring the hello project

• Solution tree

• Double click on hello.cpp to see the program code

18

Hello.cpp

19

Building the program

• To build the program, select the menu item

Build | Build Solution

Or use one of these two buttons

20

Running the program

• To run the program, select menu item

Debug | Start

Or use this button

21

Use of getchar()

• Without getchar() the program terminates at once before we can see what printf has done

• getchar() pauses the program until we press the return key.

22

Exercises

• Modify the text inside the printf statement

• Modify the program so that it prints outOne

Two

Three

23

Building = Compiling + linking

• Building is a two stage process:– Compiling source code into object code– Linking object code and library code to produce

the program (known as the executable)

24

More on Building

• See using dotNET IDE in C page 16

25

Separate compilation

• Large programs are made up of many source files

• Each file compiled separately

• Advantages:– Changing the code of one file does not require

recompiling the entire program– Team of programmers can work on different

files

26

Multifile example

27

The multifile .NET project

• Copy the folderdotNetExamples\multifile

from the CD to your disc space

• Open the project usingFile | Open

• Examine the solution tree

28

The multifile .NET project

• Build and run the program

• Edit func2.cpp so that it prints out:

This is the new func 2

• Rebuild and rerun the program

top related