diff options
| author | Ptolemy <ptolemy@lindenlab.com> | 2022-07-14 19:10:05 -0700 | 
|---|---|---|
| committer | Ptolemy <ptolemy@lindenlab.com> | 2022-07-14 19:10:05 -0700 | 
| commit | d05ccd74d44b595d02d6032c9ed2c0f9ff21f5f0 (patch) | |
| tree | dec38ba7fc6aba5afda311b5b7fb012a763809f8 /indra | |
| parent | 32efb52cd1d7b3f4907efb1b4f8dc151e8a1a5d0 (diff) | |
SL-17765: PBR: Add emissiveRect to class3 light shaders
Diffstat (limited to 'indra')
5 files changed, 21 insertions, 9 deletions
| diff --git a/indra/newview/app_settings/shaders/class3/deferred/multiPointLightF.glsl b/indra/newview/app_settings/shaders/class3/deferred/multiPointLightF.glsl index 5aec75ff3d..c33734c0bd 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/multiPointLightF.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/multiPointLightF.glsl @@ -36,6 +36,7 @@ out vec4 frag_color;  uniform sampler2DRect depthMap;  uniform sampler2DRect diffuseRect;  uniform sampler2DRect specularRect; +uniform sampler2DRect emissiveRect; // PBR linear packed Occlusion, Roughness, Metal. See: pbropaqueF.glsl  uniform sampler2D     noiseMap;  uniform sampler2D     lightFunc; @@ -82,8 +83,10 @@ void main()      if (GET_GBUFFER_FLAG(GBUFFER_FLAG_HAS_PBR))      { -        vec3 colorDiffuse = vec3(0); -        vec3 colorSpec    = vec3(0); +        vec3 colorDiffuse  = vec3(0); +        vec3 colorSpec     = vec3(0); +        vec3 colorEmissive = spec.rgb; // PBR sRGB Emissive.  See: pbropaqueF.glsl +        vec3 packedORM     = texture2DRect(emissiveRect, tc).rgb; // PBR linear packed Occlusion, Roughness, Metal. See: pbropaqueF.glsl          final_color = colorDiffuse + colorSpec;      } diff --git a/indra/newview/app_settings/shaders/class3/deferred/multiSpotLightF.glsl b/indra/newview/app_settings/shaders/class3/deferred/multiSpotLightF.glsl index f1b06fe1ad..d36ff995dd 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/multiSpotLightF.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/multiSpotLightF.glsl @@ -38,6 +38,7 @@ uniform sampler2DRect diffuseRect;  uniform sampler2DRect specularRect;  uniform sampler2DRect depthMap;  uniform sampler2DRect normalMap; +uniform sampler2DRect emissiveRect; // PBR linear packed Occlusion, Roughness, Metal. See: pbropaqueF.glsl  uniform samplerCube environmentMap;  uniform sampler2DRect lightMap;  uniform sampler2D noiseMap; @@ -190,8 +191,10 @@ void main()      if (GET_GBUFFER_FLAG(GBUFFER_FLAG_HAS_PBR))      { -        vec3 colorDiffuse = vec3(0); -        vec3 colorSpec    = vec3(0); +        vec3 colorDiffuse  = vec3(0); +        vec3 colorSpec     = vec3(0); +        vec3 colorEmissive = spec.rgb; // PBR sRGB Emissive.  See: pbropaqueF.glsl +        vec3 packedORM     = texture2DRect(emissiveRect, tc).rgb; // PBR linear packed Occlusion, Roughness, Metal. See: pbropaqueF.glsl          final_color = colorDiffuse + colorSpec;      } diff --git a/indra/newview/app_settings/shaders/class3/deferred/pointLightF.glsl b/indra/newview/app_settings/shaders/class3/deferred/pointLightF.glsl index 10d8c5e87f..9db906bc5a 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/pointLightF.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/pointLightF.glsl @@ -36,6 +36,7 @@ out vec4 frag_color;  uniform sampler2DRect diffuseRect;  uniform sampler2DRect specularRect;  uniform sampler2DRect normalMap; +uniform sampler2DRect emissiveRect; // PBR linear packed Occlusion, Roughness, Metal. See: pbropaqueF.glsl  uniform sampler2D noiseMap;  uniform sampler2D lightFunc;  uniform sampler2DRect depthMap; @@ -102,8 +103,10 @@ void main()      if (GET_GBUFFER_FLAG(GBUFFER_FLAG_HAS_PBR))      { -        vec3 colorDiffuse = vec3(0); -        vec3 colorSpec    = vec3(0); +        vec3 colorDiffuse  = vec3(0); +        vec3 colorSpec     = vec3(0); +        vec3 colorEmissive = spec.rgb; // PBR sRGB Emissive.  See: pbropaqueF.glsl +        vec3 packedORM     = texture2DRect(emissiveRect, tc).rgb; // PBR linear packed Occlusion, Roughness, Metal. See: pbropaqueF.glsl          final_color = colorDiffuse + colorSpec;      } diff --git a/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl b/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl index 906a1de951..3aef3ac8ba 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl @@ -106,7 +106,7 @@ out vec4 frag_color;  uniform sampler2DRect diffuseRect;  uniform sampler2DRect specularRect;  uniform sampler2DRect normalMap; -uniform sampler2DRect emissiveRect; +uniform sampler2DRect emissiveRect; // PBR linear packed Occlusion, Roughness, Metal. See: pbropaqueF.glsl  #if defined(HAS_SUN_SHADOW) || defined(HAS_SSAO)  uniform sampler2DRect lightMap; diff --git a/indra/newview/app_settings/shaders/class3/deferred/spotLightF.glsl b/indra/newview/app_settings/shaders/class3/deferred/spotLightF.glsl index 8768500682..e70a545a7b 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/spotLightF.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/spotLightF.glsl @@ -38,6 +38,7 @@ uniform sampler2DRect diffuseRect;  uniform sampler2DRect specularRect;  uniform sampler2DRect depthMap;  uniform sampler2DRect normalMap; +uniform sampler2DRect emissiveRect; // PBR linear packed Occlusion, Roughness, Metal. See: pbropaqueF.glsl  uniform samplerCube environmentMap;  uniform sampler2DRect lightMap;  uniform sampler2D noiseMap; @@ -180,8 +181,10 @@ void main()      if (GET_GBUFFER_FLAG(GBUFFER_FLAG_HAS_PBR))      { -        vec3 colorDiffuse = vec3(0); -        vec3 colorSpec    = vec3(0); +        vec3 colorDiffuse  = vec3(0); +        vec3 colorSpec     = vec3(0); +        vec3 colorEmissive = spec.rgb; // PBR sRGB Emissive.  See: pbropaqueF.glsl +        vec3 packedORM     = texture2DRect(emissiveRect, tc).rgb; // PBR linear packed Occlusion, Roughness, Metal. See: pbropaqueF.glsl          final_color = colorDiffuse + colorSpec;      } | 
