rendermodes.h File Reference

Central "variable-declaration-place". Most of the global variables through which the modules and/or threads communicate, are declared here. More...

#include <SDL/SDL.h>
#include <SDL/SDL_thread.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include <gtk/gtk.h>
#include "cursor.h"

Data Structures

struct  _rendersurf
struct  _vec3f
struct  _vec4f
struct  _vec7f_t
struct  _flow_data_t
struct  _sl_t

Defines

#define PI
#define phABS(x)
#define EPS
#define PALLEN
#define HULL
#define ADAPT_SCAN_STEP
#define ADAPT_SCAN_SH
#define HEIGHT_ADD
#define NO_MAPWRAP
#define FP_SHIFT
#define FP_MUL
#define FP_DIV
#define NEAR_RT
#define SKYZBUF
#define MIN_IHEI
#define MAX_IHEI
#define VELOCITY
#define PRESSURE
#define VORTICITY
#define EULER
#define RK2
#define SP_MANUAL
#define SP_GRID
#define SP_EVENLY
#define SLTEX_NONE
#define SLTEX_CONT
#define SLTEX_DISC
#define SLTEX_BLUR
#define SKY
#define _normalize_lensto(v1, len)
#define _normalize_FAST(v1)
#define _normalize(v1)
#define _normalize2D(v1)
#define _dotprod(v1, v2, dot)
#define _crossprod(v1, v2, vcross)
#define _draw_cross(x, y, screen_to_blit, col)
#define GTK_COLORSET(parentWindow, widgetName, color_to_set)
#define GTK_COLORGET(colorbutton, return_var_for_color)
#define LINEAR_FLOAT_IPOL_i01(fact, val1, val2, fipoled)
#define LINEAR_FLOAT_IPOL(fact, val1, val2, fipoled)
#define BILIN_FLOAT_IPOL_i01(fact1, fact2, f11, f12, f21, f22, fipoled)
#define BILIN_FLOAT_IPOL(fact1, fact2, f11, f12, f21, f22, fipoled)
#define lineDDA(x0, y0, xEnd, yEnd, color, dst, dst_w, dst_h)
#define FAST_CLEAR_KERNEL(start_exp, dw_cnt_exp, val32)
#define FAST_CLEAR(start_exp, dw_cnt_exp, val32)
#define FAST_BLIT(src_exp, dst_exp, dw_cnt_exp)
#define BILINEAR_IPOL(fact1, fact2, c11, c12, c21, c22, filtered_val)
#define MAX_SLICE_DIST
#define VIEW_2D
#define VIEW_3D
#define TRILIN
#define BILIN

Typedefs

typedef unsigned int uint32_t
typedef unsigned short int uint16_t
typedef _rendersurf rendersurf
typedef _vec3f vec3f
typedef _vec4f vec4f
typedef _vec7f_t vec7f_t
typedef _flow_data_t flow_data_t
typedef _sl_t sl_t

Functions

void getinput (void)
 Input-handler.
void build_hmap_cmap (int data_selector, uint32_t **hmap, uint32_t **cmap, uint32_t **cmap_3d)
 Build the "height- and colormap" from the given data. Also allocates the needed space in memory.
void genland (uint32_t *hdata, uint32_t *colormap, int max_x, int max_y)
void rotozoom (rendersurf *rtsurf, uint32_t *cdata, float *ipos, float *, float *, float *)
void fhrc (rendersurf *rtsurf, uint32_t *low_mip, uint32_t *hdata, uint32_t *cdata, float *ipos, float *ifor, float *iup, float *istr)
void draw_arrows (uint32_t *dst, int dst_w, int dst_h, vec4f *dir_data, float *len_data, int add_data_idx, float arrowcnt_x, float arrowcnt_y, float arrow_width)
 Draw Arrows.
void map_screenpixel_to_datapos (float *in, float *out)
void draw_single_streamline (uint32_t *dst, int dst_w, int dst_h, vec4f *dir_data, float line_width, float *seed_point, uint32_t line_color)
 Draw single streamline. No additional logic, just a simple streamline evaluator and plotter.
void draw_streamlines_gridseed (uint32_t *dst, int dst_w, int dst_h, vec4f *dir_data, float line_width, float linecnt_x, float linecnt_y, uint32_t line_color)
 Draw streamlines (grid). Draw streamlines with seepoints placed on grid.
void draw_streamlines_evenly_spaced (uint32_t *dst, int dst_w, int dst_h, vec4f *dir_data, float line_width, float dsep, float dtest, uint32_t line_color)
 Draw streamlines (evenly spaced).
void dirblur_tex (uint32_t *src, uint32_t *dst, int dst_w, int dst_h, vec4f *dir_data, float blur_amount)
void generate_clouds (uint32_t *dst, int dst_w, int dst_h)
void draw_pencil_sketch (uint32_t *dst, int dst_w, int dst_h, vec4f *dir_data, float *len_data, int add_data_idx)
 Pencil-sketch Rendering. Use the current value (length, magnitude, ...) to select an appropriate sketch-texture.

Variables

uint32_t pcolors [PALLEN]
Uint32 * low_haddress
vec4f * vdata_grad
int curr_bg_value
vec3f * tmp_data
unsigned char diffborder
int depth_blur
int rendermode_arrows
unsigned char arrows_enabled
unsigned char streamlines_enabled
unsigned char clouds_enabled
unsigned char diff_method
unsigned char pick_streamline_seedpoint
float diff_stepsize
float dsep
float dtest
float dtest_factor
float grid_count_x
float grid_count_y
float grid_count_arrows_x
float grid_count_arrows_y
float arrow_w
float arrow_scale_general
int sp_placement
int sl_tex
float sl_tex_period
float sl_blur_amount
float sl_width
int sl_tapering
int sl_triangle_glyphs
float sl_triangle_glyphs_scale
uint32_t sl_stopafter
int show_bg
uint32_t sl_color
uint32_t arrow_color
flow_data_t fdo
uint32_t * tmp_hdata
SDL_Surface * sky
uint32_t * sdata
int WATERLEVEL
int last_tab_idx
int blur_arrows_streamlines
int val_cmod
float clouds_blur_amount
float clouds_roughness
float val_blur_amount
uint32_t * sketch_tex [5]
uint32_t sketch_w_m1
uint32_t sketch_h_m1
uint32_t curr_sc_x
uint32_t curr_sc_y
uint32_t sketch_sc_x_off
uint32_t sketch_sc_y_off
unsigned char pencil_sketch
float ipos []
SDL_Surface * screen
uint32_t * filter_screen
uint32_t * fake_screen
int taking_screenshot
rendersurf rtsurf
uint32_t * voxel
uint32_t sc_x
uint32_t sc_y
uint32_t view_dist
int sh_w
int next_sh_w
int draw_cross
static __inline long long c1
GtkWidget * fs
GMainLoop * ml
int GUIdone
int GUIactive
char last_fname [FILENAME_MAX]
 fsc_y
 ratio_kipp
float fsc_ratio
float recip_fsc_ratio
float hrecip_fsc_ratio
float recip_fscx_ratio
float recip_fscy
int slice_center
float slice_cam [4]
float slice_cam_str [4]
float slice_cam_up [4]
float slice_cam_for [4]
float slice_dist
int slice_filter
int rendermode
int faceshade
unsigned char diffborder
int curr_w
int curr_h
int curr_w_m1
int curr_h_m1
int refresh
uint32_t lightcolor
float light_pos [4]
float light_for [4]
float light_up [4]
float light_str [4]
float phong_exponent
float Iamb
float Idiff
float Ispec
float Isum
float HdotN
float Iamb_factor
float Idiff_factor
float Ispec_factor
float ipol_normal [4]
float halfvec [4]
float view [4]
int use_occlusion_data


Detailed Description

Central "variable-declaration-place". Most of the global variables through which the modules and/or threads communicate, are declared here.


Function Documentation

void build_hmap_cmap int  data_selector,
uint32_t **  hmap,
uint32_t **  cmap,
uint32_t **  cmap_3d
 

Build the "height- and colormap" from the given data. Also allocates the needed space in memory.

Parameters:
data_selector Choose between the velocity-flowdata and optionally included additional data (pressure, ...)
hmap Pointer to the memory location which is to store the heightmap.
cmap Pointer to the memory location which is to store the colormap.
cmap_3d Pointer to the memory location which is to store the colormap for 3D mode.

void draw_arrows uint32_t *  dst,
int  dst_w,
int  dst_h,
vec4f *  dir_data,
float *  len_data,
int  add_data_idx,
float  arrowcnt_x,
float  arrowcnt_y,
float  arrow_width
 

Draw Arrows.

Parameters:
dst Pointer to the blit-destination
dst_w The blit-destination's width
dst_h The blit-destination's height
dir_data Pointer to the velocity-vectors of the flow-field
len_data Pointer to alternative magnitude-scaling factor
add_data_idx Index of alternative magnitude-scaling factor
arrowcnt_x Number of arrows per row
arrowcnt_y Number of arrows per column
arrow_width Arrow width

void draw_pencil_sketch uint32_t *  dst,
int  dst_w,
int  dst_h,
vec4f *  dir_data,
float *  len_data,
int  add_data_idx
 

Pencil-sketch Rendering. Use the current value (length, magnitude, ...) to select an appropriate sketch-texture.

Parameters:
dst Pointer to the blit-destination
dst_w The blit-destination's width
dst_h The blit-destination's height
dir_data Pointer to the velocity-vectors of the flow-field
len_data Pointer to alternative magnitude-scaling factor
add_data_idx Index of alternative magnitude-scaling factor

void draw_single_streamline uint32_t *  dst,
int  dst_w,
int  dst_h,
vec4f *  dir_data,
float  line_width,
float *  seed_point,
uint32_t  line_color
 

Draw single streamline. No additional logic, just a simple streamline evaluator and plotter.

Parameters:
dst Pointer to the blit-destination
dst_w The blit-destination's width
dst_h The blit-destination's height
dir_data Pointer to the velocity-vectors of the flow-field
line_width Streamline width
seed_point Pointer to seedpoint for this streamline
line_color Streamline color

void draw_streamlines_evenly_spaced uint32_t *  dst,
int  dst_w,
int  dst_h,
vec4f *  dir_data,
float  line_width,
float  dsep,
float  dtest,
uint32_t  line_color
 

Draw streamlines (evenly spaced).

Parameters:
dst Pointer to the blit-destination
dst_w The blit-destination's width
dst_h The blit-destination's height
dir_data Pointer to the velocity-vectors of the flow-field
line_width Streamline width
dsep Distance of new seedpoints to the streamline that spawned this new seedpoint
dtest Minimal distance to existing samplepoints at which further evaluation of current streamline ends
line_color Streamline color

void draw_streamlines_gridseed uint32_t *  dst,
int  dst_w,
int  dst_h,
vec4f *  dir_data,
float  line_width,
float  linecnt_x,
float  linecnt_y,
uint32_t  line_color
 

Draw streamlines (grid). Draw streamlines with seepoints placed on grid.

Parameters:
dst Pointer to the blit-destination
dst_w The blit-destination's width
dst_h The blit-destination's height
dir_data Pointer to the velocity-vectors of the flow-field
line_width Streamline width
linecnt_x Number of streamlines per row
linecnt_y Number of streamlines per column
line_color Streamline color

void getinput void   ) 
 

Input-handler.

Polls the input-devices. Keyboard, Mouse and Window-manager-events are handled here.


Generated on Mon Jan 22 17:35:12 2007 for PHFLOW - Flow Visualizer by  doxygen 1.4.6