我正在尝试使用 GLSL ES 2.0 为三角形扇形图元创建内部发光效果 - 尽管只有外边缘会受到手头效果的影响。我想有很多方法可以做到这一点,但到目前为止还没有找到任何描述。
在 OpenGL ES 2.0 中使纹理多边形的边缘发光中描述了一种技术,但是,这对我不起作用,因为我在这个阶段纯粹是在使用图元。
我最初的想法是在片段着色器中以某种方式计算到最近边缘的距离,然后根据距离是否落在某个阈值的范围内来设置颜色。(当然,颜色和 alpha 是与最近边缘的距离的函数——此时精确的渐变轮廓并不重要。)
这种方法存在两个问题:
1)如何计算从片段到最近边缘的距离?2)我如何排除这个过程中的共同边,即两个(或更多)三角形共有的边?
这是一种明智的方法吗?如果是,我该如何解决我的两个问题?对替代方法的建议也非常感谢。(例如,我一直在阅读纹理数据不必是图像,并且它可以用于自定义目的。非图像纹理可以成为解决方案的一部分吗?):)