Blender V2.61 - r43446
Classes | Defines | Typedefs | Functions

rayobject_rtbuild.h File Reference

#include "rayobject.h"

Go to the source code of this file.

Classes

struct  RTBuilder
struct  RTBuilder::Object

Defines

#define RTBUILD_MAX_CHILDS   32

Typedefs

typedef struct RTBuilder RTBuilder

Functions

RTBuilderrtbuild_create (int size)
void rtbuild_free (RTBuilder *b)
void rtbuild_add (RTBuilder *b, RayObject *o)
void rtbuild_done (RTBuilder *b, RayObjectControl *c)
void rtbuild_merge_bb (RTBuilder *b, float *min, float *max)
int rtbuild_size (RTBuilder *b)
RayObjectrtbuild_get_primitive (RTBuilder *b, int offset)
RTBuilderrtbuild_get_child (RTBuilder *b, int child, RTBuilder *tmp)
int rtbuild_get_largest_axis (RTBuilder *b)
int rtbuild_mean_split (RTBuilder *b, int nchilds, int axis)
int rtbuild_mean_split_largest_axis (RTBuilder *b, int nchilds)
int rtbuild_heuristic_object_split (RTBuilder *b, int nchilds)
int rtbuild_median_split (RTBuilder *b, float *separators, int nchilds, int axis)
int rtbuild_median_split_largest_axis (RTBuilder *b, int nchilds)
float bb_area (float *min, float *max)
float bb_volume (float *min, float *max)
int bb_largest_axis (float *min, float *max)
int bb_fits_inside (float *outer_min, float *outer_max, float *inner_min, float *inner_max)

Detailed Description

Definition in file rayobject_rtbuild.h.


Define Documentation

#define RTBUILD_MAX_CHILDS   32

Definition at line 52 of file rayobject_rtbuild.h.

Referenced by rtbuild_init().


Typedef Documentation

typedef struct RTBuilder RTBuilder

Function Documentation

float bb_area ( float *  min,
float *  max 
)
int bb_fits_inside ( float *  outer_min,
float *  outer_max,
float *  inner_min,
float *  inner_max 
)

Definition at line 519 of file rayobject_rtbuild.cpp.

References i.

Referenced by hint_test_bb(), node_fits_inside(), and pushdown().

int bb_largest_axis ( float *  min,
float *  max 
)

Definition at line 496 of file rayobject_rtbuild.cpp.

float bb_volume ( float *  min,
float *  max 
)

Definition at line 477 of file rayobject_rtbuild.cpp.

void rtbuild_add ( RTBuilder b,
RayObject o 
)
RTBuilder* rtbuild_create ( int  size)
void rtbuild_done ( RTBuilder b,
RayObjectControl c 
)
void rtbuild_free ( RTBuilder b)
RTBuilder* rtbuild_get_child ( RTBuilder b,
int  child,
RTBuilder tmp 
)
int rtbuild_get_largest_axis ( RTBuilder b)
RayObject* rtbuild_get_primitive ( RTBuilder b,
int  offset 
)

Definition at line 168 of file rayobject_rtbuild.cpp.

References RTBuilder::sorted_begin.

Referenced by BuildBinaryVBVH< Node >::_transform().

int rtbuild_heuristic_object_split ( RTBuilder b,
int  nchilds 
)
int rtbuild_mean_split ( RTBuilder b,
int  nchilds,
int  axis 
)
int rtbuild_mean_split_largest_axis ( RTBuilder b,
int  nchilds 
)
int rtbuild_median_split ( RTBuilder b,
float *  separators,
int  nchilds,
int  axis 
)
int rtbuild_median_split_largest_axis ( RTBuilder b,
int  nchilds 
)
void rtbuild_merge_bb ( RTBuilder b,
float *  min,
float *  max 
)

Definition at line 201 of file rayobject_rtbuild.cpp.

References RTBuilder::bb, DO_MAX, DO_MIN, and rtbuild_calc_bb().

Referenced by BuildBinaryVBVH< Node >::_transform().

int rtbuild_size ( RTBuilder b)