home *** CD-ROM | disk | FTP | other *** search
Wrap
/* name: protos.h Global prototypes ----------------- */ /* Prototypes for functions defined in raylab.c */ void ScanWorld(void); void ScanOnePoint(COLOR *Color, POINT *CameraLocation, POINT *ScreenLocation, VECTOR *dx, VECTOR *dy, int ColumnFirst, int ColumnLast, int RowFirst, int RowLast, long AARec); long TraceRay(COLOR *Color, LINE *RayLine, long RecurseLevel); long TestShadowRay(LINE *RayLine, long CurrentObject); void cleanup(void); /* Prototypes for functions defined in (platform).c */ long OpenDisplay(long DisplayType); void CloseDisplay(void); void DisplayPlot(int x, int y, unsigned char RGBColor[]); /* Prototypes for functions defined in intersct.c */ double Intersect_Object(LINE *Line, OBJECT *Object); double Intersect_Plane(LINE *Line, PLANE *Plane); double Intersect_Sphere(LINE *Line, SPHERE *Sphere); double Intersect_Ellipsoid(LINE *Line, ELLIPSOID *Ellipsoid); double Intersect_Triangle(LINE *Line, TRIANGLE *Triangle); double Intersect_Box(LINE *Line, BOX *Box); double Intersect_Disc(LINE *Line, DISC *Disc); double Intersect_Cylinder(LINE *Line, CYLINDER *Cylinder); /* Prototypes for functions defined in objects.c */ void GetSurfaceNormal(VECTOR *SurfNorm, POINT *SurfPoint, OBJECT *Object); void FreeAllObjectMemory(void); void ClearTransform(TRANSFORM *t); void CopyTransform(TRANSFORM *t2, TRANSFORM *t1); void AddTransform(TRANSFORM *t2, TRANSFORM *t1); /* Prototypes for functions defined in camera.c */ void CreateCamera(CAMERA *Camera, POINT *Loc, POINT *VP, VECTOR *Asp); /* Prototypes for functions defined in texture.c */ void CreateDefTexture(TEXTURE *t); void CopyTexture(TEXTURE *t2, TEXTURE *t1); void CopyColor(COLOR *c2, COLOR *c1); void GetSurfaceColor(COLOR *Color, TEXTURE *t, POINT *ip); double PatternChecker(POINT *ip); double PatternCircles(POINT *ip); double PatternRings(POINT *ip); double PatternSpots(POINT *ip); double PatternGradient(POINT *ip); /* Prototypes for functions defined in algebra.c */ void CreateVector(VECTOR *v, double vx, double vy, double vz); void CopyVector(VECTOR *v2, VECTOR *v1); void AddVector(VECTOR *v3, VECTOR *v1, VECTOR *v2); void SubVector(VECTOR *v3, VECTOR *v1, VECTOR *v2); void NegVector(VECTOR *v2, VECTOR *v1); void CrossProduct(VECTOR *v3, VECTOR *v1, VECTOR *v2); double DotProduct(VECTOR *v1, VECTOR *v2); void ScaleVector(VECTOR *v2, double t, VECTOR *v1); double VectorLength(VECTOR *v); double VectorsAngle(VECTOR *v1, VECTOR *v2); void CreatePoint(POINT *p, double px, double py, double pz); void CopyPoint(POINT *p2, POINT *p1); void MakeLine(LINE *l, POINT *p1, POINT *p2); void ReflectVector(VECTOR *v2, VECTOR *v1, VECTOR *n); void Rotate2D(double *x, double *y, double ar); void RotatePoint(POINT *p, VECTOR *RotV); void RotateVector(VECTOR *v, VECTOR *RotV); void RevRotatePoint(POINT *p, VECTOR *RotV); void RevRotateVector(VECTOR *v, VECTOR *RotV);