mightymandel v16

GPU-based Mandelbrot set explorer

fpxx_step.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 FPXX_STEP_H
6 #define FPXX_STEP_H 1
7 
8 #include <GL/glew.h>
9 #include <mpfr.h>
10 
11 #include "mightymandel.h"
12 
15  GLuint buffer[2][FPXX_STEP_ITERS][4];
16 };
17 
18 struct fpxx_step {
19  GLuint program;
20  GLint er2;
21  GLint escaped;
22  GLint cne0;
23  GLint zdz0;
24  GLint err0;
25  GLint zdz0s;
26  GLuint zdz0t;
29  mpfr_t cx, cy, zx, zy, dzx, dzy, t1, t2, t3, t4;
30  GLuint vao;
31 };
32 
33 void fpxx_step_begin(struct fpxx_step *s);
34 void fpxx_step_end(struct fpxx_step *s);
35 void fpxx_step_start(struct fpxx_step *s, GLuint vbo, double escaperadius2, const mpfr_t zx, const mpfr_t zy, const mpfr_t dzx, const mpfr_t dzy, const mpfr_t refx, const mpfr_t refy, bool initial_slice);
36 void fpxx_step_do(struct fpxx_step *s, GLuint *active_count, GLuint vbo, GLuint query);
37 
38 #endif