|
|
|
|
|
|
uint sampleCount = 2048) |
|
|
|
{ |
|
|
|
float3 N = bsdfData.normalWS; |
|
|
|
float3 tangentX = bsdfData.tangentWS; |
|
|
|
float3 tangentY = bsdfData.bitangentWS; |
|
|
|
|
|
|
|
|
|
|
|
float3 tangentX, tangentY; |
|
|
|
GetLocalFrame(N, tangentX, tangentY); |
|
|
|
|
|
|
|
for (uint i = 0; i < sampleCount; ++i) |
|
|
|
{ |
|
|
|
|
|
|
float3 V, EnvLightData lightData, BSDFData bsdfData, |
|
|
|
uint sampleCount = 2048) |
|
|
|
{ |
|
|
|
float3 N = bsdfData.normalWS; |
|
|
|
float NdotV = dot(N, V); |
|
|
|
float3 acc = float3(0.0, 0.0, 0.0); |
|
|
|
float3 N = bsdfData.normalWS; |
|
|
|
float3 tangentX = bsdfData.tangentWS; |
|
|
|
float3 tangentY = bsdfData.bitangentWS; |
|
|
|
float NdotV = saturate(dot(N, V)); |
|
|
|
float3 acc = float3(0.0, 0.0, 0.0); |
|
|
|
|
|
|
|
|
|
|
|
float3 tangentX, tangentY; |
|
|
|
GetLocalFrame(N, tangentX, tangentY); |
|
|
|
|
|
|
|
for (uint i = 0; i < sampleCount; ++i) |
|
|
|
{ |
|
|
|
|
|
|
uint sampleCount = 2048) |
|
|
|
{ |
|
|
|
float3 N = bsdfData.normalWS; |
|
|
|
float NdotV = saturate(dot(N, V)); |
|
|
|
float3 tangentX = bsdfData.tangentWS; |
|
|
|
float3 tangentY = bsdfData.bitangentWS; |
|
|
|
float NdotV = saturate(dot(N, V)); |
|
|
|
|
|
|
|
float3 tangentX, tangentY; |
|
|
|
GetLocalFrame(N, tangentX, tangentY); |
|
|
|
|
|
|
|
for (uint i = 0; i < sampleCount; ++i) |
|
|
|
{ |
|
|
|
|
|
|
*/ |
|
|
|
diffuseLighting = float3(0.0, 0.0, 0.0); |
|
|
|
|
|
|
|
weight = float2(0.0, 0.0); |
|
|
|
weight = float2(0.0, 1.0); |
|
|
|
|
|
|
|
#else |
|
|
|
// TODO: factor this code in common, so other material authoring don't require to rewrite everything, |
|
|
|