mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-15 08:34:40 +00:00
Merge pull request #423 from tdev/material-ptrs
fixed pointer problems and guard in material files
This commit is contained in:
commit
824944d7b5
3 changed files with 5 additions and 5 deletions
|
|
@ -242,7 +242,7 @@ void MatInstance::construct()
|
||||||
{
|
{
|
||||||
mUserObject = NULL;
|
mUserObject = NULL;
|
||||||
mCurPass = -1;
|
mCurPass = -1;
|
||||||
mProcessedMaterial = false;
|
mProcessedMaterial = NULL;
|
||||||
mVertexFormat = NULL;
|
mVertexFormat = NULL;
|
||||||
mMaxStages = 1;
|
mMaxStages = 1;
|
||||||
mActiveParameters = NULL;
|
mActiveParameters = NULL;
|
||||||
|
|
|
||||||
|
|
@ -217,13 +217,13 @@ void ProcessedMaterial::_initPassStateBlock( RenderPassData *rpd, GFXStateBlockD
|
||||||
_setBlendState( rpd->mBlendOp, result );
|
_setBlendState( rpd->mBlendOp, result );
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mMaterial->isDoubleSided())
|
if (mMaterial && mMaterial->isDoubleSided())
|
||||||
{
|
{
|
||||||
result.cullDefined = true;
|
result.cullDefined = true;
|
||||||
result.cullMode = GFXCullNone;
|
result.cullMode = GFXCullNone;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(mMaterial->mAlphaTest)
|
if(mMaterial && mMaterial->mAlphaTest)
|
||||||
{
|
{
|
||||||
result.alphaDefined = true;
|
result.alphaDefined = true;
|
||||||
result.alphaTestEnable = mMaterial->mAlphaTest;
|
result.alphaTestEnable = mMaterial->mAlphaTest;
|
||||||
|
|
@ -235,7 +235,7 @@ void ProcessedMaterial::_initPassStateBlock( RenderPassData *rpd, GFXStateBlockD
|
||||||
NamedTexTarget *texTarget;
|
NamedTexTarget *texTarget;
|
||||||
|
|
||||||
U32 maxAnisotropy = 1;
|
U32 maxAnisotropy = 1;
|
||||||
if ( mMaterial->mUseAnisotropic[ rpd->mStageNum ] )
|
if (mMaterial && mMaterial->mUseAnisotropic[ rpd->mStageNum ] )
|
||||||
maxAnisotropy = MATMGR->getDefaultAnisotropy();
|
maxAnisotropy = MATMGR->getDefaultAnisotropy();
|
||||||
|
|
||||||
for( U32 i=0; i < rpd->mNumTex; i++ )
|
for( U32 i=0; i < rpd->mNumTex; i++ )
|
||||||
|
|
|
||||||
|
|
@ -1256,7 +1256,7 @@ MaterialParameterHandle* ProcessedShaderMaterial::getMaterialParameterHandle(con
|
||||||
/// This is here to deal with the differences between ProcessedCustomMaterials and ProcessedShaderMaterials.
|
/// This is here to deal with the differences between ProcessedCustomMaterials and ProcessedShaderMaterials.
|
||||||
GFXShaderConstBuffer* ProcessedShaderMaterial::_getShaderConstBuffer( const U32 pass )
|
GFXShaderConstBuffer* ProcessedShaderMaterial::_getShaderConstBuffer( const U32 pass )
|
||||||
{
|
{
|
||||||
if (pass < mPasses.size())
|
if (mCurrentParams && pass < mPasses.size())
|
||||||
{
|
{
|
||||||
return static_cast<ShaderMaterialParameters*>(mCurrentParams)->getBuffer(pass);
|
return static_cast<ShaderMaterialParameters*>(mCurrentParams)->getBuffer(pass);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue