--- main.py.orig 2014-09-23 13:57:41.000000000 -0600 +++ main.py 2014-09-23 14:16:46.000000000 -0600 @@ -20,7 +20,7 @@ font = pygame.font.SysFont("Times New Roman.ttf",12) icon = pygame.Surface((1,1)); icon.set_alpha(0); pygame.display.set_icon(icon) -pygame.display.set_caption("MandebrotGLSL - Ian Mallett - v.5.01 - 2014") +pygame.display.set_caption("MandebrotGLSL - Ian Mallett - v.5.02 - 2014") pygame.display.set_mode(screen_size,RESIZABLE|OPENGL|DOUBLEBUF) glEnable(GL_BLEND) @@ -28,8 +28,9 @@ mandelbrot_shader = shader_module.Program([ shader_module.ShaderFragment(""" -//#define SIMPLE -#ifndef SIMPLE +//#define BLACK_AND_WHITE +#ifndef BLACK_AND_WHITE +// #define HAS_SWITCH #define HAS_MOD #ifdef HAS_MOD #extension GL_EXT_gpu_shader4 : enable /*for "%"*/ @@ -52,32 +53,51 @@ uniform FVEC2 bounds_y; uniform FVEC2 screen_size; vec3 get_color(int iter) { - #ifndef SIMPLE + #ifdef BLACK_AND_WHITE + return vec3(255.0); + #else #ifdef HAS_MOD - switch (iter%16) { + iter %= 16; #else - iter -= (iter/16)*16; - switch (iter) { + iter -= (iter/16)*16; + #endif + #ifdef HAS_SWITCH + switch (iter) { + case 0: return vec3(241,233,191); + case 1: return vec3(248,201, 95); + case 2: return vec3(255,170, 0); + case 3: return vec3(204,108, 0); + case 4: return vec3(153, 87, 0); + case 5: return vec3(106, 52, 3); + case 6: return vec3( 66, 30, 15); + case 7: return vec3( 25, 7, 26); + case 8: return vec3( 9, 1, 47); + case 9: return vec3( 4, 4, 73); + case 10: return vec3( 0, 7,100); + case 11: return vec3( 12, 44,138); + case 12: return vec3( 24, 82,177); + case 13: return vec3( 57,125,209); + case 14: return vec3(134,181,229); + case 15: return vec3(211,236,248); + } + #else + if (iter== 0) return vec3(241,233,191); + else if (iter== 1) return vec3(248,201, 95); + else if (iter== 2) return vec3(255,170, 0); + else if (iter== 3) return vec3(204,108, 0); + else if (iter== 4) return vec3(153, 87, 0); + else if (iter== 5) return vec3(106, 52, 3); + else if (iter== 6) return vec3( 66, 30, 15); + else if (iter== 7) return vec3( 25, 7, 26); + else if (iter== 8) return vec3( 9, 1, 47); + else if (iter== 9) return vec3( 4, 4, 73); + else if (iter==10) return vec3( 0, 7,100); + else if (iter==11) return vec3( 12, 44,138); + else if (iter==12) return vec3( 24, 82,177); + else if (iter==13) return vec3( 57,125,209); + else if (iter==14) return vec3(134,181,229); + else /*if (iter==15)*/ return vec3(211,236,248); #endif - case 0: return vec3(241,233,191); - case 1: return vec3(248,201, 95); - case 2: return vec3(255,170, 0); - case 3: return vec3(204,108, 0); - case 4: return vec3(153, 87, 0); - case 5: return vec3(106, 52, 3); - case 6: return vec3( 66, 30, 15); - case 7: return vec3( 25, 7, 26); - case 8: return vec3( 9, 1, 47); - case 9: return vec3( 4, 4, 73); - case 10: return vec3( 0, 7,100); - case 11: return vec3( 12, 44,138); - case 12: return vec3( 24, 82,177); - case 13: return vec3( 57,125,209); - case 14: return vec3(134,181,229); - case 15: return vec3(211,236,248); - } - #else - return vec3(255.0); #endif } int shade_index(int iter) {