const int lod = 1; const int bias = 1; const int threshold = 3; #pragma MSP stage(vertex) layout(location=0) in vec4 position; layout(location=1) in vec4 color; void main() { gl_Position = position; passthrough; } #pragma MSP stage(fragment) layout(location=0) out vec4 frag_color; void main() { if(!(lod+bias>threshold)) frag_color = color; else frag_color = vec4(1.0); } /* Expected output: vertex layout(location=0) in vec4 position; layout(location=1) in vec4 color; layout(location=0) out vec4 _vs_out_color; void main() { gl_Position = position; _vs_out_color = color; } */ /* Expected output: fragment layout(location=0) out vec4 frag_color; layout(location=0) in vec4 _vs_out_color; void main() { frag_color = _vs_out_color; } */