本文整理汇总了C++中MaterialManager::GetMaterial方法的典型用法代码示例。如果您正苦于以下问题:C++ MaterialManager::GetMaterial方法的具体用法?C++ MaterialManager::GetMaterial怎么用?C++ MaterialManager::GetMaterial使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MaterialManager
的用法示例。
在下文中一共展示了MaterialManager::GetMaterial方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: LoadGeometry
Geometry* SceneLoader::LoadGeometry(QDomElement element)
{
Geometry* geom = GeometryPool::Get()->GetGeometry(_geometryName, _geometryIdx);
if (geom)
{
return geom;
}
if (element.nodeName() != QString ("geometry"))
{
printf ("ceXMLDataLoader::LoadGeometry: Illegal data format: '%s' != 'geometry'\n", element.nodeName().toStdString().c_str()); fflush (stdout);
return 0;
}
geom = new Geometry ();
QDomElement staticElement = element.firstChildElement("staticmesh");
if (!staticElement.isNull())
{
ceMesh* mesh = LoadMesh (staticElement);
if (!mesh)
{
geom->Release();
return 0;
}
iStaticMesh* staticMesh = _engine->GetDevice()->CreateStaticMesh();
staticMesh->SetMesh(mesh);
geom->SetMesh(staticMesh);
geom->SetMetaMesh(MT_Static,
staticElement.firstChildElement("mesh").attribute("filename"));
}
MaterialManager* matMgr = Session::Get()->GetMaterialManager();
QDomElement materialElement = element.firstChildElement("material");
Material* mat = 0;
if (!materialElement.isNull())
{
mat = matMgr->GetMaterial(materialElement.text());
}
if (!mat)
{
mat = matMgr->GetDefaultMaterial();
}
geom->SetMetaMaterial(mat);
GeometryPool::Get()->Set(_geometryName, _geometryIdx, geom);
return geom;
}