gpt4 book ai didi

opengl - 在 OpenGL 中设置近平面

转载 作者:行者123 更新时间:2023-12-04 19:57:38 26 4
gpt4 key购买 nike

我已经在 OpenGL 中实现了第一人称相机,但是当我靠近一个物体时它开始消失,所以我想将近平面设置为接近零,这样我就可以更接近物体。所以,如果有人能告诉我什么是最好的方法。
谢谢你。

最佳答案

其他回应侧重于使用过剩。不建议将 Glut 用于专业甚至现代开发,并且 OP 没有说明使用 glut - 只是 OpenGL。所以,我会插话:

一点背景
zNear ,从原点到近剪裁平面的距离,是用于构建投影矩阵的参数之一:

投影矩阵

Projection Matrix

在哪里

SYMBOL  MEANING                   TYPICAL VALUE
------ -------------- -------------
fov vertical field of view 45 – 90 degrees
aspect Aspect ratio around 1.8 (frame buffer Width / Height)
znear near clip plane +1
zfar far clip plane. 10

SYMBOL MEANING FORMULA
---------- ------------------------------- --------------
halfHeight half of frustum height at znear znear∗tan(fov/2)
halfWidth half of frustum width at znear halfHeight×aspect
depth depth of view frustum zfar−znear

(在 http://davidlively.com/programming/graphics/opengl-matrices/perspective-projection/ 上有更好的格式版本)

当透视分割发生时——在顶点着色器和片段着色器之间——顶点被转换为“剪辑空间”中的标准化设备坐标 (NDC)。在这个空间中,任何适合 2x2x1 (x,y,z) 盒子的东西都会被渲染。任何不适合带角 (-1, -1, 0) - (+1, +1, +1) 的框的片段都将被剪裁。

实用的结果

没关系你的zNearzFar值为 ,只要它们提供足够的分辨率和精度,以及 zFar > zNear > 0 .

您的碰撞检测和响应系统负责防止相机离几何体太近。 “太近”是 zNear 和几何边界的函数。即使您的 zNear 为 1E-9,几何体在离裁剪空间原点太近时也会被裁剪。

所以:修复您的碰撞检测并停止担心您的 zNear。

关于opengl - 在 OpenGL 中设置近平面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3410096/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com