Assignment 3
Deferred Lighting
In this assignment, we will be implementing deferred shading. This is a popular screen-space shading technique that allows many lights to be rendered on the scene without a significant performance hit.
Requirements
- A scene that contains, at minimum:
- A 3D Model
- A ground plane
- At least 64 point lights visibly shading geometry
- Point lights drawn as uniformly colored orbs
- Deferred shading is implemented using Blinn-phong reflectance
- G-buffer contains the following surface information for use in shading (how you pack your data is up to you!):
- Albedo (base texture colors, before lighting)
- Positions
- Normals
- G-buffer debug view in ImGUI. Must show all G-buffer textures.
- Bonus:
- Use a uniform buffer object to store your point light data. Increase your max number of lights to at least 256. +5%
- Use light volumes for more efficient lighting. See how many lights you can support at interactive frame rates! Your GPU mileage may vary! +5%