visual-c – 增加OpenGL的远剪裁平面距离
发布时间:2020-12-16 07:34:02 所属栏目:百科 来源:网络整理
导读:我正在尝试将我的太阳系的C OpenGL表示作为一种自学OpenGL的方法,所以请保持简单的答案. 我遇到的问题是行星距离很远,因此从任何给定行星观察时,其他一切都超出了剪切平面.如何将C OpenGL 3.1平面的剪辑移动到2000000000?如果可以的话,我更喜欢简单的代码片
我正在尝试将我的太阳系的C OpenGL表示作为一种自学OpenGL的方法,所以请保持简单的答案.
我遇到的问题是行星距离很远,因此从任何给定行星观察时,其他一切都超出了剪切平面.如何将C OpenGL 3.1平面的剪辑移动到2000000000?如果可以的话,我更喜欢简单的代码片段. 我已经查阅了SO和论坛帖子,但是它们要么太老了,什么都不适用(使用遗留API或只是死链接),或者太复杂,以至于我无法弄清楚他们在说什么. 解决方法
剪切平面由透视投影矩阵定义.
如果使用glFrustum,请将传递给它的最后一个参数更改为2000000000.0. 如果使用自己的矩阵,请将矩阵数组的第10个元素设置为: (2000000000.0 nearClippingPlane)/(nearClippingPlane-2000000000.0) (公式是(远近)/(近远)) 和14日: (-4000000000.0 * nearClippingPlane)/(2000000000.0-nearClippingPlane) (公式为(-2.0 *近*远)/(远近)) 然而,2000000000是非常大的价值,因此如果添加山脉等细节,可能会发生Z战斗. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |