gpt4 book ai didi

OpenGL zNear zFar 是什么意思?

转载 作者:行者123 更新时间:2023-12-04 02:21:43 62 4
gpt4 key购买 nike

我知道 zNear, zFar 标记场景的剪辑边界。但是OpenTK restricts值大于零。这是否意味着我的所有对象都应该在 Z 轴正方向上绘制,以免被剪裁?

最佳答案

不要混淆坐标可以表示或转换到的不同空间。检查标记的答案过于简单化,以至于在许多情况下它甚至可能不是正确的答案。

zNear 和 zFar 是以世界单位而不是世界坐标距“相机”或 View 眼睛的距离。因此,它们必须是正数。他们也有点消极 眼睛相机 空间。只有当相机与指向 -z 空间的 z 轴对齐时,检查标记的答案才是正确的,或者你关于被剪辑内容的陈述。

它们确实有助于定义最近和最远的剪辑边界,但它们不标记场景的剪辑边界。同样,这将取决于您的相机的位置。还有你对“场景”的定义。

人们常说OpenGL没有相机。但我不想这样想。有一个 View ,因此有一个相机。使用 lookAt功能,您可以将 View /相机放置在场景中的任何位置并将其指向您想要的任何方向。给我你的 现场是您正在渲染的所有对象,而不仅仅是这些对象的当前 View 。考虑到这一点,您的 zNear 和 zFar 根本不会限制您的场景,它们只会限制您的相机的观看深度。它更像是从你的眼睛里伸出的卷尺。当你对事物的看法发生变化时,它的向量也会发生变化。

例如,想象一个沿 x 轴和 z 轴成行和列的块网格场景,但所有 y 都为 0。如果您的相机与 z 轴对齐,则 zNear 和 zFar 与世界 z 轴相关。您可能会看到一排排方块远离相机。但是如果相机在 +100 的 y 处漂浮在一切之上并向下指你会看到它更像是一个网格。在这种情况下, zNear 和 zFar 与场景中的 z 轴无关。它们只与相机在相机 z 轴上的对象上的剪辑有关 - 在相机空间中。

关于OpenGL zNear zFar 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28315484/

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