Pārlūkot izejas kodu

puts forward-lit #targetname assignment of faux diffuse maps back

Azaezel 9 gadi atpakaļ
vecāks
revīzija
702e63cb0c
1 mainītis faili ar 13 papildinājumiem un 0 dzēšanām
  1. 13 0
      Engine/source/materials/processedShaderMaterial.cpp

+ 13 - 0
Engine/source/materials/processedShaderMaterial.cpp

@@ -211,6 +211,19 @@ bool ProcessedShaderMaterial::init( const FeatureSet &features,
       mInstancingState = new InstancingState();
       mInstancingState->setFormat( _getRPD( 0 )->shader->getInstancingFormat(), mVertexFormat );
    }
+   if (mMaterial && mMaterial->mDiffuseMapFilename[0].isNotEmpty() && mMaterial->mDiffuseMapFilename[0].substr(0, 1).equal("#"))
+   {
+      String texTargetBufferName = mMaterial->mDiffuseMapFilename[0].substr(1, mMaterial->mDiffuseMapFilename[0].length() - 1);
+      NamedTexTarget *texTarget = NamedTexTarget::find(texTargetBufferName);
+      RenderPassData* rpd = getPass(0);
+
+      if (rpd)
+      {
+         rpd->mTexSlot[0].texTarget = texTarget;
+         rpd->mTexType[0] = Material::TexTarget;
+         rpd->mSamplerNames[0] = "diffuseMap";
+      }
+   }
    return true;
 }