Explorar o código

Merge pull request #1238 from Azaezel/defaultNormal

https://github.com/GarageGames/Torque3D/issues/770 resolution
Luis Anton Rebollo %!s(int64=10) %!d(string=hai) anos
pai
achega
7e7025d1ca

+ 6 - 0
Engine/source/lighting/advanced/glsl/gBufferConditionerGLSL.cpp

@@ -92,6 +92,12 @@ void GBufferConditionerGLSL::processVert( Vector<ShaderComponent*> &componentLis
 
    // grab incoming vert normal
    Var *inNormal = (Var*) LangElement::find( "normal" );
+   if (!inNormal)
+   {
+      inNormal = new Var("normal", "vec3");
+      meta->addStatement(new GenOp("   @ = vec3( 0.0, 0.0, 1.0 );\r\n", new DecOp(inNormal)));
+      Con::errorf("ShagerGen: Something went bad with ShaderGen. The normal should be already defined.");
+   }
    AssertFatal( inNormal, "Something went bad with ShaderGen. The normal should be already defined." );
 
    // grab output for gbuffer normal

+ 6 - 0
Engine/source/lighting/advanced/hlsl/gBufferConditionerHLSL.cpp

@@ -92,6 +92,12 @@ void GBufferConditionerHLSL::processVert( Vector<ShaderComponent*> &componentLis
 
    // grab incoming vert normal
    Var *inNormal = (Var*) LangElement::find( "normal" );
+   if (!inNormal)
+   {
+      inNormal = new Var("normal", "float3");
+      meta->addStatement(new GenOp("   @ = float3( 0.0, 0.0, 1.0 );\r\n", new DecOp(inNormal)));
+      Con::errorf("ShagerGen: Something went bad with ShaderGen. The normal should be already defined.");
+   }
    AssertFatal( inNormal, "Something went bad with ShaderGen. The normal should be already defined." );
 
    // grab output for gbuffer normal