Parcourir la source

sample surface roughness for diffuse return. 0 means sharpest possible result

Azaezel il y a 6 ans
Parent
commit
0f5fe527dd

+ 1 - 1
Templates/Full/game/shaders/common/lighting/advanced/reflectionProbeArrayP.hlsl

@@ -56,7 +56,7 @@ float3 boxProject(float3 wsPosition, float3 wsEyeRay, float3 reflectDir, float3
 float3 iblBoxDiffuse( Surface surface, int id)
 {
    float3 cubeN = boxProject(surface.P, surface.V, surface.R, inRefPosArray[id].xyz, bbMinArray[id].xyz, bbMaxArray[id].xyz);
-   return TORQUE_TEXCUBEARRAYLOD(irradianceCubemapAR,cubeN,id,0).xyz;
+   return TORQUE_TEXCUBEARRAYLOD(irradianceCubemapAR,cubeN,id,surface.roughness*cubeMips).xyz;
 }
 
 float3 iblBoxSpecular(Surface surface, TORQUE_SAMPLER2D(brdfTexture), int id)