gpt4 book ai didi

opengl - 为什么 OpenGL 有一个远剪裁平面,用什么习语来处理这个问题?

转载 作者:行者123 更新时间:2023-12-04 02:40:59 26 4
gpt4 key购买 nike

我一直在学习 OpenGL,一直困扰着我的一个话题是远剪裁平面。虽然我可以理解近剪裁平面和侧剪裁平面背后的推理(它们从来没有任何实际效果,因为无论如何都不会渲染它们之外的对象),但远剪裁平面似乎只是一个烦恼。

由于 OpenGL 背后的人显然已经考虑过这一点,我知道一定有我遗漏的东西。为什么 OpenGL 有一个远剪切平面?更重要的是,因为您无法将其关闭,所以在远距离绘制物体时(对于太空游戏中数千单位以外的星星、天空盒等物体),推荐使用哪些习语和做法?你是希望剪裁平面离得很远,还是有更优雅的解决方案?这是如何在生产软件中完成的?

最佳答案

唯一的原因是深度精度。由于深度缓冲区中只有有限数量的位,因此您也可以用它表示有限数量的深度。

但是,您可以将远平面设置为无限远:参见 this .它只是不能很好地与深度缓冲区配合使用 - 如果您在远处有遮挡,您会看到很多伪影。

因此,由于这是围绕深度缓冲区进行的,因此只要您不使用它,处理更远的东西就不会遇到问题。例如,一种常见的技术是在“slabs”中渲染场景,每个块只在内部使用深度缓冲区(对于一个slab中的所有东西),但在外部使用某种形式的画家算法(对于slabs,所以你绘制最远的一个第一的)

关于opengl - 为什么 OpenGL 有一个远剪裁平面,用什么习语来处理这个问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11949155/

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