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

ProgRad.h

Go to the documentation of this file.
00001 /*
00002     File:           ProgRad.h
00003 
00004     Function:       Provides a class for lighting a scene using progressive 
00005                     radiosity.
00006                     
00007     Author(s):      Andrew Willmott
00008 
00009     Copyright:      (c) 1997-2000, Andrew Willmott
00010  */
00011 
00012 #ifndef __ProgRad__
00013 #define __ProgRad__
00014 
00015 #include "RadMethod.h"
00016 
00017 class ProgRad : public RadMethod
00018 {
00019 public:
00020     Bool        Render();               
00021     Int         Stage(Int stage);       
00022     RadElem     *NewMesh();
00023 
00024     Void        DrawMatrix(Renderer &r);
00025     Void        DumpStats();
00026     
00027     Void        MakeFormFactorFromVector(RadElem &fromPatch, PatchList &patches,
00028                     ColourList &result);
00029 
00030     ColourList  B;                      // Radiosity of scene elements
00031     ColourList  S;                      // Unshot radiosities
00032     
00033     Int         maxPowerIndex;          
00034                 // index of patch with largest unshot power
00035     GCLReal     error, maxPower, origShoot;
00036     Colour      envRad;
00037                 // Ambient radiosity.
00038     Int         iterations;
00039     
00040     ColourList  FFRow;          // Row of form factors * reflectance for R, G, B
00041 
00042 #ifdef RAD_VIS
00043     Array<ColourList>
00044                 FFRows; // previous rows for matrix display
00045 #endif
00046 
00047     static Void *New() { return(new ProgRad); };
00048 };
00049 
00050 #endif

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