Răsfoiți Sursa

allow ambient light injection into ibl

AzaezelX 3 ani în urmă
părinte
comite
5be18a4638

+ 2 - 1
Templates/BaseGame/game/core/rendering/shaders/lighting/advanced/gl/reflectionProbeArrayP.glsl

@@ -12,6 +12,7 @@ uniform sampler2D colorBuffer;
 uniform sampler2D matInfoBuffer;
 uniform sampler2D BRDFTexture;
 
+uniform vec4 ambientColor;
 uniform vec4 rtParams0;
 uniform vec4 vsFarPlane;
 uniform mat4 cameraToWorld;
@@ -202,6 +203,6 @@ void main()
 #if CAPTURING == 1
    OUT_col = vec4(mix(surface.baseColor.rgb,(irradiance + specular* horizon) ,surface.metalness/2),0);
 #else
-   OUT_col = vec4((irradiance + specular* horizon) , 0);//alpha writes disabled
+   OUT_col = vec4((irradiance + specular* horizon)*ambientColor.rgb , 0);//alpha writes disabled
 #endif
 }

+ 2 - 2
Templates/BaseGame/game/core/rendering/shaders/lighting/advanced/reflectionProbeArrayP.hlsl

@@ -8,7 +8,7 @@ TORQUE_UNIFORM_SAMPLER2D(deferredBuffer, 0);
 TORQUE_UNIFORM_SAMPLER2D(colorBuffer, 1);
 TORQUE_UNIFORM_SAMPLER2D(matInfoBuffer, 2);
 TORQUE_UNIFORM_SAMPLER2D(BRDFTexture, 3);
-
+uniform float4 ambientColor;
 uniform float4 rtParams0;
 uniform float4 vsFarPlane;
 uniform float4x4 cameraToWorld;
@@ -190,6 +190,6 @@ float4 main(PFXVertToPix IN) : SV_TARGET
 #if CAPTURING == 1
     return float4(lerp(surface.baseColor.rgb,(irradiance + specular* horizon) ,surface.metalness/2),0);
 #else
-   return float4((irradiance + specular* horizon) , 0);//alpha writes disabled   
+   return float4((irradiance + specular* horizon)*ambientColor.rgb, 0);//alpha writes disabled   
 #endif
 }