Quantcast
Channel: GameDev.net
Viewing all articles
Browse latest Browse all 17560

Filtering (dual) paraboloid shadow maps

$
0
0

After some time away I'm revisiting my lighting system and in trying to shape up my point light shadow mapping, came across the paper Practical Implementation of Dual Paraboloid Shadow Maps by Osman, Bukowski & McEvoy.
The paper itself doesn't go into very much depth, but the following passage caught my eyes:

 

The standard approach to DPSM suggests always doing the paraboloid transform in the vertex shader. This causes texture coordinates (in paraboloid space) to be interpolated linearly, giving incorrect results, as seen in figure 3. Our approach is to instead send the world-space position of the vertex in question. With this approach, the hardware’s linear interpolation gives us the worldspace location of the pixel to be shaded, and the interpolation is correct. Then, we transform the position into the light’s paraboloid space for each pixel.

This sounds good, but I cannot quite figure out what they mean with "doing the paraboloid projection in the pixel shader instead". Surely this cannot be done during shadow map generation (the pixel coordinate is determined by the vertex shader's output). The other interpretation is that it is done when sampling the shadow map during scene rendering, but if you just render the depth map via a normal orthographic projection, won't you loose data that do not "fit" the projection but that would be captured through the paraboloid projection?
Also if this really worked, you wouldn't need to have tessellated shadow casters either would you?

 

 

Finally a bonus question; it would seem that the most recent papers / articles I can find on the DPSM technique are from 2008, with most dating as far back as 2002. Has this approach generally been made obsolete by modern hardware being more readily capable of cubemapping or is there yet another (superior) technique that I'm unaware of?

 

 

Edit: I sort of messed up with the title here; I was originally going to state that I'm investigating this because applying VSM and blurring to DPSM's exaggerate their inherent problems, thus it would be very nice to be able to do this in linear space indeed.


Viewing all articles
Browse latest Browse all 17560

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>