16 #define TACHYON_INTERNAL 1    20 flt VDot(
const vector *a, 
const vector *b) {
    21   return (a->x*b->x + a->y*b->y + a->z*b->z);
    24 void VCross(
const vector * a, 
const vector * b, vector * c) {
    25   c->x = (a->y * b->z) - (a->z * b->y);
    26   c->y = (a->z * b->x) - (a->x * b->z);
    27   c->z = (a->x * b->y) - (a->y * b->x);
    31   return (
flt) 
SQRT((a->x * a->x) + (a->y * a->y) + (a->z * a->z));
    37   len=
SQRT((a->x * a->x) + (a->y * a->y) + (a->z * a->z));
    45 void VAdd(
const vector * a, 
const vector * b, vector * c) {
    51 void VSub(
const vector * a, 
const vector * b, vector * c) {
    57 void VAddS(
flt a, 
const vector * A, 
const vector * B, vector * C) {
    58   C->x = (a * A->x) + B->x;
    59   C->y = (a * A->y) + B->y;
    60   C->z = (a * A->z) + B->z;
    66   temp.x=a->o.x + (a->d.x * t);
    67   temp.y=a->o.y + (a->d.y * t);
    68   temp.z=a->o.z + (a->d.z * t);
 void ColorScale(color *a, flt s)
 
void ColorAddS(color *a, const color *b, flt s)
 
void VAdd(const vector *a, const vector *b, vector *c)
 
void ColorAccum(color *a, const color *b)
 
void VScale(vector *a, flt s)
 
flt VDot(const vector *a, const vector *b)
 
flt VLength(const vector *a)
 
void VSub(const vector *a, const vector *b, vector *c)
 
double flt
generic floating point number, using double 
 
void VAddS(flt a, const vector *A, const vector *B, vector *C)
 
vector Raypnt(const ray *a, flt t)
 
Tachyon public API function prototypes and declarations used to drive the ray tracing engine...
 
void VCross(const vector *a, const vector *b, vector *c)