1 of 9

Dynamic Lights and Shadows

Eduardo Rodrigues

2 of 9

Objectives

  • Generate random scene
    • Quick, simple; diamond-square algorithm
  • Illuminate scene
    • Multiple illumination models (Phong, Gouraud, Lamertian)
  • Accurate shadow volumes
  • Dynamic/Real-time
  • OpenGL 4.0 and GLSL
    • Probably important: Pixel/fragment shaders, vertex shaders, depth buffer, stencil buffer, hidden visibility algorithms

3 of 9

Really Basic Idea - Light + Shadows

4 of 9

Less Basic Idea - Soft Shadows

5 of 9

Not so Basic Idea - Volumetric Lighting

6 of 9

Resources

7 of 9

Timeline

  • Week 4
    • Have random scene generation completely finished.
  • Week 5
    • Be familiar enough with OpenGL 4.0 and GLSL that actual work can begin.
  • Week 7
    • Have at least one illumination model completely finished.
  • Week 8
    • Have all illumination models completely finished. Begin work on shadow volumes.
  • Week 10
    • Have shadow volumes implemented.

8 of 9

Final Demo

  • Random scene generation
  • Randomly positioned/moving light sources
  • Controllable camera
  • Everything renders as expected regardless of scene/camera/light positions

9 of 9

I have no idea what I'm doing

  • Questions?
  • blog.edrodrigues.com