C++ C++;OpenGL创建发光线

C++ C++;OpenGL创建发光线,c++,opengl,C++,Opengl,我已经研究过了,用来制作光晕效果的方法通常是将一个清晰模糊的图像结合起来,以产生光晕效果。但我想知道如何使gl_线(或任何线)具有亮度。因为在我的游戏中,我随机生成一个简单的2D地形,我希望使地形线段发光。使用碎片着色器计算碎片到边缘的距离,并使用适当的颜色值为碎片上色。您可以使用一条简单的控制曲线来控制辉光的半径和强度(如在photoshop中)。它也可以调整为线框可视化。其思想是,您不需要使用绘制调用将点光栅化为线,只需根据每个像素与相应边的距离对其进行着色即可 与使用模糊过程不同的是,你首

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

使用碎片着色器计算碎片到边缘的距离,并使用适当的颜色值为碎片上色。您可以使用一条简单的控制曲线来控制辉光的半径和强度(如在photoshop中)。它也可以调整为线框可视化。其思想是,您不需要使用绘制调用将点光栅化为线,只需根据每个像素与相应边的距离对其进行着色即可


与使用模糊过程不同的是,你首先会获得更好的性能,其次是对光晕的每像素控制,你可以得到非均匀的光晕,这是你无法通过使用模糊获得的,因为它并不真正了解实际的线几何体,它只是盲目地作用于像素,而使用边缘距离检测时,您确实使用实际几何体数据作为输入,而不会将其平展到像素。你也可以使用渐变光晕之类的东西,例如,光晕颜色不同,并且随着半径的变化而变化。

那么问题出在哪里?你不能重新绘制模糊的地形吗?可能稍微亮一点?地形不是静态的。地形是通过线段随机生成的。我问的是如何模糊这些线段以使其发光。可能是谁说地形必须是静态的?可以将地形绘制到屏幕和纹理。模糊纹理并将结果渲染到屏幕上。是否愿意/能够使用着色器?