39 lines
640 B
GLSL
39 lines
640 B
GLSL
@ctype mat4 hmm_mat4
|
|
|
|
@vs vs
|
|
layout(binding=0) uniform vs_params {
|
|
mat4 mvp;
|
|
float draw_mode;
|
|
};
|
|
|
|
layout(location=0) in vec4 position;
|
|
layout(location=1) in vec3 normal;
|
|
layout(location=2) in vec2 texcoord;
|
|
layout(location=3) in vec4 color0;
|
|
|
|
out vec4 color;
|
|
|
|
void main() {
|
|
gl_Position = mvp * position;
|
|
if (draw_mode == 0.0) {
|
|
color = vec4((normal + 1.0) * 0.5, 1.0);
|
|
}
|
|
else if (draw_mode == 1.0) {
|
|
color = vec4(texcoord, 0.0, 1.0);
|
|
}
|
|
else {
|
|
color = color0;
|
|
}
|
|
}
|
|
@end
|
|
|
|
@fs fs
|
|
in vec4 color;
|
|
out vec4 frag_color;
|
|
|
|
void main() {
|
|
frag_color = color;
|
|
}
|
|
@end
|
|
|
|
@program shapes vs fs |