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
|