computer graphic opengl howto n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Computer graphic -- OpenGL Howto PowerPoint Presentation
Download Presentation
Computer graphic -- OpenGL Howto

Loading in 2 Seconds...

play fullscreen
1 / 33

Computer graphic -- OpenGL Howto - PowerPoint PPT Presentation


  • 125 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Computer graphic -- OpenGL Howto' - chaney


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
about me
About me
  • Who: Jie Chen
  • What: Teaching assistant, Lab exercises
  • How: TS329
  • Email: jiechen@ee.oulu.fi
slide3
Website:

http://www.ee.oulu.fi/~jiechen/Course.htm

  • Prerequisite

programming skills using C/C++

slide4
Tools: OpenGL
  • Task: what OpenGL is and how it enables us to program in 3D.
  • GL: graphic library
what is opengl
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.
some terminologies
Some Terminologies
  • OpenGL
    • GL: graphic library
    • a software interface to graphics hardware.
    • This interface consists of about 150 distinct commands.
some terminologies1
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.
some terminologies2
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
include files
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
getting opengl set up
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
getting opengl set up on windows
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.
opengl
OpenGL
  • Download
    • OpenGL installer
    • GLUT binary
      • http://www.ee.oulu.fi/~jiechen/Course.htm
      • Lecture notes ->Lecture 3
opengl setup
OpenGL setup
  • Run the OpenGL installer.
glut setup
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.
glut setup1
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.
setup for visual c
Setup for Visual C++
  • glut32.dll (dll: Dynamic-link library)
setup for visual c1
Setup for Visual C++
  • Run Visual C++
  • Go to Tools -> Options-> Directories
  • Adding " GLUT\include", and " GLUT\lib"
compiling and running the test program
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
compiling and running the test program1
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.
compiling and running the test program2
Compiling and Running the Test Program
  • Select “a ‘hello world’ applications”
  • click “Finish” to finish creating the project.
compiling and running the test program3
Compiling and Running the Test Program
  • File copy
    • extracted the downloaded test program
    • Copy the following files to the current folder
compiling and running the test program4
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
compiling and running the test program5
Compiling and Running the Test Program
  • Change from "Debug" to "Release".
compiling and running the test program6
Compiling and Running the Test Program
  • File adding
    • Two files: imageloader.h and imageloader.cpp
    • Press ok
compiling and running the test program7
Compiling and Running the Test Program
  • File adding
    • Lib file: glut32.lib
    • Press ok
compiling and running the test program9
Compiling and Running the Test Program
  • Go to Build -> Build project_name (e.g., Build CG.cpp) to build our project.
compiling and running the test program11
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

compiling and running the test program12
Compiling and Running the Test Program
  • Whew! We've finished setting up OpenGL.
  • Now we're ready to learn how to program in 3D.
slide32
OpenGL Programming Guide or ‘The Red Book’
    • http://unreal.srk.fer.hr/theredbook/