Deferred lighting
Upcoming SlideShare
Loading in...5
×
 

Deferred lighting

on

  • 4,240 views

Deferred lighting

Deferred lighting

Statistics

Views

Total Views
4,240
Views on SlideShare
3,709
Embed Views
531

Actions

Likes
2
Downloads
41
Comments
0

1 Embed 531

http://ozlael.egloos.com 531

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Deferred lighting Deferred lighting Presentation Transcript

  • Inferred rendering http://ozlael.egloos.com/
  • Forward Rendering ● Traditional Render ● Single Pass Lighting ● Multipass Lighting
  • Forward Rendering :Single Pass Lighting ● For each object: Render mesh, applying all lights in one shader ● Good for scenes with small numbers of li ghts (eg.outdoor sunlight) ● Difficult to organize if there are many light s ● Shader combinations explosion View slide
  • Forward Rendering :Multipass Lighting ● For each light: – For each object affected by the light: ● framebuffer += object * light ● Worst case complexity is num_objects * n um_lights ● Shader for each material and light type View slide
  • Forward Rendering :Multipass Lighting ● Wasted shader cycles – Invisible surfaces / overdraw – Triangles outside light influence ● Ideally the scene should be split exactly a long lightboundaries, but getting this right for dynamic lightscan be a lot of CPU wor k
  • Deferred Rendering ● For each object: – Render to multiple targets – Render surface properties into the G-Buffer ● For each light: – Apply light as a 2D postprocess – Use G-Buffer to compute lighting – Add result to frame buffer
  • Deferred Rendering ● Worst case complexity is num_objects + num_lights ● Simpler shaders
  • Deferred Rendering G-buffer
  • Deferred Rendering G-buffer
  • Deferred Rendering G-buffer
  • Deferred Rendering Result
  • MRT
  • Determine Lit Pixels
  • Determine Lit Pixels
  • Early-Z Pass ● Similar to Early-Z Pass – 1st Pass: Visibility tests – 2nd Pass: Shading ● Different than Early-Z Pass – Geometry is only transformed once
  • Deferred Rendering Weak point ● Does not handle transparent objects – Forward Rendering Pass ● H/W Anti-aliasing difficult ● Material limited ● Many memory bandwidth
  • Pre-light Pass ● Geometry pass: – fill up normal and depth buffer ● Lighting pass: – store light properties in light buffer ● 2. Geometry pass: – fetch light buffer and apply different material terms per surface by re-constructing the lighting equation
  • Pre-light Pass ● Geometry pass: – fill up normal and depth buffer ● Lighting pass: – store light properties in light buffer ● 2. Geometry pass: – fetch light buffer and apply different material terms per surface by re-constructing the lighting equation
  • Pre-light Pass Render opaque Geometry sorted front-to-back Normals Depth Color Specular Power Blit Lights into Light Buffer (sorted front-to-back) Light Buffer Render opaque Geometry sorted front-to-back or Blit ambient term and other lighting terms into final image Frame Buffer
  • Pre-light Pass Resistance 2TM in-game screenshot; first row on the left is the depth buffer, on the right is the normal buffer; in the second row is the diffuse light buffer and on the right is the specular light buffer; in the last row is the final result.
  • Pre-light Pass ● Flexible Materials ● H/W MSAA ● Not Lighting/Shadowing Alpha Geometry