所以,我有一个冒名顶替者(真正的几何体是一个立方体,可能被剪裁了,冒名顶替者几何体是门格尔海绵),我需要计算它的深度。
我可以很容易地计算出在世界空间中的偏移量。不幸的是,我花了好几个小时都没有用它来扰乱深度。
我能得到的唯一正确结果是我去的时候:
gl_FragDepth = gl_FragCoord.z
基本上,我需要知道 gl_FragCoord.z 是如何计算的,以便我可以:
- 从 gl_FragCoord.z 到眼睛空间的逆变换
- 添加深度扰动
- 将此扰动的深度转换回与原始 gl_FragCoord.z 相同的空间。
如果这似乎是一个重复的问题,我深表歉意;这里还有许多其他帖子解决了类似的问题。但是,在实现所有这些之后,没有一个可以正常工作。在这一点上,我不是试图选择一个来获得帮助,而是要求提供完整的代码来完成它。它应该只是几行。