Merge pull request #1428 from Azaezel/sgCleanups

clean up shadergen ambient handling
This commit is contained in:
Brian Roberts 2025-03-29 14:58:01 -05:00 committed by GitHub
commit 0546eae408
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 20 additions and 12 deletions

View file

@ -2212,9 +2212,13 @@ void RTLightingFeatGLSL::processPix( Vector<ShaderComponent*> &componentList,
Var *curColor = (Var*)LangElement::find(getOutputTargetVarName(ShaderFeature::DefaultTarget));
Var *ambient = new Var( "ambient", "vec4" );
ambient->uniform = true;
ambient->constSortPos = cspPass;
Var* ambient = (Var*)LangElement::find("ambient");
if (!ambient)
{
ambient = new Var("ambient", "vec4");
ambient->uniform = true;
ambient->constSortPos = cspPass;
}
Var* lighting = new Var("lighting", "vec4");
meta->addStatement(new GenOp(" @ = compute4Lights( @, @, @, @,\r\n"
@ -3091,9 +3095,9 @@ void ReflectionProbeFeatGLSL::processPix(Vector<ShaderComponent*>& componentList
Var *ambient = (Var *)LangElement::find("ambient");
if (!ambient)
{
ambient = new Var("ambient", "vec3");
eyePos->uniform = true;
eyePos->constSortPos = cspPass;
ambient = new Var("ambient", "vec4");
ambient->uniform = true;
ambient->constSortPos = cspPass;
}
meta->addStatement(new GenOp(" @.rgb *= @.rgb;\r\n", ibl, ambient));
meta->addStatement(new GenOp(" @.rgb = @.rgb;\r\n", curColor, ibl));

View file

@ -2284,9 +2284,13 @@ void RTLightingFeatHLSL::processPix( Vector<ShaderComponent*> &componentList,
Var *curColor = (Var*)LangElement::find(getOutputTargetVarName(ShaderFeature::DefaultTarget));
Var *ambient = new Var( "ambient", "float4" );
ambient->uniform = true;
ambient->constSortPos = cspPass;
Var* ambient = (Var*)LangElement::find("ambient");
if (!ambient)
{
ambient = new Var("ambient", "float4");
ambient->uniform = true;
ambient->constSortPos = cspPass;
}
Var* lighting = new Var("lighting", "float4");
meta->addStatement(new GenOp(" @ = compute4Lights( @, @, @, @,\r\n"
@ -3179,9 +3183,9 @@ void ReflectionProbeFeatHLSL::processPix(Vector<ShaderComponent*> &componentList
Var *ambient = (Var *)LangElement::find("ambient");
if (!ambient)
{
ambient = new Var("ambient","float3");
eyePos->uniform = true;
eyePos->constSortPos = cspPass;
ambient = new Var("ambient","float4");
ambient->uniform = true;
ambient->constSortPos = cspPass;
}
meta->addStatement(new GenOp(" @.rgb *= @.rgb;\r\n", ibl, ambient));
meta->addStatement(new GenOp(" @.rgb = @.rgb;\r\n", curColor, ibl));