fhrt_plane_sphere.c File Reference

Handles the drawing of planes and spheres. More...

#include "rendermodes.h"
#include "macros_isoval.h"
#include "macros_equi.h"

Defines

#define skymap_lookup(ftmpv, sc_off, zoff)
#define PHONG_ILLUM_IPOL_CUT(cin, dst)

Functions

int intersect_bb (float *vec, float *ipos, float *isect, float *nearest)
 Intersect ray with Boundind-Box of Volume.
int intersect_sphere (float *ftmpv_in, float *ipos, float *isect, float *hit_dist)
 Intersect ray with sphere.
int intersect_plane (float *ftmpv_in, float *ipos, float *isect, float *hit_dist)
 Intersect ray with plane.
void fhrt_plane_sphere (rendersurf *rtsurf, uint32_t *voxel, float *ipos, float *ifor, float *iup, float *istr)
 Generate rays to cover the screen.
void fhrt_bb (rendersurf *rtsurf, uint32_t *voxel, float *ipos, float *ifor, float *iup, float *istr)

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 in_volume


Detailed Description

Handles the drawing of planes and spheres.

Is used for the "schematic/abstract" view-mode when cutting the volume.


Function Documentation

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

Generate rays to cover the screen.

A ray for every 2x2 pixels is shot to draw the "abstract-cutting"-sphere/plane and the dataset's bounding box.

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_bb float *  vec,
float *  ipos,
float *  isect,
float *  nearest
 

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.
nearest Pointer to the distance from the eye to the intersection-point.
Returns:
Returns 1 if ray intersects volume and 0 if not

int intersect_plane float *  ftmpv_in,
float *  ipos,
float *  isect,
float *  hit_dist
 

Intersect ray with plane.

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

int intersect_sphere float *  ftmpv_in,
float *  ipos,
float *  isect,
float *  hit_dist
 

Intersect ray with sphere.

Parameters:
ftmpv_in Pointer to current ray-vector.
ipos Pointer to the eye-position.
isect Pointer to the intersection-point.
hit_dist Pointer to the distance from the eye 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