mightymandel v16

GPU-based Mandelbrot set explorer

fpxx_step.c File Reference

(v16)

#include <stdio.h>
#include <stdlib.h>
#include "fpxx_step.h"
#include "shader.h"
#include "logging.h"
#include "texture.h"
+ Include dependency graph for fpxx_step.c:

Go to the source code of this file.

Data Structures

union  doubleint

Functions

void fpxx_step_begin (struct fpxx_step *s)
void fpxx_step_end (struct fpxx_step *s)
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)
void fpxx_u2 (GLuint *o, mpfr_t i)
void fpxx_step_do (struct fpxx_step *s, GLuint *active_count, GLuint vbo, GLuint query)

Variables

const char * fpxx_step_vert
const GLchar * fpxx_step_varyings [] = {"cne", "zdz", "err"}

Data Structure Documentation

union doubleint

Definition at line 99 of file fpxx_step.c.

Data Fields
double d
GLuint u

Function Documentation

void fpxx_step_begin ( struct fpxx_step s)

Definition at line 16 of file fpxx_step.c.

References fpxx_step::cne0, compile_program_tf(), fpxx_step::current, fpxx_step::cx, fpxx_step::cy, D, DE, fpxx_step::dzx, fpxx_step::dzy, fpxx_step::er2, fpxx_step::err0, fpxx_step::escaped, FPXX_STEP_ITERS, fpxx_step_varyings, fpxx_step_vert, fpxx_step::orbit, fpxx_step::program, fpxx_step::t1, fpxx_step::t2, fpxx_step::t3, fpxx_step::t4, TEX_ORBIT, fpxx_step::vao, fpxx_step::zdz0, fpxx_step::zdz0s, fpxx_step::zdz0t, fpxx_step::zx, and fpxx_step::zy.

Referenced by render_begin().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void fpxx_step_do ( struct fpxx_step s,
GLuint *  active_count,
GLuint  vbo,
GLuint  query 
)

Definition at line 108 of file fpxx_step.c.

References fpxx_step_orbit::buffer, fpxx_step::current, fpxx_step::cx, fpxx_step::cy, D, DE, debug_message, fpxx_step::dzx, fpxx_step::dzy, fpxx_step::escaped, FPXX_STEP_ITERS, fpxx_u2(), fpxx_step_orbit::next, fpxx_step::orbit, fpxx_step::program, fpxx_step::t1, fpxx_step::t2, fpxx_step::t3, TEX_ORBIT, fpxx_step::vao, fpxx_step::zx, and fpxx_step::zy.

+ Here is the call graph for this function:

void fpxx_step_end ( struct fpxx_step s)

Definition at line 36 of file fpxx_step.c.

References fpxx_step::current, fpxx_step::cx, fpxx_step::cy, D, fpxx_step::dzx, fpxx_step::dzy, fpxx_step_orbit::next, fpxx_step::orbit, fpxx_step::program, fpxx_step::t1, fpxx_step::t2, fpxx_step::t3, fpxx_step::t4, fpxx_step::vao, fpxx_step::zdz0t, fpxx_step::zx, and fpxx_step::zy.

Referenced by render_end().

+ Here is the caller graph for this function:

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 
)

Definition at line 55 of file fpxx_step.c.

References fpxx_step::cne0, fpxx_step::current, fpxx_step::cx, fpxx_step::cy, D, DE, debug_message, fpxx_step::dzx, fpxx_step::dzy, fpxx_step::er2, fpxx_step::err0, fpxx_step_orbit::next, fpxx_step::orbit, fpxx_step::program, fpxx_step::t1, fpxx_step::t2, fpxx_step::t3, fpxx_step::t4, TEX_ORBIT, fpxx_step::vao, fpxx_step::zdz0, fpxx_step::zdz0s, fpxx_step::zx, and fpxx_step::zy.

Referenced by fpxx_start().

+ Here is the caller graph for this function:

void fpxx_u2 ( GLuint *  o,
mpfr_t  i 
)

Definition at line 101 of file fpxx_step.c.

References doubleint::d, and doubleint::u.

Referenced by fpxx_step_do().

+ Here is the caller graph for this function:

Variable Documentation

const GLchar* fpxx_step_varyings[] = {"cne", "zdz", "err"}

Definition at line 14 of file fpxx_step.c.

Referenced by fpxx_step_begin().

const char* fpxx_step_vert

Referenced by fpxx_step_begin().