fix the lights upload error in forward render
This commit is contained in:
@ -106,10 +106,10 @@ layout(location = 1) out vec4 o_BloomColor;
|
||||
uniform DirectionalLight u_DirectionalLights;
|
||||
|
||||
uniform int u_PointLightCount;
|
||||
uniform PointLight u_PointLights;
|
||||
uniform PointLight u_PointLights[8];
|
||||
|
||||
uniform int u_SpotLightCount;
|
||||
uniform SpotLight u_SpotLights;
|
||||
uniform SpotLight u_SpotLights[8];
|
||||
|
||||
|
||||
uniform vec3 u_CameraPosition;
|
||||
@ -441,11 +441,21 @@ void main()
|
||||
// directional light with with shadow
|
||||
vec3 lightContribution = u_DirectionalLights.Intensity > 0.0 ? Lighting(F0) * shadowFactor : vec3(0.0);
|
||||
|
||||
|
||||
if(u_PointLightCount > 0)
|
||||
lightContribution += ComputePointLight(u_PointLights, F0, m_Params, vs_Input.WorldPosition);
|
||||
{
|
||||
for( int i = 0; i < u_PointLightCount; i ++) {
|
||||
lightContribution += ComputePointLight(u_PointLights[i], F0, m_Params, vs_Input.WorldPosition);
|
||||
}
|
||||
}
|
||||
|
||||
if(u_SpotLightCount > 0)
|
||||
lightContribution += ComputeSpotLight(u_SpotLights, F0, m_Params, vs_Input.WorldPosition);
|
||||
{
|
||||
for(int i = 0; i < u_SpotLightCount; i ++)
|
||||
{
|
||||
lightContribution += ComputeSpotLight(u_SpotLights[i], F0, m_Params, vs_Input.WorldPosition);
|
||||
}
|
||||
}
|
||||
|
||||
vec3 iblContribution = IBL(F0, Lr) * u_IBLContribution;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user