//! output the instance for debug purposes void DVRVolume::dump( UInt32 uiIndent, const BitVector ) const { DVRVolumePtr thisP(*this); thisP.dump(uiIndent, FCDumpFlags::RefCount); indentLog(uiIndent, PLOG); PLOG << "DVRVolume at " << this << std::endl; indentLog(uiIndent, PLOG); PLOG << "\trenderMaterial: " << getRenderMaterial() << std::endl; if (getRenderMaterial() != NullFC) getRenderMaterial()->dump(uiIndent); indentLog(uiIndent, PLOG); PLOG << "\ttextureStorage: " << getTextureStorage() << std::endl; if (getTextureStorage() != NullFC) getTextureStorage()->dump(uiIndent); #if 0 indentLog(uiIndent, PLOG); PLOG << "\tambient: " << getAmbient() << endl; indentLog(uiIndent, PLOG); PLOG << "\tdiffuse: " << getDiffuse() << endl; indentLog(uiIndent, PLOG); PLOG << "\tspecular: " << getSpecular() << endl; indentLog(uiIndent, PLOG); PLOG << "\tshininess: " << getShininess() << endl; indentLog(uiIndent, PLOG); PLOG << "\temission: " << getEmission() << endl; indentLog(uiIndent, PLOG); PLOG << "\ttransparency: " << getTransparency() << endl; indentLog(uiIndent, PLOG); PLOG << "\tlit: " << getLit() << endl; indentLog(uiIndent, PLOG); PLOG << "\tChunks: " << endl; for(MFStateChunkPtr::const_iterator i = _mfChunks.begin(); i != _mfChunks.end(); i++) { indentLog(uiIndent, PLOG); PLOG << "\t" << *i << endl; } #endif indentLog(uiIndent, PLOG); PLOG << "DVRVolume end " << this << std::endl; }
StatePtr PhongMaterial::makeState(void) { StatePtr state = State::create(); prepareLocalChunks(); Color3f v3; Color4f v4; float alpha = 1.f - getTransparency(); prepareLocalChunks(); beginEditCP(_materialChunk); v3 = getAmbient(); v4.setValuesRGBA(v3[0], v3[1], v3[2], alpha); _materialChunk->setAmbient(v4); v3 = getDiffuse(); v4.setValuesRGBA(v3[0], v3[1], v3[2], alpha); _materialChunk->setDiffuse(v4); v3 = getSpecular(); v4.setValuesRGBA(v3[0], v3[1], v3[2], alpha); _materialChunk->setSpecular(v4); _materialChunk->setShininess(getShininess()); v3 = getEmission(); v4.setValuesRGBA(v3[0], v3[1], v3[2], alpha); _materialChunk->setEmission(v4); _materialChunk->setLit(getLit()); _materialChunk->setColorMaterial(getColorMaterial()); endEditCP (_materialChunk); state->addChunk(_materialChunk); if(isTransparent()) state->addChunk(_blendChunk); if(_vpChunk != NullFC) state->addChunk(_vpChunk); createFragmentProgram(); if(_fpChunk != NullFC) state->addChunk(_fpChunk); for(MFStateChunkPtr::iterator i = _mfChunks.begin(); i != _mfChunks.end(); ++i) { state->addChunk(*i); } return state; }