]> gitweb.ps.run Git - subsurface_scattering/blobdiff - shaders/frag_irradiance.glsl
pre cleanup
[subsurface_scattering] / shaders / frag_irradiance.glsl
index 497bdf07adc643c2bdcaebda5989ff38ffa21e63..1bcbc993123d258954a05e89e8798da32772816a 100644 (file)
@@ -17,6 +17,9 @@ uniform int renderState;
 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
@@ -39,10 +42,18 @@ void main()
   //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