DX8中billboarding例子的疑问?

wilehorse 2005-02-04 05:49:44
这个例子中地形和天空都是通过X文件加载的,billboard.cpp中没有看到这两个模型的位置设置,是不是默认放在正中的位置?怎么样使地面无限拓展?天空是6面体,但是却没有看到面与面直接的接缝,为什么?原来还以为天空的模型是球体呢。

谢了先!

...全文
124 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wilehorse 2005-02-05
  • 打赏
  • 举报
回复
觉得这个例子里的Terrain不是通过重复绘制来实现拓展的。
wilehorse 2005-02-05
  • 打赏
  • 举报
回复
我说的没有看到模型位置设置指的是加载的时候没有SetPosition之类控制模型和转角等的语句,并不是找不到对应的X文件。我原来做过DX在VB中的应用,现在要用VC做,由于类继承的关系,很多东西都不知道在哪里设的。
地形的资源文件就是一个网格类的平面,在源代码的哪里进行设置,使它看起来没有边界啊?
Siney 2005-02-05
  • 打赏
  • 举报
回复
比如树是通过
SetTransform(D3DTS_WORLD,&mat);
来设置其位置的啊,mat保存的是树的变换矩阵,经过矩阵变换,树就到了目标位置,天空类似

-天空是6面体,但是却没有看到面与面直接的接缝?

这是因为天空体的法线(Normal)不垂直与Triangle平面,而是顶点的方向,这样就不会用棱角了,这里也可能关闭了光照。

-关于billboard里的地形无限扩展?

那不是一直在一个地方旋转吗?是不是看错了?


弟十六 2005-02-05
  • 打赏
  • 举报
回复
相关资源文件放在Sample下的Media里。地面要无限扩展是不可能的,因为硬件资源是有限的,你说的无限场景大多使用重复绘制法。天空盒和地面没有接缝是因为在绘制它之前关闭了深度测试,这样地面看着更辽阔些。

8,303

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧