1 / 26

Lecture 2

Lecture 2. Review OpenGL Libraries Graphics Overview Rendering Pipeline OpenGL command structure. Lecture 2. OpenGL Libraries and Compilation GLUT Window initialization commands Color Drawing 2-D Primitives. OpenGL Libraries.

dian
Download Presentation

Lecture 2

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. Lecture 2 • Review • OpenGL Libraries • Graphics Overview • Rendering Pipeline • OpenGL command structure

  2. Lecture 2 • OpenGL Libraries and Compilation • GLUT Window initialization commands • Color • Drawing 2-D Primitives

  3. OpenGL Libraries • GLUT(OpenGL Utility Toolkit): Implements a simple windowing API for OpenGL. • GLU(OpenGL Utility Library): Set of functions to create textures from base images, drawing quadratic surfaces, etc. • More Details about libraries: • http://www.opengl.org/resources/libraries/

  4. Compilation • Overview: • Compiling • Linking • Running • In Microsoft Visual Studio C++ • http://csf11.acs.uwosh.edu/cs371/visualstudio/ • In MinGW C • http://www.transmissionzero.co.uk/computing/using-glut-with-mingw/

  5. GLUT Window Initialization • What is Buffer? • Clearing the Window • glClearColor(R, G, B, A) • glClearColor(GL_COLOR_BUFFER_BIT) • glClearDepth() • glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)

  6. GLUT Window Initialization glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT) Vs. glClear(GL_COLOR_BUFFER_BIT) glClear(GL_DEPTH_BUFFER_BIT)

  7. OpenGL Buffers

  8. Color • glColor3f(R, G, B) • glColor3f(0.0, 0.0, 0.0) : Black • glColor3f(1.0, 0.0, 0.0) : Red • glColor3f(0.0, 1.0, 0.0) : Green • glColor3f(0.0, 0.0, 1.0) : Blue

  9. Forcing Completion of Drawing • void glFlush(void) • void glFinish(void)

  10. Structure of an OpenGL code • Sample Code • Reshape Function void reshape (int w, int h) { glViewport (0, 0, (GLsizei) w, (GLsizei) h); glMatrixMode (GL_PROJECTION); glLoadIdentity (); gluOrtho2D (0.0, (GLdouble) w, 0.0, (GLdouble) h); }

  11. Point (Vertex) • Mathematical Representation • OpenGL representation • Homogeneous Coordinate System (Optional)

  12. Line • Mathematical Line • Line Segment: Used in OpenGL

  13. Polygon • Mathematical Definitions. • Convex Polygon (Used in OpenGL) • What is the simplest Polygon?

  14. Polygon • Invalid Polygons in OpenGL

  15. Polygon

  16. Polygon

  17. Polygon

  18. Polygon

  19. Polygon

  20. Specifying Vertices • OpenGL command: void glVertex{234}{sifd}[v](TYPEcoords); • Example: glVertex2s(2, 3); glVertex3d(0.0, 0.0, 3.1415926535898); glVertex4f(2.3, 1.0, -2.2, 2.0); GLdouble dvect[3] = {5.0, 9.0, 1992.0}; glVertex3dv(dvect);

  21. Specifying Lines, Polygons • Specifying a set of vertices glBegin(GLenum_mode); glVertex2f(0.0, 0.0); glVertex2f(0.0, 3.0); glVertex2f(4.0, 3.0); glVertex2f(6.0, 1.5); glVertex2f(4.0, 0.0); glEnd();

  22. Specifying Lines, Polygons

  23. glBegin(parameters)

  24. Stippled Lines • Definition • Command: • glLineStipple(GLint factor, GLushort pattern) • glEnable(GL_LINE_STIPPLE)

  25. QUESTIONS?

  26. Next Session • Interactive Programming with GLUT • Callback Registration • Keyboard, Mouse Callbacks • Animation • Double Buffering

More Related