• Advertisement
Sign in to follow this  

[DX10] Deferred rendering: storing material data in G-buffer

This topic is 3134 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello, I was just reading the paper about deferred rendering in STALKER (click) since I'm trying to implement a material system for my deferred renderer. I'm no graphics guru so I didn't understand this part very good (copy/paste from that paper):
Quote:
To maintain the target frame rate, we limited ourselves to a material index into a light-response lookup table. After many experiments to find an optimal re-parameterization for this texture, we settled on the simplest and most intuitive way: indexing the volume texture by (N · L, N · H, material).
I really don't understand much of it: light-response lookup table - what exactly does this store? Do the N.L and N.H tex coords at which a pixel is sampled tell the material how to act (basicly a "graph" based on N.L and N.H) and the 'material' value switched between "graphs" (or blends them) or am I totaly of?

Share this post


Link to post
Share on other sites
Advertisement
Yeah, pretty much. Basically for each material, they come up with a 2D table that determines the resulting lighting factor from N dot H and N dot L. Then they store that 2D table in one of the slices of the volume texture. So basically it would be like a bunch of 2D graphs stacked on top of each other, with the material index determining which slice you use. Then once you have a slice, you use your N dot L and N dot H values to look up the resulting lighting value table.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement