#version 150 compatibility in vec3 normal; in vec4 color; in vec3 position; flat in int side; uniform int illumination_mode = 1; vec4 doLighting(vec3 position, vec3 normal, vec4 diffuseMaterial); vec4 doTwoSidedLighting(vec3 position, vec3 normal, vec4 diffuseMaterial, int side); void main() { // illumination gl_FragColor = color; switch (illumination_mode) { case 1: gl_FragColor.rgb = doLighting(position, normal, color).rgb; break; case 2: gl_FragColor.rgb = doTwoSidedLighting(position, normal, color, side).rgb; break; } }