|
@@ -22,7 +22,7 @@ struct ConvexConnectP
|
|
TORQUE_UNIFORM_SAMPLER2D(deferredBuffer, 0);
|
|
TORQUE_UNIFORM_SAMPLER2D(deferredBuffer, 0);
|
|
TORQUE_UNIFORM_SAMPLER2D(colorBuffer, 1);
|
|
TORQUE_UNIFORM_SAMPLER2D(colorBuffer, 1);
|
|
TORQUE_UNIFORM_SAMPLER2D(matInfoBuffer, 2);
|
|
TORQUE_UNIFORM_SAMPLER2D(matInfoBuffer, 2);
|
|
-TORQUE_UNIFORM_SAMPLER2D(BRDFTexture, 5);
|
|
|
|
|
|
+TORQUE_UNIFORM_SAMPLER2D(BRDFTexture, 3);
|
|
|
|
|
|
uniform float4 rtParams0;
|
|
uniform float4 rtParams0;
|
|
uniform float4 vsFarPlane;
|
|
uniform float4 vsFarPlane;
|
|
@@ -34,8 +34,8 @@ uniform float cubeMips;
|
|
#define MAX_PROBES 50
|
|
#define MAX_PROBES 50
|
|
|
|
|
|
uniform float numProbes;
|
|
uniform float numProbes;
|
|
-TORQUE_UNIFORM_SAMPLERCUBEARRAY(cubeMap, 3);
|
|
|
|
-TORQUE_UNIFORM_SAMPLERCUBEARRAY(irradianceCubemap, 4);
|
|
|
|
|
|
+TORQUE_UNIFORM_SAMPLERCUBEARRAY(cubeMap, 4);
|
|
|
|
+TORQUE_UNIFORM_SAMPLERCUBEARRAY(irradianceCubemap, 5);
|
|
uniform float3 inProbePosArray[MAX_PROBES];
|
|
uniform float3 inProbePosArray[MAX_PROBES];
|
|
uniform float4x4 worldToObjArray[MAX_PROBES];
|
|
uniform float4x4 worldToObjArray[MAX_PROBES];
|
|
uniform float3 bbMinArray[MAX_PROBES];
|
|
uniform float3 bbMinArray[MAX_PROBES];
|
|
@@ -65,7 +65,8 @@ float3 iblBoxDiffuse( Surface surface, int id)
|
|
{
|
|
{
|
|
float3 cubeN = boxProject(surface.P, surface.N, inProbePosArray[id], bbMinArray[id], bbMaxArray[id]);
|
|
float3 cubeN = boxProject(surface.P, surface.N, inProbePosArray[id], bbMinArray[id], bbMaxArray[id]);
|
|
cubeN.z *=-1;
|
|
cubeN.z *=-1;
|
|
- return TORQUE_TEXCUBEARRAYLOD(irradianceCubemap,cubeN,id,0).xyz;
|
|
|
|
|
|
+ //return TORQUE_TEXCUBEARRAYLOD(irradianceCubemap,cubeN,id,0).xyz;
|
|
|
|
+ return float3(1,1,1);
|
|
}
|
|
}
|
|
|
|
|
|
float3 iblBoxSpecular(Surface surface, float3 surfToEye, TORQUE_SAMPLER2D(brdfTexture), int id)
|
|
float3 iblBoxSpecular(Surface surface, float3 surfToEye, TORQUE_SAMPLER2D(brdfTexture), int id)
|
|
@@ -81,7 +82,8 @@ float3 iblBoxSpecular(Surface surface, float3 surfToEye, TORQUE_SAMPLER2D(brdfTe
|
|
float3 cubeR = normalize(r);
|
|
float3 cubeR = normalize(r);
|
|
cubeR = boxProject(surface.P, surface.N, inProbePosArray[id], bbMinArray[id], bbMaxArray[id]);
|
|
cubeR = boxProject(surface.P, surface.N, inProbePosArray[id], bbMinArray[id], bbMaxArray[id]);
|
|
|
|
|
|
- float3 radiance = TORQUE_TEXCUBEARRAYLOD(cubeMap,cubeR,lod,id).xyz * (brdf.x + brdf.y);
|
|
|
|
|
|
+ //float3 radiance = TORQUE_TEXCUBEARRAYLOD(cubeMap,cubeR,id,lod).xyz * (brdf.x + brdf.y);
|
|
|
|
+ float3 radiance = float3(1,1,1);
|
|
|
|
|
|
return radiance;
|
|
return radiance;
|
|
}
|
|
}
|
|
@@ -148,7 +150,7 @@ float4 main( ConvexConnectP IN ) : SV_TARGET
|
|
blendVal[i] = max(0,blendVal[i]);
|
|
blendVal[i] = max(0,blendVal[i]);
|
|
}
|
|
}
|
|
blendSum += blendVal[i];
|
|
blendSum += blendVal[i];
|
|
- invBlendSum +=(1.0f - blendVal[i]);
|
|
|
|
|
|
+ invBlendSum +=(1.0f - blendVal[i]);
|
|
}
|
|
}
|
|
|
|
|
|
// Weight0 = normalized NDF, inverted to have 1 at center, 0 at boundary.
|
|
// Weight0 = normalized NDF, inverted to have 1 at center, 0 at boundary.
|