#version 140 in float d; in vec4 bigColor, smallColor; in vec4 otherColor; in float c; in float threshhold; in float threshhold2; in float threshhold3; in float minimum; in vec4 BaseColor; bool b; void main() { vec4 color = BaseColor; vec4 color2; color2 = otherColor; if (c > d) color += bigColor; else color += smallColor; if (color.z < minimum) return; color.z++; if (color.z > threshhold) discard; color++; // Two path, different rest if (color.w > threshhold2) { if (color.z > threshhold2) return; else if (b) color.z++; else { if (color.x < minimum) { discard; } else { color++; } } } else { if (b) discard; else return; } // // Two path, shared rest // if (color.w > threshhold2) { // if (color.z > threshhold2) // return; // else if (b) // color++; // else { // if (color.x < minimum) { // discard; // } else { // color++; // } // } // } else { // if (b) // discard; // else // return; // } // // One path // if (color.w > threshhold2) { // if (color.z > threshhold2) // return; // else { // if (color.x < minimum) { // discard; // } else { // color++; // } // } // } else { // if (b) // discard; // else // return; // } gl_FragColor = color * color2; }