Examples_3/Unit_Tests/src/10_ScreenSpaceReflections/Shaders/FSL/SSSR_Common.h
uint GetBaseLane(uint lane, uint samples_per_quad)
{
    switch (samples_per_quad)
    {
    case 1u:
        return lane & ~3u; // Map to upper left
    case 2u:
        return lane ^ 1u; // Toggle horizontal
    default: // case 4:
        return lane; // Identity
    }
}
// Has to match the calculation in IsBaseRay. Assumes lane is in Z order.
// i.e. 4 consecutive lanes 0 1 2 3
// are remapped to 
// 0 1
// 2 3
Has to match the calculation in IsBaseRay. Assumes lane is in Z order.
Has to match the calculation in IsBaseRay . Assumes lane is in Z order .
uint GetBaseLane(uint lane, uint samples_per_quad)
{
    switch (samples_per_quad)
    {
    case 1u:
        return lane & ~3u; 
    case 2u:
        return lane ^ 1u; 
    default: 
        return lane; 
    }
}
uint GetBaseLane ( uint lane , uint samples_per_quad ) { switch ( samples_per_quad ) { case 1u : return lane & ~ 3u ; case 2u : return lane ^ 1u ; default : return lane ; } }
Has to match the calculation in IsBaseRay.
Has to match the calculation in IsBaseRay .
// Map to upper left // Toggle horizontal // case 4: // Identity