fhrt_noip_adapt.c File Reference

Handles basic non-lit cuberille-mode(s). More...

#include "rendermodes.h"

Defines

#define REFINE
#define SPIVIS
#define TEST_FHRT_NOIP_ADAPT
#define skymap_lookup(ftmpv, sc_off, zoff)
#define FOURER

Functions

int intersect_noip_adapt (float *vec, float *ipos, float *isect)
 Intersect ray with Boundind-Box of Volume.
void fhrt_noip_adapt (rendersurf *rtsurf, uint32_t *voxel, float *ipos, float *ifor, float *iup, float *istr)
 Generate rays to cover the screen.

Variables

int pos_x
int pos_y
int pos_z
float ftmpv [4]
float ftmpv_CUBE [4]
float add_x [3]
float add_y [3]
int ADAPT_STEP
unsigned char diffborder
 unsigned char diffborder=10;
SDL_Surface * sky
uint32_t * sdata
int dist_estimate
int isect_pos


Detailed Description

Handles basic non-lit cuberille-mode(s).

There is also an option to show the occlusion-data only.


Function Documentation

void fhrt_noip_adapt rendersurf *  rtsurf,
uint32_t *  voxel,
float *  ipos,
float *  ifor,
float *  iup,
float *  istr
 

Generate rays to cover the screen.

A simple adaptive raycasting-scheme is followed here. If the colors of adjacent coarse-grid-scanpoint differ too much, then new rays are cast. This happens "recursively" until either small enough blocks are reached, or the pixels don't differ too much and can therefore be filled with the "unique" color of the 4 adjacents pixels.

Parameters:
rtsurf Pointer to surface to draw to.
voxel Pointer to the 3D dataset.
ipos Pointer to the camera-position.
ifor Pointer to the camera-viewvector.
iup Pointer to the camera-upvector.
istr Pointer to the camera-strafevector.

int intersect_noip_adapt float *  vec,
float *  ipos,
float *  isect
 

Intersect ray with Boundind-Box of Volume.

Parameters:
vec Pointer to current ray-vector.
ipos Pointer to the eye-position.
isect Pointer to the intersection-point.
Returns:
Returns 1 if ray intersects volume and 0 if not


Generated on Wed Dec 13 08:40:13 2006 for PHDVR - Direct Volume Renderer by  doxygen 1.4.6