Advanced Open GL

מק"ט: #2650 | משך קורס: 24 שעות אק'

OpenGL is the most widely adopted API (application programming interface) for 2D and 3D graphics. OpenGL is rapidly evolving, allowing graphics programmers access to cutting edge GPU functionality across diverse operating systems and platforms. The course explores advanced topics in using OpenGL and associated technologies. From understanding the inner workings of the rendering pipeline, to writing programmable shaders in GLSL (OpenGL shading language).

*שדות חובה
PDF version

קהל יעד

The course is intended for OpenGL programmers that want to take their knowledge and skills to the next level.

דרישות קדם

Attendees should be familiar with the basics of OpenGL and other concepts in 3D graphics, such as transformations, projections, texture mapping, etc. Mathematical knowledge of matrix manipulation is beneficial.


נושאי הקורס

  • Basic theory and OpenGL
    • Introduction to OpenGL, Rendering Pipeline
    • Transformations, theory and practice
    • Manipulating Matrix Stack 
    • Rendering
      • Polygons
      • Surfaces
      • Text
      • etc.
    • Efficient rendering
      •  Display Lists 
      • Vertex Arrays
      • Vertex Buffer Objects
    •  Color and Lighting
    •  Texture Mapping
  • Advanced topics and GLSL
    • Stencil buffer in theory and practice
      • Silhouettes
      • Shadows and Reflections
    • GLSL Introduction
      • What is GLSL, Programmable pipeline overview
      • Code syntax, Data types, Uniforms, Atttributes, Samplers
      • Setting up, compiling and linking shaders and programs
      • Sample IDE and a few simple shaders
      • A simple hello world (toon shader)
    • GLSL Environment
      • Listing of the environment available to the shader
      • Phong shading (per pixel) with directional light
  • GLSL (continued) - complete examples
    • Bump mapping (from texture)
    • Image processing (gaussian blur, swirl etc.)
    • Multiple scene rendering passes
    • Texture synthesis (2d Marble, 3d bricks etc.)
    • Some more ideas
      • Half toning
      • Light map
      • Motion blur
      • Multi-texturing
      • Exercises based on the preceding shaders
  • Summary