1 / 33

Computer graphic -- OpenGL Howto

Computer graphic -- OpenGL Howto. About me. Who: Jie Chen What: Teaching assistant, Lab exercises How: TS329 Email: jiechen@ee.oulu.fi. Website: http://www.ee.oulu.fi/~jiechen/Course.htm Prerequisite programming skills using C/C++. Tools: OpenGL

chaney
Download Presentation

Computer graphic -- OpenGL Howto

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer graphic --OpenGL Howto

  2. About me • Who: Jie Chen • What: Teaching assistant, Lab exercises • How: TS329 • Email: jiechen@ee.oulu.fi

  3. Website: http://www.ee.oulu.fi/~jiechen/Course.htm • Prerequisite programming skills using C/C++

  4. Tools: OpenGL • Task: what OpenGL is and how it enables us to program in 3D. • GL: graphic library

  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. Some Terminologies • OpenGL • GL: graphic library • a software interface to graphics hardware. • This interface consists of about 150 distinct commands.

  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. 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. 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 <GL/gl.h> • #include <GL/glu.h> • If we are using GLUT for managing our window manager tasks, we should include • #include <GL/glut.h> • Note that glut.h includes gl.h and glu.h automatically

  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 Xhttp://www.videotutorialsrock.com/opengl_tutorial/get_opengl_setup_mac_osx/home.php • Linuxhttp://www.videotutorialsrock.com/opengl_tutorial/get_opengl_setup_linux/home.php

  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. OpenGL • Download • OpenGL installer • GLUT binary • http://www.ee.oulu.fi/~jiechen/Course.htm • Lecture notes ->Lecture 3

  13. OpenGL setup • Run the OpenGL installer.

  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.

  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. Setup for Visual C++ • glut32.dll (dll: Dynamic-link library)

  17. Setup for Visual C++ • Run Visual C++ • Go to Tools -> Options-> Directories • Adding " GLUT\include", and " GLUT\lib"

  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 • Lecture notes ->Lecture 3 ->Cube

  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. Compiling and Running the Test Program • Select “a ‘hello world’ applications” • click “Finish” to finish creating the project.

  21. Compiling and Running the Test Program • File copy • extracted the downloaded test program • Copy the following files to the current folder

  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. Compiling and Running the Test Program • Change from "Debug" to "Release".

  24. Compiling and Running the Test Program • File adding • Two files: imageloader.h and imageloader.cpp • Press ok

  25. Compiling and Running the Test Program • File adding • Lib file: glut32.lib • Press ok

  26. Compiling and Running the Test Program • Workspace view

  27. Compiling and Running the Test Program • Go to Build -> Build project_name (e.g., Build CG.cpp) to build our project.

  28. Compiling and Running the Test Program • Run it!

  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. Correct ERROR

  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. Demo

  32. OpenGL Programming Guide or ‘The Red Book’ • http://unreal.srk.fer.hr/theredbook/

  33. The end of this lecture!

More Related