使用Ogre::ManualObject 绘制自定义图形

Posted For The Glory

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Ogre::ManualObject 绘制自定义图形相关的知识,希望对你有一定的参考价值。

在ogre中如果需要进行自定义图形绘制可以使用ManualObject。例如绘制一个三角形的用法如下:

SceneNode* pGridNode = m_pBaseNode->createChildSceneNode("gridNode");
        //创建ManualObject
        Ogre::ManualObject* grid = m_pSceneMgr->createManualObject("gird");
        //创建材质

        //使用ogre的自带材质
        grid->begin("BaseWhite",RenderOperation::OT_TRIANGLE_LIST);

        //顶点顺序默认为逆时针可见
        
        grid->position(100.0f,0,0);                //vertex1
        grid->colour(ColourValue(1,1,1,1));

        grid->position(0,173,0);
        grid->colour(ColourValue(1,1,1,1));        //vertex2
        
        grid->position(-100.0f,0,0);
        grid->colour(ColourValue(1,1,1,1));        //vertex3

        grid->end();

        pGridNode->attachObject(grid);

 其中Ogre自带三种内置材质:

DefaultSettings :默认材质
BaseWhite :基于光照的白色材质,事实上DefaultSettings的材质就是它
BaseWhiteNoLighting :基于无光照的白色材质

以上是关于使用Ogre::ManualObject 绘制自定义图形的主要内容,如果未能解决你的问题,请参考以下文章

plotly可视化绘制多子图(subplots)并自定义子图

使用集群自定义谷歌地图上的标记

绘制 UIButton/UIBarButtonItem 以使用父栏的 tintColor?

seaborn + matplotlib 画图(四): 自定义子图+拟合线

自定义安装字体未在 UILabel 中正确显示

自定义安装的字体未在 UILabel 中正确显示