瀏覽代碼

revert some removals of vert to pixel shader getters to avoid register mismatches.

(cherry picked from commit 1e1e39f4f72ac6d4ce19704f69ba34bbff29d89c)
AzaezelX 2 年之前
父節點
當前提交
3f2113bf7d

+ 12 - 0
Engine/source/shaderGen/GLSL/shaderFeatureGLSL.cpp

@@ -2141,6 +2141,12 @@ void RTLightingFeatGLSL::processPix(   Vector<ShaderComponent*> &componentList,
   
    MultiLine *meta = new MultiLine;
 
+	// Now the wsPosition and wsView.
+   Var *wsPosition = getInWsPosition( componentList );
+   Var* worldToTangent = getInWorldToTangent(componentList);
+   Var* wsNormal = getInWorldNormal(componentList);
+   Var *wsView = getWsView( wsPosition, meta );
+
    // Look for a light mask generated from a previous
    // feature (this is done for BL terrain lightmaps).
    LangElement *lightMask = LangElement::find( "lightMask" );
@@ -2948,6 +2954,12 @@ void ReflectionProbeFeatGLSL::processPix(Vector<ShaderComponent*>& componentList
 
    MultiLine * meta = new MultiLine;
       
+   // Now the wsPosition and wsView.
+   Var *wsPosition = getInWsPosition(componentList);
+   Var *worldToTangent = getInWorldToTangent(componentList);
+   Var *wsNormal = getInWorldNormal(componentList);
+   Var *wsView = getWsView(wsPosition, meta);
+   
    //Reflection Probe WIP
    U32 MAX_FORWARD_PROBES = 4;
 

+ 11 - 0
Engine/source/shaderGen/HLSL/debugVizFeatureHLSL.cpp

@@ -122,6 +122,17 @@ void DebugVizHLSL::processPix(Vector<ShaderComponent*>& componentList,
       if (fd.features[MFT_LightMap] || fd.features[MFT_ToneMap] || fd.features[MFT_VertLit])
          return;
 
+      MultiLine* meta = new MultiLine;
+
+      // Now the wsPosition and wsView.
+      Var* worldToTangent = getInWorldToTangent(componentList);
+      Var* wsNormal = getInWorldNormal(componentList);
+      Var* wsPosition = getInWsPosition(componentList);
+      Var* wsView = getWsView(wsPosition, meta);
+
+      //Reflection Probe WIP
+      U32 MAX_FORWARD_PROBES = 4;
+
       Var* numProbes = (Var*)LangElement::find("inNumProbes");
       Var* cubeMips = (Var*)LangElement::find("cubeMips");
       Var* skylightCubemapIdx = (Var*)LangElement::find("inSkylightCubemapIdx");

+ 12 - 0
Engine/source/shaderGen/HLSL/shaderFeatureHLSL.cpp

@@ -2221,6 +2221,12 @@ void RTLightingFeatHLSL::processPix(   Vector<ShaderComponent*> &componentList,
 
    MultiLine *meta = new MultiLine;
       
+   // Now the wsPosition and wsView.
+   Var *wsPosition = getInWsPosition( componentList );
+   Var* worldToTangent = getInWorldToTangent(componentList);
+   Var* wsNormal = getInWorldNormal(componentList);   
+   Var *wsView = getWsView( wsPosition, meta );
+   
    // Look for a light mask generated from a previous
    // feature (this is done for BL terrain lightmaps).
    LangElement *lightMask = LangElement::find( "lightMask" );
@@ -3030,6 +3036,12 @@ void ReflectionProbeFeatHLSL::processPix(Vector<ShaderComponent*> &componentList
 
    MultiLine *meta = new MultiLine;
       
+   // Now the wsPosition and wsView.
+   Var* wsPosition = getInWsPosition(componentList);
+   Var* worldToTangent = getInWorldToTangent(componentList);
+   Var *wsNormal = getInWorldNormal(componentList);
+   Var *wsView = getWsView(wsPosition, meta);
+   
    //Reflection Probe WIP
    U32 MAX_FORWARD_PROBES = 4;
 

+ 6 - 0
Engine/source/terrain/glsl/terrFeatureGLSL.cpp

@@ -347,6 +347,8 @@ void TerrainBaseMapFeatGLSL::processPix(  Vector<ShaderComponent*> &componentLis
    meta->addStatement(new GenOp("   @ = float4(1.0f/255.0f, 1.0, 1.0, 0.0);\r\n", ormConfig));
 
    output = meta;
+
+   Var* viewToTangent = getInViewToTangent(componentList);
 }
 
 ShaderFeature::Resources TerrainBaseMapFeatGLSL::getResources( const MaterialFeatureData &fd )
@@ -542,6 +544,9 @@ void TerrainDetailMapFeatGLSL::processPix(   Vector<ShaderComponent*> &component
    // Get the detail id.
    Var *detailInfo = _getDetailIdStrengthParallax();
 
+   // This is done here to make sure the macro arrays are the correct size
+   Var* macroInfo = _getMacroIdStrengthParallax();
+
    // Create the detail blend var.
    Var *detailBlend = new Var;
    detailBlend->setType( "float" );
@@ -1319,6 +1324,7 @@ void TerrainHeightMapBlendGLSL::processPix(Vector<ShaderComponent*>& componentLi
    {
       for (S32 idx = 0; idx < detailCount; ++idx)
       {
+         Var* detailBlend = (Var*)LangElement::find(String::ToString("detailBlend%d", idx));
          Var* detailH = (Var*)LangElement::find(String::ToString("detailH%d", idx));
          Var* blendHardness = (Var*)LangElement::find(String::ToString("blendHardness%d", idx));
          if (!blendHardness)

+ 2 - 1
Engine/source/terrain/hlsl/terrFeatureHLSL.cpp

@@ -624,7 +624,7 @@ void TerrainDetailMapFeatHLSL::processPix(   Vector<ShaderComponent*> &component
    Var *detailInfo = _getDetailIdStrengthParallax();
 
    // Done here to keep array indexes aligned
-   _getMacroIdStrengthParallax();
+   Var* macroInfo = _getMacroIdStrengthParallax();
 
    // Create the detail blend var.
    Var *detailBlend = new Var;
@@ -1414,6 +1414,7 @@ void TerrainHeightMapBlendHLSL::processPix(Vector<ShaderComponent*>& componentLi
    {
       for (S32 idx = 0; idx < detailCount; ++idx)
       {
+         Var* detailBlend = (Var*)LangElement::find(String::ToString("detailBlend%d", idx));
          Var* detailH = (Var*)LangElement::find(String::ToString("detailH%d", idx));
          Var* blendHardness = (Var*)LangElement::find(String::ToString("blendHardness%d", idx));
          if (!blendHardness)