Hi All,

I'm planning a new course for the last year of the undergraduate studies and need suggestions from the community in order to make it better. It would be a "journey through the 3D graphics pipeline" with all details needed to program advanced applications using OpenGL and GLSL. The theoretical part will be broader, but the implementation will focus on GLSL. It should be one semester course at the end of the undergraduate studies. The preliminary plan of the course (and the text-book) is as follows:

3D Graphics Pipeline


  1. Modern GPU Architectures (short history, NV Kepler, AMD Cayman)
  2. GPU Programming (shaders vs. kernels, GLSL, OpenCL, CUDA)
  3. 3D Pipeline (programable and FF stages)
  4. CPU/GPU Communication (buffer objects, attributes, uniforms, VAO, ...)
  5. Vertex Processing
  6. Transform Feedback
  7. Tessellation
  8. Geometry Processing
  9. Clipping and Rasterization (this topic should cover other FF)
  10. Fragment Processing
  11. Fetching Fragments (FF, Z-bufer, FBO, render to texture )
  12. Non-graphical calculation
  13. Synchronization and Interoperability (multithreading, multicontext execution, sync objects, GL-D3D Interop., GL-OpenCL Interop, GL-CUDA Interop)
  14. Debugging and Profiling


The number of topics should be from 12 to 14 (corresponding the number of weeks the course will last).

I need advices for the following:
- What is the most appropriate name for the course?
- What topics are not covered but are important in your opinion?
- Do you have a similar course and what are yours experience in teaching such a course?

Thank you in advance!
Aleksandar