被渲染的 OpenGL 顶点被剪裁

Posted

技术标签:

【中文标题】被渲染的 OpenGL 顶点被剪裁【英文标题】:OpenGL vertices being rendered clipped 【发布时间】:2015-12-13 03:06:50 【问题描述】:

我没有做太多 OpenGL 的东西,我认为我所看到的有一个明显的原因。

基本上,下面的图片说明了一切。

图像之间唯一改变的是投影矩阵上的 x 旋转。

Windows 上的 OpenGL 1.1。

非常感谢任何帮助。

【问题讨论】:

发生的剪裁比您想象的要多。看看底部的灰色盒子是如何平顶的?我敢打赌那也被剪掉了。 是的,我也注意到了 检查您的近/远平面。您的模型可能超过了它们。 @ColonelThirtyTwo,起初似乎可行,但实际上并没有修复它。我的角度不对。 【参考方案1】:

这看起来像正射投影。我建议你增加近值和远值之间的范围。与透视投影不同,由于非线性,您应该将近到远范围限制在绝对必要的范围内,您可以安全地为正交选择一个非常宽的近/远范围而不会遇到麻烦。我建议您使用 [-1000, 1000](使用 24 位深度缓冲区,可为您提供约 1/8000 视空间 Z 单位的深度分辨率)。

【讨论】:

以上是关于被渲染的 OpenGL 顶点被剪裁的主要内容,如果未能解决你的问题,请参考以下文章

如何在OpenGL中的对象空间坐标中获得近剪裁平面坐标

OpenGL ES 2.0 卷绕和背面剪裁

∑GL-透视投影矩阵的推导

∑GL-透视投影矩阵的推导

OpenGL:基本图形绘画二

Opengl_07_插值