File: povrayold.h

package info (click to toggle)
povray 1%3A3.7.0.10-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 147,232 kB
  • sloc: cpp: 845,011; ansic: 122,118; sh: 34,204; pascal: 6,420; asm: 3,355; ada: 1,681; makefile: 1,389; cs: 879; awk: 590; perl: 245; xml: 95
file content (176 lines) | stat: -rw-r--r-- 5,611 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
/*******************************************************************************
 * povrayold.h
 *
 * Obsolete data structures that have not been cleaned up yet!
 * Do not add anything new to this file.  Clean up stuff you need
 * as soon as possible.
 *
 * ---------------------------------------------------------------------------
 * Persistence of Vision Ray Tracer ('POV-Ray') version 3.7.
 * Copyright 1991-2013 Persistence of Vision Raytracer Pty. Ltd.
 *
 * POV-Ray is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as
 * published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version.
 *
 * POV-Ray is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 * ---------------------------------------------------------------------------
 * POV-Ray is based on the popular DKB raytracer version 2.12.
 * DKBTrace was originally written by David K. Buck.
 * DKBTrace Ver 2.0-2.12 were written by David K. Buck & Aaron A. Collins.
 * ---------------------------------------------------------------------------
 * $File: //depot/public/povray/3.x/source/povrayold.h $
 * $Revision: #1 $
 * $Change: 6069 $
 * $DateTime: 2013/11/06 11:59:40 $
 * $Author: chrisc $
 *******************************************************************************/

#ifndef POVRAY_H
#define POVRAY_H

#include <time.h>
#include <string>

#include "backend/frame.h"

namespace pov
{

using namespace pov_base;

/*****************************************************************************
* Global preprocessor defines
******************************************************************************/

#define STAGE_PREINIT         0  // set in POVRAY.C
#define STAGE_STARTUP         1  // set in POVRAY.C
#define STAGE_BANNER          2  // set in POVRAY.C
#define STAGE_INIT            3  // set in POVRAY.C
#define STAGE_FILE_INIT       4  // set in POVRAY.C
#define STAGE_PARSING         5  // set in PARSE.C
#define STAGE_CONTINUING      6  // set in POVRAY.C
#define STAGE_RENDERING       7  // set in POVRAY.C
#define STAGE_SHUTDOWN        8  // set in POVRAY.C
#define STAGE_CLEANUP_PARSE   9  // set in PARSE.C
#define STAGE_SLAB_BUILDING  10  // set in POVRAY.C
#define STAGE_TOKEN_INIT     11  // set in TOKENIZE.C
#define STAGE_INCLUDE_ERR    12  // set in TOKENIZE.C
#define STAGE_FOUND_INSTEAD  13  // set in TOKENIZE.C
#define STAGECOUNT           14  // number of stages

//#define DISPLAY           0x000001L
//#define VERBOSE           0x000002L
//#define DISKWRITE         0x000004L
//#define PROMPTEXIT        0x000008L
//#define ANTIALIAS         0x000010L
//#define RGBSEPARATE       0x000020L
//#define EXITENABLE        0x000040L
//#define CONTINUE_TRACE    0x000080L
#define JITTER            0x000100L
//#define PREVIEW           0x000200L
#define SPLIT_UNION       0x000400L
#define USE_VISTA_BUFFER  0x000800L
#define USE_LIGHT_BUFFER  0x001000L
#define USE_VISTA_DRAW    0x002000L
#define REMOVE_BOUNDS     0x004000L
//#define CYCLIC_ANIMATION  0x008000L
//#define OUTPUT_ALPHA      0x010000L
//#define HF_GRAY_16        0x020000L
//#define GAMMA_CORRECT     0x040000L
//#define FROM_STDIN        0x080000L
//#define TO_STDOUT         0x100000L

#define Q_FULL_AMBIENT    0x000001L
#define Q_QUICKC          0x000002L
#define Q_SHADOW          0x000004L
#define Q_AREA_LIGHT      0x000008L
#define Q_REFRACT         0x000010L
#define Q_REFLECT         0x000020L
#define Q_NORMAL          0x000040L
#define Q_VOLUME          0x000080L
#define Q_ADVANCED_LIGHT  0x000100L
#define Q_SUBSURFACE      0x000200L

#define EF_SSLT    1
#define EF_SLOPEM  2
#define EF_ISOFN   4
#define EF_SPLINE  8
#define EF_TIFF    16
#define EF_BACKILL 32
#define EF_MESHCAM 64

#define BF_VIDCAP  1
#define BF_RTR     2

#define QUALITY_0  Q_QUICKC+Q_FULL_AMBIENT
#define QUALITY_1  QUALITY_0
#define QUALITY_2  QUALITY_1-Q_FULL_AMBIENT
#define QUALITY_3  QUALITY_2
#define QUALITY_4  QUALITY_3+Q_SHADOW
#define QUALITY_5  QUALITY_4+Q_AREA_LIGHT
#define QUALITY_6  QUALITY_5-Q_QUICKC+Q_REFRACT
#define QUALITY_7  QUALITY_6
#define QUALITY_8  QUALITY_7+Q_REFLECT+Q_NORMAL
#define QUALITY_9  QUALITY_8+Q_VOLUME+Q_ADVANCED_LIGHT+Q_SUBSURFACE


/*****************************************************************************
* Global typedefs
******************************************************************************/

struct RadiositySettings
{
	int Quality;  // Q-flag value for light gathering

	int File_ReadOnContinue;
	int File_SaveWhileRendering;
	int File_AlwaysReadAtStart;
	int File_KeepOnAbort;
	int File_KeepAlways;
	char *Load_File_Name; //[FILE_NAME_LENGTH];
	char *Save_File_Name; //[FILE_NAME_LENGTH];
};

struct QualitySettings
{
	int Quality;
	unsigned int Quality_Flags;
	int Tracing_Method;
	int AntialiasDepth;
	DBL Antialias_Threshold;
	DBL JitterScale;
};

typedef struct OPTIONS_STRUCT
{
	unsigned int Options;

	int Abort_Test_Counter;

	char *Ini_Output_File_Name;

	char *Header_File_Name;
} Opts;

}

/*****************************************************************************
* Global functions
******************************************************************************/

namespace pov
{

void Do_Cooperate(int level);

}

#endif