summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl10
1 files changed, 9 insertions, 1 deletions
diff --git a/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl b/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl
index c97a09ab1d..ff2b87b9df 100644
--- a/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl
+++ b/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl
@@ -33,6 +33,7 @@
#define DEBUG_PBR_IRRADIANCE 0 // Output: Diffuse Irradiance
#define DEBUG_PBR_DIFFUSE 0 // Output: Radiance Lambertian
#define DEBUG_PBR_ORM 0 // Output: Packed Occlusion Roughness Metal
+#define DEBUG_PBR_OCCLUSION 0 // Output: Occlusion map
#define DEBUG_PBR_ROUGH_PERCEPTUAL 0 // Output: grayscale Perceptual Roughenss
#define DEBUG_PBR_ROUGH_ALPHA 0 // Output: grayscale Alpha Roughness
#define DEBUG_PBR_METAL 0 // Output: grayscale metal
@@ -277,7 +278,11 @@ void main()
vec3 kDiffuse = colorDiffuse * (1.0 - FssEssLambert + FmsEms);
colorDiffuse += (FmsEms + kDiffuse) * irradiance;
- color.rgb = colorDiffuse + colorEmissive + colorSpec;
+ float occlusion_strength = 1.0; // TODO: From glb
+ float ao = packedORM.r;
+ colorDiffuse = mix(colorDiffuse, colorDiffuse * ao, occlusion_strength);
+
+ color.rgb = colorDiffuse + colorEmissive + colorSpec;
#if DEBUG_PBR_BRDF_UV
color.rgb = vec3(brdfPoint,0.0);
@@ -336,6 +341,9 @@ void main()
#if DEBUG_PBR_SPEC_REFLECTION
color.rgb = specLight;
#endif
+ #if DEBUG_PBR_OCCLUSION
+ color.rgb = vec3(packedORM.r);
+ #endif
#if DEBUG_PBR_ORM
color.rgb = packedORM;
#endif