00001 /*
00002 File: RadControl.cc
00003
00004 Function: See header file
00005
00006 Author(s): Andrew Willmott
00007
00008 Copyright: Copyright (c) 2000, Andrew Willmott
00009
00010 Notes:
00011
00012 */
00013
00014 #include "RadControl.h"
00015
00016
00017 Int radVersionMajor = 2;
00018 Int radVersionMinor = 1;
00019 Int radVersionFix = 0;
00020
00021 TempString RadGetVersion()
00022 {
00023 TempString rv;
00024
00025 rv.Printf("Radiator version %d.%d.%d",
00026 radVersionMajor, radVersionMinor, radVersionFix);
00027
00028 return(rv);
00029 }
00030
00031 Reflectance kRadRGBToLum(1.0 / 3.0, 1.0 / 3.0, 1.0 / 3.0);
00032
00033 RadControl *gRadControl = 0;
00034
00035
00036 // --- Default radiosity options ----------------------------------------------
00037
00038
00039 RadControl::RadControl() :
00040
00041 // solution technique
00042 method(kMatrix),
00043 basis(kHaar),
00044
00045 // method parameters
00046 patchSubdivs(2.0),
00047 eltSubdivs(2.0),
00048 alpha(1.0),
00049 error(0.01),
00050
00051 kAError(1e-6),
00052 kFError(0.01),
00053
00054 solver(sv_scheduled),
00055 useBF(true),
00056 cluster(true),
00057 gridOn(true),
00058 textureRefl(false),
00059 useConjGrad(false),
00060 ambient(false),
00061 refAllLinks(true),
00062 refineLevels(4),
00063 maxShots(-1),
00064 schedIterations(3),
00065
00066 // visibility
00067 visibility(vis_4x4),
00068 jitterRot(true),
00069 dFError(0.05),
00070 visError(0.1),
00071 quadLevel(1),
00072 forceVisReuseArea(0.2),
00073 sampleFactor(20),
00074 visInQuad(false),
00075 favourReceiver(1.0),
00076
00077 // meshing
00078 mesh(mesh_std),
00079 fixMesh(false),
00080 connectMesh(true),
00081 noGridMesh(false),
00082
00083 // MR complexity
00084 rtComplexity(1.0),
00085 meshComplexity(1.0),
00086
00087 // simulation
00088 stop(false),
00089 step(false),
00090 pause(false),
00091
00092 // display options
00093 graded(true),
00094 anchor(true),
00095 gouraud(false),
00096 texture(false),
00097 wire(false),
00098 redWire(false),
00099 shotDisplay(0),
00100 patchView(0),
00101 pvData(0),
00102 funcView(0),
00103 animate(0),
00104 showRays(false),
00105 showLinks(false),
00106 showFCs(false),
00107 choke(0),
00108 drawMatrix(true),
00109 outlineClusters(false),
00110 outlineVisGrid(false),
00111
00112 finalPass(false),
00113 bestPass(false),
00114 bestVisPass(false),
00115 bestLevels(0),
00116
00117 // render objects
00118 radObject(0),
00119 stage(0),
00120
00121 // render stats
00122 dumpTree(false),
00123 dumpScenes(false),
00124 updateScene(false),
00125 sliceTime(1e10), // dump stats only after termination.
00126 limitTime(1e10), // don't place any time limit on termination
00127 numPolys(0),
00128 rays(0),
00129 mem(0.0),
00130 outFile("out"),
00131
00132 // extra for debugging & hacking in new stuff.
00133 o1(false), o2(false), o3(false), o4(false), o5(false), o6(false)
00134 {
00135 }
00136