00001 /* 00002 File: HProgRad.h 00003 00004 Function: Provides a class for lighting a scene using progressive 00005 radiosity with hierarchical refinement. 00006 00007 Author(s): Andrew Willmott 00008 00009 Copyright: (c) 1997-2000, Andrew Willmott 00010 */ 00011 00012 00013 #ifndef __HProgRad__ 00014 #define __HProgRad__ 00015 00016 #include "ProgRad.h" 00017 00018 class HProgRad : public ProgRad 00019 { 00020 public: 00021 Void ResetOptions(); 00022 00023 Bool Render(); 00024 RadElem *NewMesh(); 00025 Int Stage(Int stage); 00026 Void DrawMatrix(Renderer &r); 00027 Void DumpStats(); 00028 PatchList *GetElements(); 00029 Void ColourVertices(); 00030 Void DumpMemoryUse(); 00031 00032 PatchList elements; // elements 00033 IndexList eltParents; // indices of parent patches. 00034 00035 #ifdef RAD_VIS 00036 Array<PatchList> FFElts; 00037 #endif 00038 00039 static Void *New() { return(new HProgRad); }; 00040 }; 00041 00042 #endif