游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3001|回复: 2

让Ogre和Direct3D接轨

[复制链接]

125

主题

364

帖子

396

积分

中级会员

Rank: 3Rank: 3

积分
396
QQ
发表于 2007-2-20 21:28:00 | 显示全部楼层 |阅读模式
手工调整一个三角形,利用索引调整出两个三角形,三个顶点,在Ogre中实现。

这样我们就和一般的Direct3D或OpenGL接轨了,我们可以把基础的Direct3D知识运用到Ogre中。

  1. ManualObject* createTriangleMesh(Ogre::String name, Ogre::String matName)
  2.   {
  3.    ManualObject* cube = NULL;
  4.    cube = new ManualObject(name);
  5.    reclamp.push_back(cube);

  6.    cube->begin(matName);

  7.    cube->position(-3.0,-3.0,   1.0);cube->normal(1,1,1);cube->textureCoord(1,0);
  8.    cube->position(0.0,3.0,   1.0);cube->normal(1,1,1);cube->textureCoord(0,1);
  9.    cube->position(3.0,-3.0,    1.0);cube->normal(1,1,1);cube->textureCoord(1,1);

  10.    // 相当于使用索引缓冲区
  11.    cube->triangle(0,1,2);      cube->triangle(2,1,0);
  12.    cube->end();

  13.           return cube;
  14.   }

  15. //-----------------------------------------------------------------------------------
  16. void createScene()
  17. {
  18. // 显示正方形
  19.                  ManualObject* trispt = createTriangleMesh("Tri", "TextMat");

  20.                  mNode = mSceneMgr->getRootSceneNode()->createChildSceneNode();
  21.                  //mNode->attachObject(createCubeMesh("Cube", "myMaterial"));
  22.          mNode->attachObject(trispt);
  23. }
复制代码


以上片段 演示了如何手工的处理一个三角形。

14

主题

245

帖子

256

积分

中级会员

Rank: 3Rank: 3

积分
256
QQ
发表于 2007-2-22 23:09:00 | 显示全部楼层

Re:让Ogre和Direct3D接轨

有点像OGL的感觉。。呵呵。

35

主题

370

帖子

376

积分

中级会员

Rank: 3Rank: 3

积分
376
发表于 2007-12-31 02:20:00 | 显示全部楼层

Re:让Ogre和Direct3D接轨

终于在这里找到答案了!没有什么更 好的更方便的吗?有个 Rectangle2D怎么使用?
我不需要他做世界矩阵变换怎么办?》
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-15 02:21

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表