|
|
|
|
|
|
// Ref: Moving Frostbite to PBR (Appendix A) |
|
|
|
float3 IntegrateLambertIBLRef( LightLoopContext lightLoopContext, |
|
|
|
EnvLightData lightData, BSDFData bsdfData, |
|
|
|
uint sampleCount = 2048) |
|
|
|
uint sampleCount = 4096) |
|
|
|
{ |
|
|
|
float3 N = bsdfData.normalWS; |
|
|
|
float3 tangentX = bsdfData.tangentWS; |
|
|
|
|
|
|
|
|
|
|
float3 IntegrateDisneyDiffuseIBLRef(LightLoopContext lightLoopContext, |
|
|
|
float3 V, EnvLightData lightData, BSDFData bsdfData, |
|
|
|
uint sampleCount = 2048) |
|
|
|
uint sampleCount = 4096) |
|
|
|
{ |
|
|
|
float3 N = bsdfData.normalWS; |
|
|
|
float3 tangentX = bsdfData.tangentWS; |
|
|
|
|
|
|
// Ref: Moving Frostbite to PBR (Appendix A) |
|
|
|
float3 IntegrateSpecularGGXIBLRef( LightLoopContext lightLoopContext, |
|
|
|
float3 V, EnvLightData lightData, BSDFData bsdfData, |
|
|
|
uint sampleCount = 2048) |
|
|
|
uint sampleCount = 4096) |
|
|
|
{ |
|
|
|
float3 N = bsdfData.normalWS; |
|
|
|
float3 tangentX = bsdfData.tangentWS; |
|
|
|