本文整理汇总了C++中ogre::SceneManager::createStaticGeometry方法的典型用法代码示例。如果您正苦于以下问题:C++ SceneManager::createStaticGeometry方法的具体用法?C++ SceneManager::createStaticGeometry怎么用?C++ SceneManager::createStaticGeometry使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ogre::SceneManager
的用法示例。
在下文中一共展示了SceneManager::createStaticGeometry方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: operator
bool operator()()
{
Ogre::SceneManager* sm = GraphicsManager::get().sceneManager();
Ogre::Entity* entity = sm->createEntity(
Ogre::StringConverter::toString(component->localId()),
fileName);
Ogre::StaticGeometry* sg = sm->createStaticGeometry(
Ogre::StringConverter::toString(component->localId()));
sg->addEntity(
entity,
positionComponent->sceneNode()->getPosition() + offset,
positionComponent->sceneNode()->getOrientation() *
offsetRotation);
sg->build();
component->m_entity = entity;
component->m_staticGeometry = sg;
ThreadPool::get().schedule(boost::bind(
&ComponentContainer::componentAttachedCallback,
component->parent(), component));
return true;
}
示例2: createStaticBatches
void gkGameObjectGroup::createStaticBatches(gkScene* scene)
{
Ogre::SceneManager* mgr = scene->getManager();
if (m_geometry)
mgr->destroyStaticGeometry(m_geometry);
m_geometry = 0;
// Span all instances.
gkResourceManager::ResourceIterator it = m_instanceManager->getResourceIterator();
while (it.hasMoreElements())
{
gkGameObjectInstance* inst = static_cast<gkGameObjectInstance*>(it.getNext().second);
if (!inst->isInstanced() || !(inst->getLayer() & scene->getLayer()) || inst->getRoot()->getOwner()!=scene)
continue;
gkGameObjectInstance::Objects::Iterator instIt = inst->getObjects().iterator();
while (instIt.hasMoreElements())
{
gkGameObject* obj = instIt.getNext().second;
obj->createInstance();
if (obj->getType() == GK_ENTITY)
{
const gkGameObjectProperties& props = obj->getProperties();
if (!props.isPhysicsObject())
{
gkEntity* ent = obj->getEntity();
if (!m_geometry)
m_geometry = mgr->createStaticGeometry(m_name.getName());
m_geometry->addEntity(ent->getEntity(),
obj->getWorldPosition(),
obj->getWorldOrientation(),
obj->getWorldScale());
// no longer needed
ent->_destroyAsStaticGeometry();
}
}
}
}
if (m_geometry)
{
m_geometry->build();
m_geometry->setCastShadows(false);
}
}