Ogre手动绘制模型以及添加材质
2013-01-22 22:03
288 查看
1.用Ogre来绘制一个立方体
2.在上个立方体的基础上加上6个贴图
ManualObject* cube; cube = mSceneMgr->createManualObject("cube"); cube->begin("cubeMaterial"); // 顶点 cube->position( -100, -100, -100); //0 cube->colour(0.0, 0.0, 0.0); cube->position( 100, -100, -100); //1 cube->colour(1.0, 0.0, 0.0); cube->position( 100, -100, 100); //2 cube->colour(1.0, 0.0, 1.0); cube->position( -100, -100, 100); //3 cube->colour(0.0, 0.0, 1.0); cube->position( -100, 100, -100); //4 cube->colour(0.0, 1.0, 0.0); cube->position( 100, 100, -100); //5 cube->colour(1.0, 1.0, 0.0); cube->position( 100, 100, 100); //6 cube->colour(1.0, 1.0, 1.0); cube->position( -100, 100, 100); //7 cube->colour(0.0, 1.0, 1.0); //// 索引 cube->triangle(0, 2, 1); cube->triangle(0, 2, 3); cube->triangle(3, 4, 0); cube->triangle(3, 7, 4); cube->triangle(4, 7, 6); cube->triangle(4, 6, 5); cube->triangle(5, 2, 1); cube->triangle(5, 6, 2); cube->triangle(0, 4, 1); cube->triangle(5, 1, 4); cube->triangle(3, 6, 7); cube->triangle(3, 2, 6); cube->end(); SceneNode* sn = mSceneMgr->getRootSceneNode()->createChildSceneNode(); sn->attachObject(cube);
2.在上个立方体的基础上加上6个贴图
// 创建六个纹理 MaterialPtr material = MaterialManager::getSingletonPtr()->create("q", "General"); material->getTechnique(0)->getPass(0)->createTextureUnitState("q.jpg"); material = MaterialManager::getSingletonPtr()->create("a", "General"); material->getTechnique(0)->getPass(0)->createTextureUnitState("a.jpg"); material = MaterialManager::getSingletonPtr()->create("z", "General"); material->getTechnique(0)->getPass(0)->createTextureUnitState("z.jpg"); material = MaterialManager::getSingletonPtr()->create("x", "General"); material->getTechnique(0)->getPass(0)->createTextureUnitState("x.jpg"); material = MaterialManager::getSingletonPtr()->create("s", "General"); material->getTechnique(0)->getPass(0)->createTextureUnitState("s.jpg"); material = MaterialManager::getSingletonPtr()->create("w", "General"); material->getTechnique(0)->getPass(0)->createTextureUnitState("w.jpg"); ManualObject* cube; cube = mSceneMgr->createManualObject("cube"); /// 下面, begin的第一个参数为要设置的材质名称 cube->begin("q", RenderOperation::OT_TRIANGLE_FAN); cube->position( -100, -100, -100); //0 cube->textureCoord(1, 0); cube->position( 100, -100, -100); //1 cube->textureCoord(0, 0); cube->position( 100, -100, 100); //2 cube->textureCoord(0, 1); cube->position( -100, -100, 100); //3 cube->textureCoord(1, 1); cube->end(); /// 左面 cube->begin("a", RenderOperation::OT_TRIANGLE_FAN); cube->position( -100, -100, 100); //3 cube->textureCoord(1, 0); cube->position( -100, 100, 100); //7 cube->textureCoord(0, 0); cube->position( -100, 100, -100); //4 cube->textureCoord(0, 1); cube->position( -100, -100, -100); //0 cube->textureCoord(1, 1); cube->end(); /// 上面 cube->begin("z", RenderOperation::OT_TRIANGLE_FAN); cube->position( -100, 100, -100); //4 cube->textureCoord(1, 0); cube->position( -100, 100, 100); //7 cube->textureCoord(0, 0); cube->position( 100, 100, 100); //6 cube->textureCoord(0, 1); cube->position( 100, 100, -100); //5 cube->textureCoord(1, 1); cube->end(); /// 右面 cube->begin("x", RenderOperation::OT_TRIANGLE_FAN); cube->position( 100, -100, -100); //1 cube->textureCoord(1, 0); cube->position( 100, 100, -100); //5 cube->textureCoord(0, 0); cube->position( 100, 100, 100); //6 cube->textureCoord(0, 1); cube->position( 100, -100, 100); //2 cube->textureCoord(1, 1); cube->end(); /// 前面 cube->begin("s", RenderOperation::OT_TRIANGLE_FAN); cube->position( 100, -100, -100); //1 cube->textureCoord(1, 0); cube->position( -100, -100, -100); //0 cube->textureCoord(0, 0); cube->position( -100, 100, -100); //4 cube->textureCoord(0, 1); cube->position( 100, 100, -100); //5 cube->textureCoord(1, 1); cube->end(); /// 后面 cube->begin("w", RenderOperation::OT_TRIANGLE_FAN); cube->position( 100, -100, 100); //2 cube->textureCoord(1, 0); cube->position( 100, 100, 100); //6 cube->textureCoord(0, 0); cube->position( -100, 100, 100); //7 cube->textureCoord(0, 1); cube->position( -100, -100, 100); //3 cube->textureCoord(1, 1); cube->end();
相关文章推荐
- Ogre手动绘制模型以及添加材质
- Ogre手动绘制模型以及添加材质
- Ogre手动绘制模型以及添加材质
- Ogre手动绘制立方体以及添加材质
- 【转】OGRE 模型绘制
- Ogre手动添加骨骼动画
- 用Ogre MyGUI实现快速的中文绘制以及下划线描边图文混排等效果
- Maven常用仓库地址以及手动添加jar包到仓库
- Ogre手动添加骨骼动画
- Maven常用仓库地址以及手动添加jar包到仓库
- GDI波形图的绘制以及坐标系的添加
- Maven常用仓库地址以及手动添加jar包到仓库
- OGRE lod 技术的使用,LOD模型生成及手动设置LOD级别
- u3d 模型需要多个材质,怎么添加
- [UE4]手动指定模型的材质资源文件路径(骨骼、材质、动画)
- 第七章 OGRE中的材质以及shader
- OGRE 向场景中添加船模型
- Unity手动创建模型添加贴图
- QT中QMainWindow手动添加菜单栏以及其他控件
- Maven常用仓库地址以及手动添加jar包到仓库