16 #define TACHYON_INTERNAL 1    21 #if 0 && defined(__INTEL_COMPILER) && defined(__MIC__)    23 #include <immintrin.h>    27   return scene->objgroup.numobjects++; 
    31   return scene->objgroup.numobjects;
    41     cur->methods->freeobj(cur);
    54   temp.nextobj = ry->scene->objgroup.unboundedobj;
    56   while ((cur=cur->nextobj) != NULL) {
    57 #if 0 && defined(__INTEL_COMPILER) && defined(__MIC__)    58     _mm_prefetch(cur->nextobj, _MM_HINT_T0); 
    60     cur->methods->intersect(cur, ry); 
    64   temp.nextobj = ry->scene->objgroup.boundedobj;
    66   while ((cur=cur->nextobj) != NULL) {
    67 #if 0 && defined(__INTEL_COMPILER) && defined(__MIC__)    68     _mm_prefetch(cur->nextobj, _MM_HINT_T0); 
    70     cur->methods->intersect(cur, ry); 
    80     if (t < ry->maxdist) {
    83       ry->intstruct.closest.obj = obj;
    84       ry->intstruct.closest.t = t;
    93     if (t < ry->maxdist) {
    96       if (obj->clip != NULL) {
   101         for (i=0; i<obj->clip->numplanes; i++) {
   102           if ((obj->clip->planes[i * 4    ] * hit.x +
   103                obj->clip->planes[i * 4 + 1] * hit.y +
   104                obj->clip->planes[i * 4 + 2] * hit.z) > 
   105                obj->clip->planes[i * 4 + 3]) {
   113       ry->intstruct.closest.obj = obj;
   114       ry->intstruct.closest.t = t;
   120   if (ry->intstruct.num > 0) {
   121       *t = ry->intstruct.closest.t;
   122     *obj = ry->intstruct.closest.obj;
   125   return ry->intstruct.num;
   134     if (t < ry->maxdist) {
   138       if (!(obj->tex->flags & RT_TEXTURE_SHADOWCAST)) {
   139         if (ry->scene->shadowfilter)
   140           ry->intstruct.shadowfilter *= (1.0 - obj->tex->opacity);
   149       ry->flags |= RT_RAY_FINISHED;
   158     if (t < ry->maxdist) {
   162       if (!(obj->tex->flags & RT_TEXTURE_SHADOWCAST)) {
   163         if (ry->scene->shadowfilter)
   164           ry->intstruct.shadowfilter *= (1.0 - obj->tex->opacity);
   169       if (obj->clip != NULL) {
   174         for (i=0; i<obj->clip->numplanes; i++) {
   175           if ((obj->clip->planes[i * 4    ] * hit.x +
   176                obj->clip->planes[i * 4 + 1] * hit.y +
   177                obj->clip->planes[i * 4 + 2] * hit.z) > 
   178                obj->clip->planes[i * 4 + 3]) {
   189       ry->flags |= RT_RAY_FINISHED;
   196   if (ry->intstruct.num > 0) 
 void add_clipped_shadow_intersection(flt t, const object *obj, ray *ry)
 
unsigned int new_objectid(scenedef *scene)
 
int closest_intersection(flt *t, object const **obj, ray *ry)
 
int shadow_intersection(ray *ry)
 
double flt
generic floating point number, using double 
 
void add_clipped_intersection(flt t, const object *obj, ray *ry)
 
unsigned int max_objectid(scenedef *scene)
 
void add_shadow_intersection(flt t, const object *obj, ray *ry)
 
void free_objects(object *start)
 
void add_regular_intersection(flt t, const object *obj, ray *ry)
 
Tachyon public API function prototypes and declarations used to drive the ray tracing engine...
 
#define reset_intersection(ry)
 
void intersect_objects(ray *ry)