mightymandel v16

GPU-based Mandelbrot set explorer

fp32_colour.h
Go to the documentation of this file.
1 // mightymandel -- GPU-based Mandelbrot Set explorer
2 // Copyright (C) 2012,2013,2014,2015 Claude Heiland-Allen
3 // License GPL3+ http://www.gnu.org/licenses/gpl.html
4 
5 #ifndef FP32_COLOUR_H
6 #define FP32_COLOUR_H 1
7 
8 #include <stdbool.h>
9 #include <GL/glew.h>
10 
14 struct fp32_colour {
15  GLuint program;
16  GLint aspect;
17  GLint ida0;
18  GLint slice_number;
19  GLint slice_coords;
20  GLint update;
21  GLint update2;
22  GLint errs;
23  GLint thickness;
24  GLint slicing;
25  GLint pt;
26  GLuint vao;
27  GLuint program2;
28  GLint aspect2;
29  GLint rgb2;
30  GLint pt2;
31  GLuint vao2;
32  GLuint vbo;
33  GLuint fbo;
34 };
35 
39 extern const char *fp32_colour_vert;
40 
44 extern const char *fp32_colour_frag;
45 
49 extern const char *fp32_colour2_vert;
50 
54 extern const char *fp32_colour2_frag;
55 
62 void fp32_colour_begin(struct fp32_colour *s, GLuint rgb_tex);
63 
69 void fp32_colour_end(struct fp32_colour *s);
70 
86 void fp32_colour_do(struct fp32_colour *s, int win_width, int win_height, int width, int height, bool update, bool update2, GLuint errs, float thickness, int slice, int slice_n);
87 
88 void fp32_colour_clear(struct fp32_colour *s, int width, int height);
89 
90 #endif