diff options
| author | Ptolemy <ptolemy@lindenlab.com> | 2022-06-28 11:11:40 -0700 | 
|---|---|---|
| committer | Ptolemy <ptolemy@lindenlab.com> | 2022-06-28 11:11:40 -0700 | 
| commit | 7fdb05d7ef449d2cc9b96c77c7bfa41bf7c15ede (patch) | |
| tree | 13209fe8b7cd0217353b1baf172390216dbcf9f6 | |
| parent | c90fb9b14c61a81c2cebfaa7d92c09d98bfd06da (diff) | |
SL-17274: PBR: Add occlusion
| -rw-r--r-- | indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl | 10 | 
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  | 
