|
|
|
|
|
|
float ltcDisneyDiffuseMagnitude; |
|
|
|
}; |
|
|
|
|
|
|
|
PreLightData GetPreLightData(float3 V, PositionInputs posInput, BSDFData bsdfData) |
|
|
|
PreLightData GetPreLightData(float3 V, float NdotV, PositionInputs posInput, BSDFData bsdfData) |
|
|
|
// TODO: check Eric idea about doing that when writting into the GBuffer (with our forward decal) |
|
|
|
preLightData.NdotV = GetShiftedNdotV(bsdfData.normalWS, V, false); |
|
|
|
preLightData.NdotV = NdotV; |
|
|
|
|
|
|
|
preLightData.ggxLambdaV = GetSmithJointGGXLambdaV(preLightData.NdotV, bsdfData.roughness); |
|
|
|
|
|
|
|
|
|
|
{ |
|
|
|
float3 N = bsdfData.normalWS; |
|
|
|
float3 tangentX = bsdfData.tangentWS; |
|
|
|
// This function call may modify the normal. |
|
|
|
float NdotV = GetShiftedNdotV(N, V, false); |
|
|
|
float NdotV = GetShiftedNdotV(N, V, false); |
|
|
|
float3 acc = float3(0.0, 0.0, 0.0); |
|
|
|
|
|
|
|
// Add some jittering on Hammersley2d |
|
|
|
|
|
|
float3 N = bsdfData.normalWS; |
|
|
|
float3 tangentX = bsdfData.tangentWS; |
|
|
|
float3 tangentY = bsdfData.bitangentWS; |
|
|
|
// This function call may modify the normal. |
|
|
|
float NdotV = GetShiftedNdotV(N, V, false); |
|
|
|
float NdotV = GetShiftedNdotV(N, V, false); |
|
|
|
float3 acc = float3(0.0, 0.0, 0.0); |
|
|
|
|
|
|
|
|
|
|
|