directwrite-rasterizer/example_rasterizer_frag.glsl

22 lines
656 B
Plaintext
Raw Normal View History

2023-09-30 01:02:40 +00:00
#version 330
// DirectWrite rasterization example: fragment shader
// This file is only included for reference, GLSL code is stuffed into the rasterizer inline.
smooth in vec3 uv;
uniform sampler2DArray tex;
uniform float M_value_table[7];
layout(location = 0) out vec4 mask;
void main(){
vec3 S = texture(tex, uv).rgb;
int C0 = int(S.r*6 + 0.1); // + 0.1 just incase we have some small rounding taking us below the integer we should be hitting.
int C1 = int(S.g*6 + 0.1);
int C2 = int(S.b*6 + 0.1);
mask.rgb = vec3(M_value_table[C0],
M_value_table[C1],
M_value_table[C2]);
mask.a = 1;
}