mightymandel v16

GPU-based Mandelbrot set explorer

fpxx_approx.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_APPROX_H
6 #define FPXX_APPROX_H 1
7 
8 #include <GL/glew.h>
9 #include <mpfr.h>
10 
11 #include "complex.h"
12 #include "utility.h"
13 
14 struct fpxx_approx {
15  GLuint program;
16  GLint iters;
17  GLint c0;
18  GLint abcuvw;
19  GLuint vao;
20  int n;
21  double values[6][2];
22  C p, z, a, b, c, u, v, w, z2, a2, b2, c2, u2, v2, w2, t1, t2, t3, t4, t5, t6;
24  bool too_deep;
25 };
26 
27 void fpxx_approx_begin(struct fpxx_approx *s);
28 void fpxx_approx_end(struct fpxx_approx *s);
29 void fpxx_approx_do(struct fpxx_approx *s, GLuint *active_count, GLuint *vbo, GLuint query, mpfr_t zx, mpfr_t zy, mpfr_t dzx, mpfr_t dzy, int pass, const mpfr_t radius, const mpfr_t refx, const mpfr_t refy, bool series_approx, bool initial_slice, void *abort_data, abort_t abort_fn);
30 
31 #endif