Files
mod_cthangover_game/shaders/2d_cubism_norm_mix.gdshader
T
2026-09-10 18:15:12 +03:00

28 lines
795 B
Plaintext

// SPDX-License-Identifier: MIT
// SPDX-FileCopyrightText: 2023 MizunagiKB <mizukb@live.jp>
// GDCubism shader: Mix
shader_type canvas_item;
render_mode blend_premul_alpha, unshaded;
uniform vec4 color_base : source_color;
uniform vec4 color_screen : source_color;
uniform vec4 color_multiply : source_color;
uniform vec4 channel : source_color;
uniform sampler2D tex_main : filter_linear_mipmap;
varying vec4 modulate;
void vertex() {
modulate = COLOR;
}
void fragment() {
vec4 color_tex = texture(tex_main, UV);
color_tex.rgb = color_tex.rgb * color_multiply.rgb;
// premul alpha
color_tex.rgb = (color_tex.rgb + color_screen.rgb) - (color_tex.rgb * color_screen.rgb);
vec4 color = color_tex * color_base * modulate;
COLOR = vec4(color.rgb * color.a, color.a);
}