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

This commit is contained in:
Azaezel 2019-02-19 14:37:44 -06:00
parent bdcb1aaea6
commit 0f5fe527dd

View file

@ -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)