void KX_BlenderMaterial::ActivateMat( RAS_IRasterizer* rasty, TCachingInfo& cachingInfo )const { KX_BlenderMaterial *tmp = const_cast<KX_BlenderMaterial*>(this); if (mLastShader) { mLastShader->SetProg(false); mLastShader= NULL; } if (mLastBlenderShader) { mLastBlenderShader->SetProg(false); mLastBlenderShader= NULL; } if (GetCachingInfo() != cachingInfo) { if (!cachingInfo) tmp->setTexData( false,rasty ); cachingInfo = GetCachingInfo(); if (rasty->GetDrawingMode() == RAS_IRasterizer::KX_TEXTURED) tmp->setTexData( true,rasty ); else if (rasty->GetDrawingMode() == RAS_IRasterizer::KX_SHADOW && mMaterial->alphablend != GEMAT_SOLID && !rasty->GetUsingOverrideShader()) tmp->setTexData(true, rasty); else tmp->setTexData( false,rasty); if (mMaterial->ras_mode &TWOSIDED) rasty->SetCullFace(false); else rasty->SetCullFace(true); if ((mMaterial->ras_mode &WIRE) || (rasty->GetDrawingMode() <= RAS_IRasterizer::KX_WIREFRAME)) { if (mMaterial->ras_mode &WIRE) rasty->SetCullFace(false); rasty->SetLines(true); } else rasty->SetLines(false); ActivatGLMaterials(rasty); ActivateTexGen(rasty); } //ActivatGLMaterials(rasty); //ActivateTexGen(rasty); }
void KX_BlenderMaterial::ActivatShaders( RAS_IRasterizer* rasty, TCachingInfo& cachingInfo)const { KX_BlenderMaterial *tmp = const_cast<KX_BlenderMaterial*>(this); // reset... if (tmp->mMaterial->IsShared()) cachingInfo =0; if (mLastBlenderShader) { mLastBlenderShader->SetProg(false); mLastBlenderShader= NULL; } if (GetCachingInfo() != cachingInfo) { if (!cachingInfo) tmp->setShaderData(false, rasty); cachingInfo = GetCachingInfo(); if (rasty->GetDrawingMode() == RAS_IRasterizer::KX_TEXTURED) tmp->setShaderData(true, rasty); else tmp->setShaderData(false, rasty); if (mMaterial->ras_mode &TWOSIDED) rasty->SetCullFace(false); else rasty->SetCullFace(true); if ((mMaterial->ras_mode &WIRE) || (rasty->GetDrawingMode() <= RAS_IRasterizer::KX_WIREFRAME)) { if (mMaterial->ras_mode &WIRE) rasty->SetCullFace(false); rasty->SetLines(true); } else rasty->SetLines(false); ActivatGLMaterials(rasty); ActivateTexGen(rasty); } //ActivatGLMaterials(rasty); //ActivateTexGen(rasty); }