我最近在OpenGL 4.3中使用体素锥跟踪实现了软阴影,方法是在光的方向上跟踪一个圆锥并累积不透明度值.

我试图解决或隐藏的关键是当被遮挡的表面更靠近遮挡物时,非常有体素化的遮蔽效果,以及由于表面体素化而隐藏阴影中的清晰斑点.我使用的是低分辨率体素64x64x64; 然而,即使我使用更高分辨率的体素,一些处于更高mip-map水平的低分辨率体素仍然在迹线中被捕获.
因此,这里就是我的第一个想法是:我希望能够保持这种是最远的影子的最柔软的部件,更换更接近封堵器与阴影贴图的阴影部分.阴影贴图会因为距离每个遮挡物更远而褪色,我会以某种方式将其与锥形跟踪阴影混合在一起.

任何人都可以想办法根据每个物体与阴影贴图的距离来消除阴影,然后将其平滑地融入锥形追踪的阴影中吗?
我的另一个想法是以某种方式将阴影光线追踪到更靠近封堵器的表面上,但这可能太贵了.
或者,我欢迎任何其他想法来帮助改进我的软阴影算法.
我还提出了一个视频来展示它:
https://www.youtube.com/watch?v=SUiUlRojBpM
仍然没有找到解决阴影问题的方法.