Attempt to fix nightly build.
[AROS-Contrib.git] / gfx / povray / point.h
blobe7960fece38ad5b187b6e0cb5280a39fc25dc88a
1 /****************************************************************************
2 * point.h
4 * This module contains all defines, typedefs, and prototypes for POINT.C.
6 * from Persistence of Vision(tm) Ray Tracer
7 * Copyright 1996,1999 Persistence of Vision Team
8 *---------------------------------------------------------------------------
9 * NOTICE: This source code file is provided so that users may experiment
10 * with enhancements to POV-Ray and to port the software to platforms other
11 * than those supported by the POV-Ray Team. There are strict rules under
12 * which you are permitted to use this file. The rules are in the file
13 * named POVLEGAL.DOC which should be distributed with this file.
14 * If POVLEGAL.DOC is not available or for more info please contact the POV-Ray
15 * Team Coordinator by email to team-coord@povray.org or visit us on the web at
16 * http://www.povray.org. The latest version of POV-Ray may be found at this site.
18 * This program is based on the popular DKB raytracer version 2.12.
19 * DKBTrace was originally written by David K. Buck.
20 * DKBTrace Ver 2.0-2.12 were written by David K. Buck & Aaron A. Collins.
22 *****************************************************************************/
25 #ifndef POINT_H
26 #define POINT_H
28 #include "vlbuffer.h"
32 /*****************************************************************************
33 * Global preprocessor defines
34 ******************************************************************************/
36 #define LIGHT_OBJECT (COMPOUND_OBJECT+PATCH_OBJECT+LIGHT_SOURCE_OBJECT)
40 /* Light source types. */
42 #define POINT_SOURCE 1
43 #define SPOT_SOURCE 2
44 #define FILL_LIGHT_SOURCE 3
45 #define CYLINDER_SOURCE 4
49 /*****************************************************************************
50 * Global typedefs
51 ******************************************************************************/
53 typedef struct Light_Source_Struct LIGHT_SOURCE;
55 struct Light_Source_Struct
57 COMPOUND_FIELDS
58 COLOUR Colour;
59 VECTOR Direction, Center, Points_At, Axis1, Axis2;
60 DBL Coeff, Radius, Falloff;
61 DBL Fade_Distance, Fade_Power;
62 LIGHT_SOURCE *Next_Light_Source;
63 unsigned char Light_Type, Area_Light, Jitter, Track;
64 int Area_Size1, Area_Size2;
65 int Adaptive_Level;
66 int Media_Attenuation;
67 int Media_Interaction;
68 COLOUR **Light_Grid;
69 OBJECT *Shadow_Cached_Object;
71 /* Light buffers for the six general directions in space. [DB 9/94] */
73 PROJECT_TREE_NODE *Light_Buffer[6];
79 /*****************************************************************************
80 * Global variables
81 ******************************************************************************/
86 /*****************************************************************************
87 * Global functions
88 ******************************************************************************/
90 LIGHT_SOURCE *Create_Light_Source (void);
91 DBL Attenuate_Light (LIGHT_SOURCE *Light_Source, RAY *Light_Source_Ray, DBL Distance);
92 COLOUR **Create_Light_Grid (int Size1, int Size2);
96 #endif