Advanced search tips: use spaces to require multiple terms (AND), |
for alternatives (OR), wrap phrases in quotes (="a b"), =term for
exact match, 'term to include, !term to exclude, ^term to match
prefix, !^term to exclude prefix, .ext$ to match suffix, and !.ext$ to
exclude suffix.
Calculates the distance between spiral samples for the given texel size and
penumbra size. This is used for the Jimenez ‘14 (i.e. temporal) variant of
shadow sampling.
NOTE: Due to the non-uniform control flow in shadows::fetch_point_shadow,
we must use the Level variant of textureSampleCompare to avoid undefined
behavior due to some of the fragments in a quad (2x2 fragments) being
processed not being sampled, and this messing with mip-mapping functionality.
The shadow maps have no mipmaps so Level just samples from LOD 0.
This more or less does what Castano13 does, but in 3D space. Castano13 is
essentially an optimized 2D Gaussian filter that takes advantage of the
bilinear filtering hardware to reduce the number of samples needed. This
trick doesn’t apply to cubemaps, so we manually apply a Gaussian filter over
the standard 8xMSAA pattern instead.
This is a port of the Jimenez14 filter above to the 3D space. It jitters the
points in the spiral pattern after first creating a 2D orthonormal basis
along the principal light direction.
Do the lookup, using HW 2x2 PCF and comparison