What is OpenGL and where did it come from? Who looks after it and what does it cover? We see the history of the specification from a feature viewpoint and discuss how to set it up on Windows, Linux and Mac. We discuss what GLUT is and why it's used and analyze a simple OpenGL/GLUT application.
Overview of x86 hardware and an overview of the basic fixed function architecture of OpenGL and what each stage does. Briefly introduces newer programmable vertex and fragment functionality. Discusses coordinate systems used when modeling scenes and transforming object. Explains the set of transformations OpenGL uses and how they are used. Viewing matrix mode and matrix stacks are introduced as well as projection.
Outlines the use of glBegin() and glEnd() for drawing primitives in OpenGL. We also look at glVertex() and glColor() and how they are used. All the primitives available in OpenGL, as described in the glBegin() specification, are presented. Culling is also addressed when talking about how shapes have "sides" defined by vertex drawing order.
What are models and why do we use them. Popular model file formats and an example. How to setup and use transparency in OpenGL. Basics of animation, using time based motion over frame based.
All about texturing including advanded uses like bump mapping and environment mapping.
All about the OpenGL lighting functions. Discusses the three components of lighting: Global Light Model, Light Parameters and Surface Materials. Also talks about spotlights and attenuations with some example screenshots from this weeks example code. A brief mention of shadowing techniques.
Modeling software and the 3DS file format. How to load models into OpenGL with 3DS used as an example.
From the basics of collision detection to spatial partitioning to physics processing units.
