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