180 likes | 302 Views
This review explores the design of OpenGL's modern graphics pipeline, key application commands, and the processes involved in geometry rasterization, texturing, and fragment display. It outlines how OpenGL serves as a state machine managing specific drawing operations, highlighting server and client states. We delve into the Begin/End paradigm, command syntax, and bitwise operations in OpenGL, such as the combination of commands like glClear. This comprehensive overview provides insights into how the pipeline is configured and managed for effective rendering in graphical applications.
E N D
Week 2: Review of graphics API OpenGL design
Modern graphics pipeline Application Command Geometry Rasterization Texture Fragment Display
Modern graphics pipeline Application Command Geometry Rasterization Texture Fragment Display
Modern graphics pipeline Application Command Geometry Rasterization Texture Fragment Display
Modern graphics pipeline Application Command Geometry Rasterization Texture Fragment Display
Modern graphics pipeline Application Command Geometry Rasterization Texture Fragment Display
Modern graphics pipeline Application Command Geometry Rasterization Texture Fragment Display
Modern graphics pipeline Application Command Geometry Rasterization Texture Fragment Display
Modern graphics pipeline Application Command Geometry Rasterization Texture Fragment Display
Modern graphics pipeline Application Application & higher level libraries world Command Geometry Rasterization Graphics API world Texture Fragment Display
OpenGL block diagram Generation Traversal Xformation Rasteriz. & tex. Display Display list Per-vertex operations & Primitive assembly Per- fragment operations Frame buffer Video display Evaluator Rasterization Application generation Application traversal Texture memory Pixel operations Application & higher level graphics libraries OpenGL implementation
OpenGL operation: conceptual model Configure how OpenGL should draw stuff Draw stuff
Configuring OpenGL “We view OpenGL as a state machine that controls a set of specific drawing operations” Two types of state: server and client. Most refer to server
Drawing • Begin/End paradigm • Only certain commands allowed inside the block
GL data types • GLfloat, GLint, etc.
GL values • In CAPITAL LETTERS • e.g. GL_LIGHT0, GL_AMBIENT • Use bitwise OR command to combine them, e.g. glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);