我想在一个矩形上创建一个发光效果:
我真的不知道从哪里开始片段着色器。

实际上,我想在形状(圆形,多边形,矩形)上实现这种效果。没有真正的边框颜色。只有一些模糊的东西。
发布于 2016-11-10 00:40:52
其中一种方法是:
如果您有一个由4条线(4个点)定义的矩形,并且有一个模型矩阵,则将这4个点与模型矩阵相乘,并将它们作为均匀的值发送到片段着色器中。在顶点着色器中创建另一个变化的位置,这是输入位置乘以模型矩阵。此外,还必须将一些半径作为制服发送。
现在,在片段着色器中,为表示一条线的每个点对创建代码,并计算距离。现在,如果距离小于半径,则为边界创建一个色标。然后将所有4的总和用作边框颜色的结果。
scale += 1.0-(clamp(currentDistanceToLeftBorder/radius, .0, 1.0));
scale += 1.0-(clamp(currentDistanceToTopBorder/radius, .0, 1.0));
scale += 1.0-(clamp(currentDistanceToRightBorder/radius, .0, 1.0));
scale += 1.0-(clamp(currentDistanceToBottomBorder/radius, .0, 1.0));然后混合颜色:
color = mix(defaultColor, borderColor, clamp(scale, .0, 1.0));https://stackoverflow.com/questions/40509844
复制相似问题