如何通过添加剂混合创建激光束效果?

时间:2014-04-09 13:33:24

标签: three.js

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

但是当我将混合设置为THREE.AdditiveBlending时,激光束的颜色会与背景颜色混合。 http://i.imgur.com/kSCFB3U.png(右边第3张)。

我不知道它是否与错误的混合有关,或者我的着色器中的颜色混合是否有问题,但我怀疑它必须对混合做些什么。

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

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);

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

1 个答案:

答案 0 :(得分:1)

你正在做的事情是对的。使用背景更改草背景,例如您使用的示例作为参考,您应该得到类似的结果。