gpt4 book ai didi

ios - GLSL ES 裁剪顶点到远平面

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:55:03 25 4
gpt4 key购买 nike

我在我的 iPhone 上玩弄阴影体积,如果阴影体积上限被远平面裁剪,则一切正常。

由于 gl_ClipVertex 在 GLSL ES 中不可用,我如何将 gl_Position.z 剪辑到远平面?我已经尝试使用 gl_Position.z = gl_Position.w,但结果是错误的,阴影体积似乎跟随相机方向。还有其他方法吗?

最佳答案

为了使阴影体积起作用,您可能需要避免 cap 被远平面剪裁。为此,要么增加深度范围(将远平面移得更远),要么减少挤压量。

有许多阴影体积技术,其中一些是专门为避免深度封顶而设计的。我最喜欢的是 Carmack 的逆向,只要您知道几何体的边界框(Carmack 使用 BSP 树,所以对他来说很容易),它就可以很好地工作,因为这样您就可以确切地知道将阴影体积挤出多远。此外,如果光线非常靠近阴影转换对象,则可能需要进行一些裁剪(否则不是远盖,但体积的角最终会被裁剪)。虽然这很容易解释,但实现起来却相当困难。还有一些其他算法,更适合在 GPU 上进行简单实现(参见此处 http://www.nvidia.com.br/object/robust_shadow_volumes.html)。

希望这对您有所帮助,如果您需要进一步的帮助,请随时发表评论。

关于ios - GLSL ES 裁剪顶点到远平面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7936798/

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