Opengl es Matrix.frustumM导致无法将近绘制距离设置为零的问题
当使用Matrix.trustumm设置OpenGLES绘制距离时,我注意到不能将“近绘制距离”设置为零,任何小于1的值都会产生非常奇怪的失真。将“近距离”(near distance)设置为1在大多数情况下都可以正常工作,但当摄影机移动到比该距离更近的对象时,由于对象未绘制(或部分对象未绘制),因此看起来很可怕。对此有什么办法吗?Opengl es Matrix.frustumM导致无法将近绘制距离设置为零的问题,opengl-es,Opengl Es,当使用Matrix.trustumm设置OpenGLES绘制距离时,我注意到不能将“近绘制距离”设置为零,任何小于1的值都会产生非常奇怪的失真。将“近距离”(near distance)设置为1在大多数情况下都可以正常工作,但当摄影机移动到比该距离更近的对象时,由于对象未绘制(或部分对象未绘制),因此看起来很可怕。对此有什么办法吗? 非常感谢您抽出时间。实际上没什么可做的。近剪裁平面和远剪裁平面将像素剪裁得更靠近near或更远far。除此之外附近的有点特殊,因为它通过边框参数的组合定义了您的视野
非常感谢您抽出时间。实际上没什么可做的。近剪裁平面和远剪裁平面将像素剪裁得更靠近
near
或更远far
。除此之外附近的有点特殊,因为它通过边框参数的组合定义了您的视野(左
,右
,上
和下
)。所以,如果你有一个和那些边框坐标相同的四边形,那么当离你很近时,它就会全屏显示。因此
附近的平面不能为零,甚至不能为负数,因为例如,使用平截头体的距离为零单位的对象看起来会被无限缩放
仍然可以使用小于1的值,而不会产生一些奇怪的瑕疵。您应该做的是查看一些示例,了解如何通过设置视野来定义平截头体。通常,您可以为其中一个维度定义角度(视野),例如45度宽度,然后根据需要定义近
和远
,但两者都应为正值。现在使用三角法计算左
和右
,使用角度
和近
,并使用相同的向上
和向下
值,但按屏幕(视图)比例缩放。这样,在更改near
参数时,失真将不会有任何差异