!
! rad application defaults:
!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! Background colors
!
Rad*background: gray
! No idea why the following are not inherited from the parent widgets ...
*formBox.background: grey
*formField.background: grey
*fieldValue.background: grey
*fieldLabel.background: grey
!
! Default canvas size
!
*canvas.width: 800
*canvas.height: 600
!
! File menu labels:
!
*fileButton.labelString: File
*loadButton.labelString: Load Scene
*loadBox.pattern: *.mgf
*computeButton.labelString: Compute
*pauseButton.labelString: Pause
*statsButton.labelString: Statistics
*saveButton.labelString: Save Image
*filenamePromptBox.selectionLabelString: Enter file name:
*exitButton.labelString: Exit
*surfeditButton.labelString: Edit Surfaces
*editMessageDialog.messageString: \
Point to the surface you want to edit and click\n\
the left mouse button. A dialog will appear in\n\
which you can edit the surface characteristics.
*editMaterialBox.background: gray
!
! Algorithm menu
!
*algorithmButton.labelString: Radiosity
*methodButton.labelString: Method
!
! Solution method submenu
!
*SouthwellButton.labelString: Shooting
*GaussSeidelButton.labelString: Gathering
!
! Formfactors submenu
!
*formfactorsButton.labelString: Formfactors
!
! Cubature rules subsubmenus
!
*FFCubatureButton.labelString: Cubature Rules
*FFCubaRcvButton.labelString: Receiving patch
*FFCubaEmtButton.labelString: Source patch
*FFCubaDeg3Button.labelString: degree 3 - 4 nodes
*FFCubaDeg5Button.labelString: degree 5 - 7 nodes
*FFCubaDeg7Button.labelString: degree 7 - 12 nodes
*FFCubaDeg3PButton.labelString: degree 3 - 4 nodes product rule (quads only)
*FFCubaDeg5PButton.labelString: degree 5 - 9 nodes product rule (quads only)
*FFCubaDeg7PButton.labelString: degree 7 - 16 nodes product rule (quads only)
!
! Shaftculling subsubmenu
!
*shaftcullButton.labelString: Shaftculling
*shaftcullNeverButton.labelString: Never
*shaftcullRefineButton.labelString: For H-Refinement 
*shaftcullAlwaysButton.labelString: Always
!
! Tolerances panel
!
*tolerancesButton.labelString: Tolerances
*tolerancesOKButton.labelString: OK
*tolerancesCancelButton.labelString: Cancel
!
*HRefinementButton.labelString: H-Refinement
*importanceButton.labelString: Importance
!
! Render menu 
!
*renderButton.labelString: Rendering
*whatToRenderButton.labelString: Render What?
!
! What to Render submenu
!
*reflectivityButton.labelString: Reflectivity
*radianceButton.labelString: Radiance
*unshotRadianceButton.labelString: Unshot Radiance
*importanceButton.labelString: Importance
*unshotImportanceButton.labelString: Unshot Importance
*patchIdButton.labelString: Patch IDs
!
*ambientButton.labelString: Ambient
*gouraudButton.labelString: Gouraud Shading
*backfacecullButton.labelString: Backfaceculling
*drawoutlineButton.labelString: Draw Outlines
*showlinksButton.labelString: Show Links
*TVelimButton.labelString: TV-Elimination
!
! Post Pass Menu
!
*postPassButton.labelString: 2nd Pass
*raycastButton.labelString: Raycast
!
! Camera submenu
!
*cameraButton.labelString: Camera
*editCameraButton.labelString: Edit
*editCameraBox.background: gray
*editCameraBox.okLabelString: Set
*editCameraBox.cancelLabelString: Dismiss
*saveCameraButton.labelString: Save
*restoreCameraButton.labelString: Restore
*setAlternateCameraButton.labelString: Set Alternate
*toggleAlternateCameraButton.labelString: Toggle Alternate
!
! Preferences menu
!
*optionsButton.labelString: Preferences
*demoButton.labelString: Demo Mode
*outlineColorButton.labelString: Outline Color
*outlineColorOKButton.labelString: OK
*outlineColorCancelButton.labelString: Cancel
*linkColorButton.labelString: Link Color
*linkColorOKButton.labelString: OK
*linkColorCancelButton.labelString: Cancel
!
! Movie options submenu
!
*movieOptionsButton.labelString: Movie Options
*movieModeButton.labelString: Make Movie
*saveRadianceButton.labelString: Save Radiance
*saveUnshotRadianceButton.labelString: Save Unshot Radiance
*saveImportanceButton.labelString: Save Importance
*saveUnshotImportanceButton.labelString: Save Unshot Importance
*saveAltRadianceButton.labelString: Save Alt Radiance
*saveAltUnshotRadianceButton.labelString: Save Alt Unshot Radiance
*saveAltImportanceButton.labelString: Save Alt Importance
*saveAltUnshotImportanceButton.labelString: Save Alt Unshot Importance
!
*gammaButton.labelString: Gamma Correction
*gammaOKButton.labelString: OK
*gammaCancelButton.labelString: Cancel
!
! mgf options submenu
!
*mgfOptionsButton.labelString: MGF Options
*mgfIgnoreSidednessButton.labelString: 1-sided Surfaces
*mgfNrQuartCircDivButton.labelString: Discretisation
*mgfNrQuartCircDivOKButton.labelString: OK
*mgfNrQuartCircDivCancelButton.labelString: Cancel
!
! Debug submenu (only shown when compiling main.c with -DDEBUG)
!
*debugButton.labelString: Debug
*plotPatchRadianceButton.labelString: Plot Patch Radiance
*showRadianceAtPointButton.labelString: Radiance at Point
*oneIterationButton.labelString: One Iteration
*dumpWorldButton.labelString: Dump World
*dumpPatchButton.labelString: Select and Dump Patch
*monitorSelectButton.labelString: Select Patch for Monitoring
*monitorUnselectButton.labelString: Unselect Patch for Monitoring
!
! Help menu 
!
*helpButton.labelString: Help
*helpMenu.labelString: Help
!
! Help dialog box
!
*helpScrollW.height: 400
*helpScrollW.width: 550
*helpLabel.labelString: A short note how to use this program:\n\
\n\
1) Select 'Load Scene' in the 'File' menu to load a scene (Greg Wards MGF format, \n\
see http://radsite.lbl.gov/mgf/HOME.html). There are a number of examples scenes \n\
(.mgf files) in the Scenes subdirectory. Some (not properly constructed) models \n\
seem to have missing faces (that will appear when switching Backfaceculling off\n\
in the Render menu). If this is the case, click the '1-sided surfaces'\n\
button in the MGF options submenu of the Preferences menu. Clicking the other\n\
button (Discretisation) in that submenu will pop up a dialog to control the\n\
precision by which curved surfaces are discretised.\n\
\n\
2) choose under 'Radiosity' what radiosity solution method\n\
you'd like to use --- gathering: fine for smaller scenes, or shooting, this is \n\
the progressive radiosity algorithm ---, whether you want hierarchical \n\
refinement --- you'll like it in far most cases --- or to use importance for\n\
faster view-dependent solutions --- useful for complex scenes of which only a \n\
relatively small part is visible at any time ---. The other parameters \n\
(tolerances, form factor options...) should be OK for most cases,\n\
but you can play with them to obtain faster rough solutions, or if you like\n\
more accurate results (which will take much more memory or CPU time or both).\n\
\n\
3) You can find a good viewing position by holding a mouse key and moving the \n\
mouse: moving while holding the left key will turn the camera around the viewing \n\
position, while pressing the right key will move the camera forward/backward/left/\n\
right without turning, and while holding the middle key will move the camera \n\
up/down/left/right without turning. Note that you move the camera, you are not \n\
manipulating the objects you see. You can also change the viewing position/direction \n\
while the computations are going on (clock-cursor shown in the rendering window) \n\
but it might take a while before the program will react (it will wait for a 'safe' \n\
moment to do so). You can also directly input the coordinates of the viewong position\n\
and point of interest by selecting 'Edit' in the 'Camera' menu. You can also\n\
save/restore the current camera (push/pull it onto/from a stack) or set the \n\
'alternate' camera to the current one. 'Toggle Alternate' switches the\n\
current and alternate camera. This feature is there mainly for demonstration\n\
purposes or 'making movies' (see below).\n\
\n\
4) By default, the radiance of the surfaces is rendered with an estimate of\n\
ambient light in the scene (based on unshot power). If you don't like\n\
the ambient light term for visualisation, switch it off by clicking the\n\
Ambient button in the Render menu. You can get a picture of the reflectivities\n\
of the patches, or the unshot radiance, importance ... by clicking the buttons\n\
in the Render What submenu. Switch Gouraud interpolation, T-vertex elimintation and\n\
backface culling on and off with the Gouraud, TV-Elimination and Backfaceculling\n\
button. Draw Outlines renders the edges of the patches and Show Links draws lines\n\
between the midpoints of linked patches.\n\
\n\
5) Fill in a higher 'gamma correction' value through the 'Preferences' menu if \n\
the images appaer abnormally dark to your taste. I sometimes use 1.8 or 2.2.\n\
Select 'Compute' in the 'File' menu. The computation will stop if you\n\
select 'Pause' while computing or the program thinks the computations have \n\
converged (depends on the tolerances, the type of algorithm used ...).\n\
Resume the computations by selecting 'Compute' again. Demo Mode in the\n\
Preferences menu draws the outlines of patches while they are being subdivided\n\
(when doing hierarchical refinement). So you have the impression that the program\n\
might really be doing something while you are sitting there and watching.\n\
\n\
6) By selecting 'Edit Surfaces' in the 'File' menu you can change surface \n\
characteristics before doing the computations, or when paused. After \n\
selecting it, the cursor in the view window changes into a crosshair. Position\n\
it on the surface you want to edit and press the left mouse key. A menu appears\n\
where you can fill in new values for the reflectance and also the selfemitted\n\
power per unit area.\n\
\n\
7) You can make a raycast image of a radiosity scene by clicking the RayCast\n\
button in the 2nd Pass menu. This menu will be more complete and useful in\n\
next versions of this program. The result is written to a file (a dialog will\n\
appear to ask you for a file name) in raw PPM format. \n\
\n\
8) Making movies: you can save various images after each iteration in raw\n\
ppm format when activating 'Make Movie' in the 'File' menu: you can\n\
save the radiance, unshot radiacne, importance and/or unshot importance as seen\n\
by the current and/or alternate camera. Select what you want in the \n\
'Movie Options' submenu of 'Preferences'. Saving the radiance as seen by the \n\
current camera is probably the only really usefull thing. The rest is there\n\
because I needed it for preparing pictures for my article on importance-driven\n\
progressive refinement radiosity, which was presented at the Eurographics\n\
Workshop on Rendering at Dublin in June 1995. While making a movie, also the\n\
statistics after each iteration are saved.\n\
\n\
9) Varia: 'Statistics' in the 'File' menu shows some numbers about memory\n\
usage and CPU times (don't trust them too much!), 'Save Image' saves the image \n\
shown in the view window in raw ppm format (view and convert to any other format \n\
by using the pbm toolkit, or xv, ...). A dialog will appear asking you for a file\n\
name. 'Exit' exits the program. \n\
\n\
Oh, the authopr is\n\
\n\
          Philippe Bekaert\n\
          Department of Computer Science - K. U. Leuven\n\
          Celestijnenlaan, 200A\n\
          3001 heverlee (Belgium)\n\
\n\
          e-mail: Philippe.Bekaert@cs.kuleuven.ac.be\n\
          WWW: http:\/\/www.cs.kuleuven.ac.be\/~philippe\/\n\
\n\
October, 20 1995\n\
\n\
