1

我已经研究过,用于制作光晕效果的方法通常是基于将锐利和模糊的图像结合起来产生光晕效果。但我想知道如何使 gl_lines(或任何线)具有亮度。由于在我的游戏中我随机生成一个简单的 2D 地形,我希望让地形线段发光。

4

1 回答 1

2

使用片段着色器计算片段到边缘的距离,并使用适当的颜色值为片段着色。您可以使用简单的控制曲线来控制发光的半径和强度(就像在 Photoshop 中一样)。它也可以调整为像线框可视化一样。这个想法是您并没有真正使用绘图调用将点栅格化为线,只需根据每个像素与相应边缘的距离对每个像素进行着色。

与使用模糊通道的不同之处在于,您首先会获得更好的性能,其次是对发光的逐像素控制,您可能会获得通过使用模糊无法获得的非均匀发光,因为它并不真正了解实际情况线几何,它只是盲目地对像素起作用,而通过边缘距离检测,您确实使用实际的几何数据作为输入,而不会将其扁平化为像素。您还可以使用渐变发光之类的东西,例如发光颜色不同并随半径变化。

于 2013-06-08T10:50:19.680 回答