ChocolateBird/shaders/palette_shader.tres

22 lines
535 B
Plaintext
Raw Normal View History

2023-07-25 14:21:10 +09:30
[gd_resource type="Shader" format=2]
[resource]
code = "shader_type canvas_item;
//uniform usampler2D tex;
2023-07-25 14:49:32 +09:30
uniform sampler2D palette;
const float index_scale = 255.0 / 16.0;
2023-07-25 14:21:10 +09:30
void fragment() {
2023-07-25 14:49:32 +09:30
// GLES3
/*uint color_idx = uint(textureLod(TEXTURE, UV, 0.0).r * 255.0);
2023-07-25 14:21:10 +09:30
COLOR = texelFetch(palette, ivec2(int(color_idx), 0), 0);
if (color_idx == uint(0))
2023-07-25 14:49:32 +09:30
COLOR.a = 0.0;*/
// GLES2
float color_idx = texture(TEXTURE, UV).a * index_scale;
COLOR = texture(palette, vec2(color_idx, 0.5));
if (color_idx == 0.0)
2023-07-25 14:21:10 +09:30
COLOR.a = 0.0;
}
"