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)