【发布时间】:2014-04-06 15:05:12
【问题描述】:
我的问题很烦人,因为我不知道如何解决它。
基本思想是我创建了一个成功渲染并随着相机位置移动的天空球体。天空球体的渲染是通过打开 Z 缓冲然后重新打开来完成的,天空的移动是通过将其世界矩阵转换为相机位置值来完成的。
当我隐式移动相机时,天穹真的很长的距离,比方说 Deptz(Z) 轴上的1000000.0f 单位,天空球体开始改变它的形状......并且随着距离的增加它变得更糟...... .
我通过打开 WIRE-FRAME 检查了它是否与纹理渲染无关,我可以看到基本上球体的多边形正在发生变化。
有人有什么想法吗???谢谢。
【问题讨论】:
-
在这种比例下,您可能会遇到浮点精度问题。为什么不总是渲染你的天空穹顶,就好像你的相机在原点一样?就平移而言,唯一重要的是圆顶与摄像机的相对位置,这是一个恒定的零。
-
这是我最初的想法。我总是用摄像机位置平移天穹矩阵,正如你所说的那样,浮点数可能在返回精确数字时遇到了一些问题,因此我的翻译过程很混乱。你的建议给了我一个想法,我应该如何重做这个,尽管我认为我会采用保持相机居中并移动世界的老式方式。谢谢。
标签: 3d directx directx-11