我目前正在尝试在我的项目中实现剪影算法(使用 Open GLES,它适用于移动设备,目前主要是 iPhone)。其中一个要求是绘制一组 3D 线。默认 OpenGL 线的问题在于,当它们很粗时(出现间隙),它们不能很好地以某个角度连接。其他微妙的伪影也很明显,它们降低了线条的视觉吸引力。
现在,我已经研究过使用某种四边形条作为替代方案。但是,在屏幕空间中绘制四边形需要某种可见性检测——在实际 3D 世界中被遮挡的线条不应该是可见的。
有许多方法可以解决这个问题 - 即定量不可见性。但考虑到需要采用光线投射,这种方法很难有效实施,尤其是在处理能力有限的移动设备上。环顾四周,我发现了这篇论文,它描述了几种使用 z-buffer 采样来实现这种效果的方法。但是,我不是这方面的专家,虽然我在一定程度上了解这些技术背后的理论,但我不确定如何进行实际实施。我想知道是否有人可以在技术层面指导我 - 在 OpenGLES 方面。我也愿意接受有关一般 3D 线可见性的任何建议。