瀏覽代碼

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

Azaezel 9 年之前
父節點
當前提交
702e63cb0c
共有 1 個文件被更改,包括 13 次插入0 次删除
  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;
 }