如何使用添加混合创建激光束效果.



我想创建一个激光束效果,如下所述:http://codepoke.net/2011/12/27/opengl-libgdx-laser-fx/

但当我将混合设置为THREE.AdditiveBlending时,激光束的颜色会与背景颜色混合。https://i.stack.imgur.com/rIG0e.png(右三)。

我不知道这是否与错误的混合有关,或者我的着色器中的颜色混合是否有问题,但我怀疑这与混合有关。

我的着色器代码只有几行,我使用与博客条目中相同的纹理。

uniform sampler2D uTex;
varying vec2 vUv;
void main() {
vec4 texelColor = texture2D( uTex, vUv );
vec4 color = vec4(1.0,0.0,0.0,1.0);
gl_FragColor = vec4(mix(color.rgb,texelColor.rgb,texelColor.a),texelColor.a);

我如何实现视频中的酷炫外观,使激光颜色保持红色(如果是红色),但仍使用添加剂混合使其看起来更好?

您所做的已经是正确的了。将草地背景更改为您用作参考的示例中的背景,您应该会得到类似的结果。

最新更新