uniform float powBase;\r
uniform float powFactor;\r
\r
+uniform float translucencySampleVariances[6];\r
+uniform vec3 translucencySampleWeights[6];\r
+\r
void main()\r
{\r
vec3 norm = normalize(Normal);\r
//distanceToBackside = distance(Backside, LocalPos);\r
vec3 result = (ambient + diffuse + specular) * objectColor;\r
\r
- if (renderState == 3)\r
- if (distanceToBackside != 0)\r
- //result += objectColor * pow(powBase, -pow(distanceToBackside, 2)) * transmittanceScale * (1 - diff);\r
+ if (renderState == 3) {\r
+ if (distanceToBackside != 0) {\r
result += objectColor * pow(powBase, powFactor / pow(distanceToBackside, 0.6)) * transmittanceScale * (1 - diff);\r
+ // vec3 translucency = vec3(0);\r
+ // for (int i = 0; i < 6; i++) {\r
+ // translucency += objectColor * translucencySampleWeights[i] * exp(-pow(distanceToBackside, 2.0) / translucencySampleVariances[i]);\r
+ // }\r
+\r
+ // result += translucency * transmittanceScale;\r
+ }\r
+ }\r
+ //result += objectColor * pow(powBase, -pow(distanceToBackside, 2)) * transmittanceScale * (1 - diff);\r
// if (renderState == 3) {\r
// //result = Backside;\r
// //result = LocalPos;\r