17 #define TACHYON_INTERNAL 1 31 #define SPHEREFACETS 25 42 tmp.
x = z.
y - 2.1111111;
43 tmp.
y = -z.
z + 3.14159267;
44 tmp.
z = z.
x - 3.915292342341;
58 p1.
x = p1.
y = p1.
z = 0.0;
61 VAddS(u, &x, &p1, &p1);
62 VAddS(v, &y, &p1, &p1);
65 VAddS(1.0, &ctr, &p1, &p1);
68 VAddS(u2, &x, &p2, &p2);
69 VAddS(v2, &y, &p2, &p2);
72 VAddS(1.0, &ctr, &p2, &p2);
74 VAddS(1.0, &axis, &p1, &p3);
75 VAddS(1.0, &axis, &p2, &p4);
77 rt_stri(scene, tex, p1, p2, p3, n1, n2, n1);
78 rt_stri(scene, tex, p3, p2, p4, n1, n2, n2);
95 tmp.
x = z.
y - 2.1111111;
96 tmp.
y = -z.
z + 3.14159267;
97 tmp.
z = z.
x - 3.915292342341;
111 p1.
x = p1.
y = p1.
z = 0.0;
114 VAddS(u, &x, &p1, &p1);
115 VAddS(v, &y, &p1, &p1);
118 VAddS(a, &n1, &ctr, &p1);
119 VAddS(b, &n1, &ctr, &p3);
121 VAddS(u2, &x, &p2, &p2);
122 VAddS(v2, &y, &p2, &p2);
125 VAddS(a, &n2, &ctr, &p2);
126 VAddS(b, &n2, &ctr, &p4);
128 rt_stri(scene, tex, p1, p2, p3, norm, norm, norm);
129 rt_stri(scene, tex, p3, p2, p4, norm, norm, norm);
void rt_tri_plane(SceneHandle scene, void *tex, apivector ctr, apivector norm)
void rt_tri_fcylinder(SceneHandle scene, void *tex, apivector ctr, apivector axis, flt rad)
void VSub(apivector *a, apivector *b, apivector *c)
void VAddS(flt a, apivector *A, apivector *B, apivector *C)
flt VDot(apivector *a, apivector *b)
void rt_tri_sphere(SceneHandle scene, void *tex, apivector ctr, flt rad)
double flt
generic floating point number, using double
void rt_tri(SceneHandle voidscene, void *tex, apivector v0, apivector v1, apivector v2)
Define a flat-shaded triangle.
void VCross(apivector *a, apivector *b, apivector *c)
flt x
X coordinate or direction component.
flt y
Y coordinate or direction component.
void rt_fcylinder(SceneHandle scene, void *tex, apivector ctr, apivector axis, flt rad)
Define a finite-length cylinder.
void rt_tri_ring(SceneHandle scene, void *tex, apivector ctr, apivector norm, flt a, flt b)
void rt_stri(SceneHandle voidscene, void *tex, apivector v0, apivector v1, apivector v2, apivector n0, apivector n1, apivector n2)
Define a smooth-shaded triangle using interpolated vertex normals.
apivector rt_vector(flt x, flt y, flt z)
Helper function to make vectors.
void rt_tri_cylinder(SceneHandle scene, void *tex, apivector ctr, apivector axis, flt rad)
void rt_tri_box(SceneHandle scene, void *tex, apivector min, apivector max)
void VAdd(apivector *a, apivector *b, apivector *c)
Tachyon public API function prototypes and declarations used to drive the ray tracing engine...
flt z
Z coordinate or direction component.