本文整理汇总了C++中osg::Group::getVideoDriver方法的典型用法代码示例。如果您正苦于以下问题:C++ Group::getVideoDriver方法的具体用法?C++ Group::getVideoDriver怎么用?C++ Group::getVideoDriver使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类osg::Group
的用法示例。
在下文中一共展示了Group::getVideoDriver方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnCharacterCreate
void OSGSmartBodyListener::OnCharacterCreate( const std::string & name, const std::string & objectClass )
{
#if 0
std::stringstream strstr;
strstr << "../irrlicht-1.8.1/media/" << objectClass<< ".mesh";
std::cout << "Getting mesh " << strstr.str() << std::endl;
irr::scene::ISkinnedMesh* skinnedMesh = (irr::scene::ISkinnedMesh*)mSceneMgr->getMesh(strstr.str().c_str());
if (!skinnedMesh)
{
LOG("Cannot find mesh named '%s", objectClass.c_str());
return;
}
irr::scene::IAnimatedMeshSceneNode* node = mSceneMgr->addAnimatedMeshSceneNode( skinnedMesh, NULL, id );
//must set to allow manual joint control
node->setJointMode(irr::scene::EJUOR_CONTROL);
irr::scene::IAnimatedMesh* animMesh = node->getMesh();
irr::scene::E_ANIMATED_MESH_TYPE type = animMesh->getMeshType();
irr::core::array<irr::scene::ISkinnedMesh::SJoint*> jointssss = skinnedMesh->getAllJoints();
for(irr::u32 i = 1; i < jointssss.size(); i++)
{
//Clear all joint animation keys - model takes less space on disk
jointssss[i]->PositionKeys.clear();
jointssss[i]->RotationKeys.clear();
jointssss[i]->ScaleKeys.clear();
}
(*map)[name] = id;
id++;
//set texture
std::string textures[9];
textures[0] = "../irrlicht-1.8.1/media/sinbad_body.tga";
textures[1] = "../irrlicht-1.8.1/media/sinbad_body.tga";
textures[2] = "../irrlicht-1.8.1/media/sinbad_clothes.tga";
textures[3] = "../irrlicht-1.8.1/media/sinbad_body.tga";
textures[4] = "../irrlicht-1.8.1/media/sinbad_sword.tga";
textures[5] = "../irrlicht-1.8.1/media/sinbad_clothes.tga";
textures[6] = "../irrlicht-1.8.1/media/sinbad_clothes.tga";
textures[7] = "../irrlicht-1.8.1/media/sinbad_clothes.tga";
textures[8] = "../irrlicht-1.8.1/media/irrlicht2_dn.jpg";
node->getMaterial(8).setTexture(0,mSceneMgr->getVideoDriver()->getTexture("../irrlicht-1.8.1/media/irrlicht2_dn.jpg"));
for (int t = 0; t < 8; t++)
{
std::cout << "Attempting to retrieve " << textures[t] << std::endl;
node->getMaterial(t).setTexture(0,mSceneMgr->getVideoDriver()->getTexture(textures[t].c_str()));
}
node->setPosition(irr::core::vector3df(0,-80,0));
node->addShadowVolumeSceneNode();
//mSceneMgr->setShadowColor(irr::video::SColor(150,0,0,0));
node->setScale(irr::core::vector3df(10,10,10));
node->setMaterialFlag(irr::video::EMF_NORMALIZE_NORMALS , true);
#endif
}