shader_type spatial; render_mode cull_disabled; uniform sampler2D streaks_texture; uniform sampler2D explosion_texture; uniform vec4 streak_color : source_color; void vertex() { // Called for every vertex the material is visible on. } void fragment() { // Called for every pixel the material is visible on. vec2 streak_uv = vec2(UV.x * .25 + floor(COLOR.r * 4.0) * .25, UV.y); float n_val = texture(explosion_texture, UV).r; float alpha = texture(streaks_texture, streak_uv).r * smoothstep(COLOR.a, 1, n_val); ALBEDO = streak_color.rgb; ALPHA = alpha; } //void light() { // // Called for every pixel for every light affecting the material. // // Uncomment to replace the default light processing function with this one. //}