#ifdef DESC [program] type: graphics vertex: main fragment: main [binding] name: verts rate: vertex [attribute] name: position type: vec2 [attribute] name: colour type: vec3 [attribute] name: uv type: vec2 [interpolator] name: colour type: vec3 [interpolator] name: uv type: vec2 [target] name: colour type: vec4 [texture] name: colour_texture stage: fragment dimension: 2 #endif #ifdef VERTEX_SHADER void main() { interpolator.colour = colour; interpolator.uv = uv; gl_Position = vec4(position, 0.0, 1.0); } #endif #ifdef FRAGMENT_SHADER void main() { vec3 c = texture(colour_texture, interpolator.uv).rgb; c *= interpolator.colour; colour = vec4(c, 1.0); } #endif