PDA

View Full Version : Implementing PCSS



Harukoxd
12-26-2016, 07:43 AM
I am following the next documentation provided by NVIDIA to implement PCSS:

http://developer.download.nvidia.com/whitepapers/2008/PCSS_Integration.pdf

My problem is that i am not sure about the definition of the following variables(Page 8 and 9):

#define LIGHT_WORLD_SIZE .5
#define LIGHT_FRUSTUM_WIDTH 3.75

float2 uv = coords.xy;
float zReceiver = coords.z; // Assumed to be eye-space z in this code

What i understood is the following:

LIGHT_WORLD_SIZE = The light radius sphere? And in case it is, what would be this size for a directional light?

LIGHT_FRUSTUM_WIDTH = The frustum width of the light camera.

LIGHT_FRUSTUM_WIDTH = 2 * SPOTLIGHT_Z_NEAR * std::tanf(SPOTLIGHT_FOV * 0.5f); // * (1) WIDTH == HEIGHT

zReceiver/uv = eye-space of the light camera (light's position in world space)

Am i understating it right?

Thank you for your attention