OpenGL ES development workshop at Update 2011 by Jeff LaMarche

Course outline

  • Welcome (& maybe a corny joke)
  • Introduction
    • Very Brief History of OpenGL ES
    • Overview of OpenGL ES Architecture
    • OpenGL Naming Conventions & Datatypes
    • Fixed Pipeline (GL ES 1.0) vs Programmable Pipeline (GL ES 2.0)
    • Why OpenGL ES 2.0
    • Introduction to GLKit
      • Other libraries for < 5.0 support
    • When to Use, When Not to Use
      • Alternatives to OpenGL ES
    • Hardware Architecture
      • GPU vs. CPU
      • Limitations of GPU
  • Fundamentals
    • Cartesian Coordinate System
    • 2D vs. 3D
    • Vector vs. Scalar Datatypes
    • Vertices
    • Datatype & Terminology
    • Role in Programmable Pipeline
    • Polygons (Triangles)
    • Winding Rule & Backface Culling
    • Euclidian Vectors
    • Color
  • The Programmable Pipeline
    • Shaders
      • Vertex Shader
      • Fragment Shader
      • Intro to GLSL
        • Datatypes
        • Built-in Functions
    • Attributes
    • Uniforms
    • Varyings
    • Programs
      • MCGLProgram class
  • The Third Dimension
    • OpenGL ES Buffers
      • Render Buffer
      • Frame Buffer
      • Depth Buffer
      • Configuring Buffers using GLKView
    • Drawing
      • Vertex Arrays
      • glDrawArrays() vs. glDrawElements()
      • Drawing Modes (points, triangles, triangle strips, triangle fans, etc.)
  • Matrices
    • Overview of Matrices
    • Matrix Datatypes
      • GLKMatrix2, GLKMatrix3, GLKMatrix4
    • Primary Uses of Matrices in OpenGL ES
      • Model, View, & Projection
    • Model
      • Translation (Movement)
      • Rotation
        • Euler Angles & Gimbal Lock
      • Scale
    • View
      • Look At
    • Projection
      • Orthographic
      • Perspective
    • Matrix Stacks
  • Lighting
    • Overview of Lighting Concepts
      • Light Components: Specular, Diffuse, Ambient
      • OpenGL ES Lighting is a Cheat
      • Normals
    • GLKBaseEffect lighting
      • Per vertex vs. Per pixel
    • Shader Lighting
      • Per Vertex
      • Per Pixel
        • Directional
          • Simple
          • Blinn-Phong
        • Point Light
        • Spot Light
  • Textures
    • Overview of OpenGL ES Textures
    • Texture Units
    • GLKTextureLoader
    • Textures and Uniforms
      • Warning about glUniform1i() for texture use & relationship to shaders
    • Blending Modes
    • Repeating & Clamping Textures
    • UV Texture Mapping
      • Texture Coordinates Datatype
    • Cube Maps

Time permitting

  • Space & World Organization
    • Overview of Spaces
      • Model Space (aka Object Space)
      • Camera Space
      • World Space
    • Modeling a Camera System
  • Advanced Lighting &Shader Effects
    • Normal Mapping & Dot 3 Lighting
    • Toon Shading
  • Keyframe Animation
    • Overview of Keyframe Animation
    • Drawbacks
  • Quaternion
    • Overview of Quaternion
    • Quaternion Datatype
      • GLKQuaternion
    • Conversion from Quaternion to Matrix and Back
  • Skeletal Animation
    • Overview of Skeletal Animation
    • Benefits & Drawbacks compared to Keyframe Animation
    • Ways of Representing Bones & Skeletons
      • Joints vs. Bones
      • Quaternions vs. Matrices

Space is limited, secure your place today!

Tags: , , , , , , , , , , , , , , ,