void ShaderShadowMapEngine::updateLightPassMaterial(SSMEngineData *data) { if(data->getMFLightPassMaterials()->empty() == true) { MaterialChunkUnrecPtr newMatChunk = MaterialChunk::createLocal(); newMatChunk->setLit (false ); newMatChunk->setColorMaterial(GL_NONE); ColorMaskChunkUnrecPtr newCMaskChunk = ColorMaskChunk::create(); newCMaskChunk->setMaskR(false); newCMaskChunk->setMaskG(false); newCMaskChunk->setMaskB(false); newCMaskChunk->setMaskA(false); PolygonChunkUnrecPtr newPolyChunk = PolygonChunk::createLocal(); newPolyChunk->setOffsetFill (true ); newPolyChunk->setOffsetFactor(this->getOffsetFactor()); newPolyChunk->setOffsetBias (this->getOffsetBias ()); ChunkMaterialUnrecPtr newLightPassMat = ChunkMaterial::createLocal(); newLightPassMat->addChunk(newMatChunk ); newLightPassMat->addChunk(newCMaskChunk); newLightPassMat->addChunk(newPolyChunk ); data->editMFLightPassMaterials()->push_back(newLightPassMat); } }
MaterialUnrecPtr Graphics3DExtrude::createDefaultMaterial(void) { MaterialChunkUnrecPtr TheMaterialChunk = MaterialChunk::create(); TheMaterialChunk->setAmbient(Color4f(0.4,0.4,0.4,1.0)); TheMaterialChunk->setDiffuse(Color4f(0.8,0.8,0.8,1.0)); TheMaterialChunk->setSpecular(Color4f(0.85,0.85,0.85,1.0)); TheMaterialChunk->setEmission(Color4f(0.0,0.0,0.0,1.0)); TheMaterialChunk->setShininess(50.0); TheMaterialChunk->setLit(true); TheMaterialChunk->setColorMaterial(true); ChunkMaterialUnrecPtr TheMaterial = ChunkMaterial::create(); TheMaterial->addChunk(TheMaterialChunk); return TheMaterial; }