Light Indexed Deferred Rendering demo + paper

Discussion in 'Rendering Technology and APIs' started by sqrt[-1], Jan 14, 2008.

  1. sqrt[-1]

    Newcomer

    Joined:
    Dec 24, 2004
    Messages:
    25
    Likes Received:
    0
    Against my better judgment, I though I would post my paper and demo here you you guys to tear apart.

    This is a deferred lighting approach that simply assigns each light a unique index and then stores this index at each fragment the light hits, rather than storing all the light or material properties per fragment. These indexes can then be used in a fragment shader to lookup into a lighting properties table for data to light the fragment.

    This technique can be broken down into three basic render passes:

    1) Render depth only pre-pass
    2) Disable depth writes (depth testing only) and render light volumes into a light index texture.
    Standard deferred lighting / shadow volume techniques can be used to find what fragments
    are hit by each light volume.
    3) Render geometry using standard forward rendering – lighting is done using the light index
    texture to access lighting properties in each shader.

    What this achieves is the main advantages of deferred rendering (complex light object scene interactions) with ways around the disadvantages (fat buffer sizes, MSAA and transparency issues)

    This technique has a obvious down side of limiting the number of lights that can hit a fragment - but this can be easily managed in a game editor context.
    However, I think artists would prefer to have as many non-shadowing lights as they want and deal with overlap issues than the current situation of X lights per object and having to break up objects into small pieces.

    Read the full paper here:
    http://lightindexed-deferredrender.googlecode.com/files/LightIndexedDeferredLighting1.1.pdf

    If you have an Nvidia card you can get the demo here:
    http://lightindexed-deferredrender.googlecode.com/files/LightIndexedDeferredRendering1.0.zip
     
  2. Humus

    Humus Crazy coder
    Veteran

    Joined:
    Feb 6, 2002
    Messages:
    3,217
    Likes Received:
    77
    Location:
    Stockholm, Sweden
    Sweet! Runs at a full 20fps on my 6600. :p

    Any particular reason why it doesn't run on ATI, or is it merely that it's only been tested on Nvidia? I've read the paper and there doesn't seem to be anything fancy required that would prevent it from working on ATI, although I got an error message on a shader on load. Haven't tried debugging it.
     
  3. sqrt[-1]

    Newcomer

    Joined:
    Dec 24, 2004
    Messages:
    25
    Likes Received:
    0
    Yeah it has only been tested on Nvidia.

    The only issues is on ATI is it would fall back to using the stencil approach instead of depth bounds when rendering the light spheres.

    If someone wants to debug on ATI , I would be happy to update it.
     
  4. Humus

    Humus Crazy coder
    Veteran

    Joined:
    Feb 6, 2002
    Messages:
    3,217
    Likes Received:
    77
    Location:
    Stockholm, Sweden
    I've tried debugging it a bit yesterday, but there appears to be multiple problems. I got it to load all shaders and run without GL errors, but rendering is still broken for some reason. I'll give it another shot tomorrow.
     
  5. corysama

    Newcomer

    Joined:
    Jul 10, 2004
    Messages:
    166
    Likes Received:
    96
    Very nice!
    Runs 12-15fps on a 7600GS@1920x1080. 60fps@575x575.

    I've found deferred rendering to be very interesting because we always need more lights, but I can't stomach cutting back on light models (diffuse, specular, anisotropic, subsurface, etc...). This is a nicely hybrid technique that brings us closer to capturing the best of both forward and deferred techniques.
     
  6. sqrt[-1]

    Newcomer

    Joined:
    Dec 24, 2004
    Messages:
    25
    Likes Received:
    0
  7. Bludd

    Bludd Experiencing A Significant Gravitas Shortfall
    Veteran

    Joined:
    Oct 26, 2003
    Messages:
    2,914
    Likes Received:
    484
    Location:
    Funny, It Worked Last Time...
    I get 60 FPS with my 8800 GTX @1920x1200 4xFSAA and 30 FPS with 8xFSAA which is a strange halving of FPS.
     
  8. Andrew Lauritzen

    Moderator Veteran

    Joined:
    May 21, 2004
    Messages:
    2,526
    Likes Received:
    450
    Location:
    British Columbia, Canada
    Vsync?
     
  9. Bludd

    Bludd Experiencing A Significant Gravitas Shortfall
    Veteran

    Joined:
    Oct 26, 2003
    Messages:
    2,914
    Likes Received:
    484
    Location:
    Funny, It Worked Last Time...
    Yes, probably, but it is not forced in the drivers and I found no way of controlling it in the demo settings.
     
  10. fellix

    fellix Hey, You!
    Veteran

    Joined:
    Dec 4, 2004
    Messages:
    3,445
    Likes Received:
    326
    Location:
    Varna, Bulgaria
    Thanks for the ATi support!
    Anyway, on the matter now:

    > Radeon HD3870 @ 850/2500 MHz;
    > Catalyst 8.1/Vista x86;
    > 1600*1200 & 8xAA;

    The above setup draws 114 fps with deferred lighting on and just 37 with the multi-pass path. Those numbers are taken from the Static Lights scene.
    Didn't bother to test without AA, though. ;)

    ALU:TEX ratio seems to be 5:1.
     
    #10 fellix, Jan 28, 2008
    Last edited by a moderator: Jan 28, 2008
  11. Farid

    Farid Artist formely known as Vysez
    Veteran Subscriber

    Joined:
    Mar 22, 2004
    Messages:
    3,844
    Likes Received:
    106
    Location:
    Paris, France
    Great work, sqrt.

    With that said, this thread desperately lacks pictures and other screenshots! So, folks, let's try to update the thread with some visuals of some sort.
     
  12. TimothyFarrar

    Regular

    Joined:
    Nov 7, 2007
    Messages:
    427
    Likes Received:
    0
    Location:
    Santa Clara, CA
  13. fellix

    fellix Hey, You!
    Veteran

    Joined:
    Dec 4, 2004
    Messages:
    3,445
    Likes Received:
    326
    Location:
    Varna, Bulgaria
    I've made a video sequence here.
     
  14. Albuquerque

    Albuquerque Red-headed step child
    Veteran

    Joined:
    Jun 17, 2004
    Messages:
    3,845
    Likes Received:
    329
    Location:
    35.1415,-90.056
    My results:

    Vista64, Cat 8.1 WHQL, two PowerColor 3870's at 850 / 1250, 1680x1050 full screen rez, Static light scene

    Scores are AA Level - Deferred / Static.

    CF Disabled:
    0 - 148 / 49
    2 - 131 / 46
    4 - 125 / 45
    8 - 119 / 39

    CF Enabled:
    0 - 147 / 49
    2 - 130 / 46
    4 - 125 / 45
    8 - 118 / 39

    Doesn't seem to get much from crossfire ;)
     
Loading...

Share This Page

  • About Us

    Beyond3D has been around for over a decade and prides itself on being the best place on the web for in-depth, technically-driven discussion and analysis of 3D graphics hardware. If you love pixels and transistors, you've come to the right place!

    Beyond3D is proudly published by GPU Tools Ltd.
Loading...