本文整理汇总了C++中IVideoDriver::drawMeshBuffer方法的典型用法代码示例。如果您正苦于以下问题:C++ IVideoDriver::drawMeshBuffer方法的具体用法?C++ IVideoDriver::drawMeshBuffer怎么用?C++ IVideoDriver::drawMeshBuffer使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IVideoDriver
的用法示例。
在下文中一共展示了IVideoDriver::drawMeshBuffer方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: render
// render
// irr scenenode impl
void CGameGrassSceneNode::render()
{
ISceneManager *smgr = getSceneManager();
IVideoDriver *driver = smgr->getVideoDriver();
#ifdef GSEDITOR
CGameObject::EObjectState state = m_owner->getObjectState();
// draw bbox on select
if (
state == CGameObject::Move ||
state == CGameObject::Review
)
setDebugDataVisible( EDS_BBOX );
else
setDebugDataVisible( 0 );
// call object draw
m_owner->drawObject();
#endif
// set world transform
driver->setTransform( video::ETS_WORLD, getAbsoluteTransformation());
// set current material with config shader
driver->setMaterial( m_Material);
// draw mesh with grass shader
int meshCount = m_mesh->getMeshBufferCount();
for ( int i = 0; i < meshCount; i++ )
driver->drawMeshBuffer(m_mesh->getMeshBuffer(i));
// draw bouding box
if ( DebugDataVisible & scene::EDS_BBOX )
{
driver->setTransform(video::ETS_WORLD, core::IdentityMatrix);
video::SMaterial deb_m;
deb_m.Lighting = false;
driver->setMaterial(deb_m);
core::aabbox3d<f32> tbox = m_mesh->getBoundingBox();
getAbsoluteTransformation().transformBoxEx(tbox);
driver->draw3DBox( tbox, video::SColor(255,255,255,255));
}
#ifdef GSEDITOR
// draw move
if (
state == CGameObject::Move ||
state == CGameObject::Rotation ||
state == CGameObject::Scale
)
m_owner->drawFrontUpLeftVector();
if ( state == CGameObject::Rotation )
m_owner->drawCircleAroundObject();
#endif
}