Presentation is loading. Please wait.

Presentation is loading. Please wait.

C O M P U T E R G R A P H I C S Jie chen Computer graphic -- OpenGL Howto.

Similar presentations


Presentation on theme: "C O M P U T E R G R A P H I C S Jie chen Computer graphic -- OpenGL Howto."— Presentation transcript:

1 C O M P U T E R G R A P H I C S Jie chen Computer graphic -- OpenGL Howto

2 C O M P U T E R G R A P H I C S Jie chen 2 About me Who: Jie Chen What: Teaching assistant, Lab exercises How: TS329 Email: jiechen@ee.oulu.fi

3 C O M P U T E R G R A P H I C S Jie chen 3 Website: http://www.ee.oulu.fi/~jiechen/Course.htm Prerequisite programming skills using C/C++

4 C O M P U T E R G R A P H I C S Jie chen 4 Tools: OpenGL Task: what OpenGL is and how it enables us to program in 3D. GL: graphic library

5 C O M P U T E R G R A P H I C S Jie chen 5 What is OpenGL? It's a way to draw stuff in 3D. –It can also be used for 2D drawing, but this course doesn't focus on that. There are better tools for straight 2D drawing, such as SDL and Allegro. The purpose of OpenGL is to communicate with the graphics card about our 3D scene. –The graphics card is where the 3D computation happens. –So why not talk to the graphics card directly? Each graphics card is a little different. In a sense, they all speak different "languages". To talk to them all, we can either learn all of their languages, or find a "translator" that knows all of their languages and talk to the translator, so that we only have to know one language. OpenGL serves as a "translator" for graphics cards.

6 C O M P U T E R G R A P H I C S Jie chen 6 Some Terminologies OpenGL –GL: graphic library –a software interface to graphics hardware. –This interface consists of about 150 distinct commands.

7 C O M P U T E R G R A P H I C S Jie chen 7 Some Terminologies GLU (OpenGL Utility Library) –GLU is a standard part of every OpenGL implementation. –A sophisticated library that provides the features could be built on top of OpenGL. –Provides many of the modeling features, such as quadric surfaces and NURBS (Non-Uniform Rational B-Spline) curves and surfaces.

8 C O M P U T E R G R A P H I C S Jie chen 8 Some Terminologies GLUT (OpenGL Utility Toolkit) –a window system independent toolkit for writing OpenGL programs. –It implements a simple windowing application programming interface (API) for OpenGL. –GLUT makes it much easier to learn about and explore OpenGL Programming. –Controlling the IO layer input: mouse and keyboard output: visual windows

9 C O M P U T E R G R A P H I C S Jie chen 9 Include Files For all OpenGL applications, we need to include the gl.h header file in every file. Almost all OpenGL applications use GLU, which requires inclusion of the glu.h header file. So almost every OpenGL source file begins with –#include If we are using GLUT for managing our window manager tasks, we should include –#include Note that glut.h includes gl.h and glu.h automatically

10 C O M P U T E R G R A P H I C S Jie chen 10 Getting OpenGL Set Up In following part, we will show how to get OpenGL and GLUT set up on Windows, so that we can get started making 3D programs. we can use OpenGL on other operating systems, but this part doesn't cover how to get it set up on those OSes. –Mac OS X http://www.videotutorialsrock.com/opengl_tutorial/get_opengl_se tup_mac_osx/home.php http://www.videotutorialsrock.com/opengl_tutorial/get_opengl_se tup_mac_osx/home.php –Linux http://www.videotutorialsrock.com/opengl_tutorial/get _opengl_setup_linux/home.php http://www.videotutorialsrock.com/opengl_tutorial/get _opengl_setup_linux/home.php

11 C O M P U T E R G R A P H I C S Jie chen 11 Getting OpenGL Set Up on Windows Explain how to get OpenGL and GLUT set up on Windows (e.g., windows XP). Use the Visual C++ 6.0. You can also use other version, such as Visual C++ 2003, 2005, 2008. –CSE: Computer science and engineering laboratory You can find it in our server: \\Samba.ee\i-awims\Microsoft –Other department: you can downloade here: http://msdn.microsoft.com/zh-cn/express/default.aspx You have to register, which is free, within 30 days.

12 C O M P U T E R G R A P H I C S Jie chen 12 OpenGL Download –OpenGL installer –GLUT binary http://www.ee.oulu.fi/~jiechen/Course.htm Lecture notes ->Lecture 3

13 C O M P U T E R G R A P H I C S Jie chen 13 OpenGL setup Run the OpenGL installer.

14 C O M P U T E R G R A P H I C S Jie chen 14 GLUT setup Extract GLUT to the directory of your choice. We can do this by creating a new directory, locating and opening the ZIP file using Windows Explorer, and copying the files to the new directory using copy-paste. Alternatively, We can use a free program like WinZip to extract GLUT.WinZip

15 C O M P U T E R G R A P H I C S Jie chen 15 GLUT setup In the directory GLUT, make two folders –one called "include" and –one called "lib". File assignment: –In the "include" folder, create another folder called "GL", and move glut.h to that folder (..\Include\GL). –Move all of the other extracted files for GLUT into the "lib" folder.

16 C O M P U T E R G R A P H I C S Jie chen 16 Setup for Visual C++ glut32.dll (dll: Dynamic-link library)

17 C O M P U T E R G R A P H I C S Jie chen 17 Setup for Visual C++ Run Visual C++ Go to Tools -> Options-> Directories Adding " GLUT \include", and " GLUT \lib"

18 C O M P U T E R G R A P H I C S Jie chen 18 Compiling and Running the Test Program To make sure that everything was set up correctly, we're going to see if we can get a test program to work. Download test program and extract it somewhere on your computer. –http://www.ee.oulu.fi/~jiechen/Course.htm http://www.ee.oulu.fi/~jiechen/Course.htm –Lecture notes ->Lecture 3 ->Cube

19 C O M P U T E R G R A P H I C S Jie chen 19 Compiling and Running the Test Program Run Visual C++. Go to File -> New -> Project Select Win32 Console applications Set the project file location. Enter in a name for your project (such as “CG") and click ok.

20 C O M P U T E R G R A P H I C S Jie chen 20 Compiling and Running the Test Program Select “a ‘hello world’ applications” click “Finish” to finish creating the project.

21 C O M P U T E R G R A P H I C S Jie chen 21 Compiling and Running the Test Program File copy –extracted the downloaded test program – Copy the following files to the current folder

22 C O M P U T E R G R A P H I C S Jie chen 22 Compiling and Running the Test Program File content modification –Copy the code in main.cpp to replace those in CG.cpp –Add #include "stdafx.h" at the beginning of CG.cpp

23 C O M P U T E R G R A P H I C S Jie chen 23 Compiling and Running the Test Program Change from "Debug" to "Release".

24 C O M P U T E R G R A P H I C S Jie chen 24 Compiling and Running the Test Program File adding –Two files: imageloader.h and imageloader.cpp –Press ok

25 C O M P U T E R G R A P H I C S Jie chen 25 Compiling and Running the Test Program File adding –Lib file: glut32.lib –Press ok

26 C O M P U T E R G R A P H I C S Jie chen 26 Compiling and Running the Test Program Workspace view

27 C O M P U T E R G R A P H I C S Jie chen 27 Compiling and Running the Test Program Go to Build -> Build project_name (e.g., Build CG.cpp) to build our project.

28 C O M P U T E R G R A P H I C S Jie chen 28 Compiling and Running the Test Program Run it!

29 C O M P U T E R G R A P H I C S Jie chen 29 Compiling and Running the Test Program Take a look at CG.cpp. –Notice that the include directives for OpenGL appear after the #include directives for the normal C++ include files. –If we had them in the opposite order, you'd get a compiler error. So make sure that the include files for the standard C++ stuff appear before the include files for OpenGL. ERROR Correct

30 C O M P U T E R G R A P H I C S Jie chen 30 Compiling and Running the Test Program Whew! We've finished setting up OpenGL. Now we're ready to learn how to program in 3D.

31 C O M P U T E R G R A P H I C S Jie chen 31 Demo

32 C O M P U T E R G R A P H I C S Jie chen 32 OpenGL Programming Guide or ‘The Red Book’ –http://unreal.srk.fer.hr/theredbook/http://unreal.srk.fer.hr/theredbook/

33 C O M P U T E R G R A P H I C S Jie chen 33 The end of this lecture!


Download ppt "C O M P U T E R G R A P H I C S Jie chen Computer graphic -- OpenGL Howto."

Similar presentations


Ads by Google