Main Page Class Hierarchy Compound List File List Compound Members File Members

RadControl.h

Go to the documentation of this file.
00001 /*
00002 File: RadControl.h
00003 
00004 Function: Defines a structure for all of the possible options for
00005 the various radiosity illumination methods.
00006 
00007 Author(s): Andrew Willmott
00008 
00009 Copyright: (c) 1997-2000, Andrew Willmott
00010 */
00011 
00012 #ifndef __RadOptions__
00013 #define __RadOptions__
00014 
00015 #include "gcl/Renderer.h"
00016 #include "gcl/Scene.h"
00017 
00018  enum RadType
00019 {
00020 kNoMethod,
00021 kMatrix,
00022 kProgressive,
00023 kProgSubstruct,
00024 kHierarchical, 
00025 kAnalytical,
00026 kNumRadMethods
00027 };
00028 
00029  enum HRBasisType
00030 {
00031 kHaar = 1,
00032 kFlatlet2,
00033 kFlatlet3,
00034 kMultiwavelet2,
00035 kMultiwavelet3
00036 };
00037 
00039  enum VisType 
00040 {
00041 vis_none, 
00042 vis_1, 
00043 vis_16x1, 
00045 vis_4x4 
00047 };
00048 
00049  enum MeshType
00050 {
00051 mesh_std, 
00052 mesh_random, 
00053 mesh_nonlin 
00054 };
00055 
00056  enum SolverType
00057 {
00058 sv_twoStage, 
00059 sv_interleaved, 
00060 sv_scheduled 
00061 };
00062 
00063 class HRElem;
00064 class RadMethod;
00065 
00068  class RadControl 
00069 { 
00070 public: 
00071 
00072 RadControl();
00073 
00074 // Options for the current render
00075 
00076  RadType method;
00077  HRBasisType basis;
00078 
00079 // Method options
00080 
00081  GCLReal patchSubdivs; 
00082  GCLReal eltSubdivs; 
00083  GCLReal alpha; 
00084  GCLReal error; 
00085 
00086  GCLReal kFError; 
00087  GCLReal kAError; 
00088  SolverType solver; 
00089  Bool useBF; 
00090  Bool cluster; 
00091  Bool gridOn; 
00092  Bool textureRefl; 
00093  Bool useConjGrad; 
00094  Bool ambient; 
00095  Bool refAllLinks; 
00097  Int refineLevels; 
00099  Int maxShots; 
00100  Int schedIterations; 
00101 
00102 // Visibility and form factor stuff.
00103 
00104  VisType visibility; 
00105  Bool jitterRot; 
00107  GCLReal dFError; 
00109  GCLReal visError; 
00113  Int quadLevel; 
00114  GCLReal forceVisReuseArea; 
00116  GCLReal sampleFactor; 
00117  Bool visInQuad; 
00119  GCLReal favourReceiver; 
00122 // Mesh options
00123 
00124  MeshType mesh; 
00125  Bool fixMesh; 
00126  Bool connectMesh; 
00127  Bool noGridMesh; 
00128 
00129 // MR complexity options
00130 
00131  GCLReal rtComplexity; 
00132  GCLReal meshComplexity; 
00133 
00134 // Simulation opts.
00135 
00136  Bool stop;
00137  Bool step;
00138  Bool pause;
00139 
00140 // Display options
00141 
00142  Bool graded; 
00143  Bool anchor; 
00144  Bool gouraud; 
00145  Bool texture; 
00146  Bool wire; 
00147 
00148  Bool redWire; 
00149  Bool shotDisplay; 
00150  Bool patchView; 
00151  HRElem *pvData; 
00152  Bool funcView; 
00153 
00154  Bool animate; 
00155  Bool showRays; 
00156  Bool showLinks; 
00157  Bool showFCs; 
00158 
00159  Int choke; 
00161  Bool drawMatrix; 
00162 
00163  Bool outlineClusters;
00164  Bool outlineVisGrid;
00165 
00166  Bool finalPass; 
00167  Bool bestPass; 
00168  Bool bestVisPass; 
00169  Int bestLevels; 
00170 
00171 // debugging, adding code
00172 
00173  Bool o1, o2, o3, o4, o5, o6; 
00174 
00175 // Objects relevant to the current render
00176 
00177  RadMethod *radObject;
00178  Int stage;
00179 
00180 // Statistics for the current render
00181 
00182 Bool dumpTree;
00184 Bool dumpScenes;
00186 Bool updateScene;
00188  GCLReal sliceTime, limitTime;
00189  Int numPolys;
00190  Int rays;
00191  GCLReal mem;
00192  StrConst outFile;
00193 };
00194 
00195  extern Reflectance kRadRGBToLum;
00196  extern Int radVersionMajor;
00197  extern Int radVersionMinor;
00198  extern Int radVersionFix;
00199  extern RadControl *gRadControl;
00200 
00201 TempString RadGetVersion();
00202 
00203 #endif

Generated at Sat Aug 5 00:26:52 2000 for Radiator by doxygen 1.1.0 written by Dimitri van Heesch, © 1997-2000

AltStyle によって変換されたページ (->オリジナル) /