|
|
手工调整一个三角形,利用索引调整出两个三角形,三个顶点,在Ogre中实现。
这样我们就和一般的Direct3D或OpenGL接轨了,我们可以把基础的Direct3D知识运用到Ogre中。
- ManualObject* createTriangleMesh(Ogre::String name, Ogre::String matName)
- {
- ManualObject* cube = NULL;
- cube = new ManualObject(name);
- reclamp.push_back(cube);
- cube->begin(matName);
- cube->position(-3.0,-3.0, 1.0);cube->normal(1,1,1);cube->textureCoord(1,0);
- cube->position(0.0,3.0, 1.0);cube->normal(1,1,1);cube->textureCoord(0,1);
- cube->position(3.0,-3.0, 1.0);cube->normal(1,1,1);cube->textureCoord(1,1);
- // 相当于使用索引缓冲区
- cube->triangle(0,1,2); cube->triangle(2,1,0);
- cube->end();
- return cube;
- }
- //-----------------------------------------------------------------------------------
- void createScene()
- {
- // 显示正方形
- ManualObject* trispt = createTriangleMesh("Tri", "TextMat");
- mNode = mSceneMgr->getRootSceneNode()->createChildSceneNode();
- //mNode->attachObject(createCubeMesh("Cube", "myMaterial"));
- mNode->attachObject(trispt);
- }
复制代码
以上片段 演示了如何手工的处理一个三角形。 |
|