本文整理汇总了C++中Part::effect方法的典型用法代码示例。如果您正苦于以下问题:C++ Part::effect方法的具体用法?C++ Part::effect怎么用?C++ Part::effect使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Part
的用法示例。
在下文中一共展示了Part::effect方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: onInitialize
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool OverlayItems::onInitialize()
{
PartCompoundGenerator gen;
gen.setPartDistribution(Vec3i(5, 5, 5));
gen.setNumEffects(8);
gen.useRandomEffectAssignment(false);
gen.setExtent(Vec3f(3,3,3));
gen.setOrigin(Vec3f(-1.5f, -1.5f, -1.5f));
Collection<Part> parts;
gen.generateSpheres(20, 20, &parts);
m_model = new ModelBasicList;
cvf::ShaderSourceProvider::instance();
ShaderProgramGenerator spGen("SimpleHeadlight", cvf::ShaderSourceProvider::instance());
spGen.configureStandardHeadlightColor();
m_shaderProg = spGen.generate();
m_useShaders = false;
size_t i;
for (i = 0; i < parts.size(); i++)
{
Part* part = parts[i].p();
ref<Effect> eff = part->effect();
eff->setShaderProgram(m_useShaders ? m_shaderProg.p() : NULL);
m_model->addPart(parts[i].p());
}
m_model->updateBoundingBoxesRecursive();
m_renderSequence->firstRendering()->scene()->addModel(m_model.p());
//addOverlayItemsVariousTypes();
addOverlayItemsTestLayout();
BoundingBox bb = m_model->boundingBox();
if (bb.isValid())
{
m_camera->fitView(bb, Vec3d::Y_AXIS, Vec3d::Z_AXIS);
}
return true;
}