Explorar el Código

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

Azaezel hace 9 años
padre
commit
702e63cb0c
Se han modificado 1 ficheros con 13 adiciones y 0 borrados
  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;
 }