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