Ignore:
Timestamp:
09/22/06 20:58:26 (18 years ago)
Author:
szirmay
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/App/Demos/Illum/PathMap/ReadMe.txt

    r1470 r1480  
    1 The Path Map standalone module implements the Light Path Map approach for indirect lighting.Its purpose is to add realism to computer games by computing dynamically changing indirect illumination. It is an improvement over ambient lighting or static light maps. Not unlike light maps, global illumination computations are performed in a precomputing step, using ray casting and indirect photon mapping (the virtual light sources method). The contributions of virtual light samples are computed on the GPU, with depth mapping. However, instead of computing a single light map, multiple texture atlases (constituting the PRM) are generated for the scene objects, all corresponding to a cluster of indirect lighting samples. Then these atlases are combined according to actual lighting conditions. Weighting factors depend on how much light actually arrives at the sample points used for PRM generation. This computation is also performed in a GPU pass. 
     1GameTools standalone tool: 
     2 
     3Real-time global illumination 
     4############################# 
    25 
    36 
    4 Run 
    5 --- 
    6 Copy PathMap.exe (from the Debug or Release directory) to the solution'S directory and run. 
     7Provided effect: 
     8################# 
    79 
    8 Build 
    9 ----- 
    10 Simply load and build the solution file (PathMap_2003.sln) 
     10Indirect illumination with Precomputed Radiance Maps (PRM) 
    1111 
    12 Usage 
    13 ----- 
     12Standalone final rendering (real time GI) application without or with [if 
     13GENERATE_PATH_MAPS is defined in PathMapEffect.cpp] PRM precomputing 
    1414 
    15 There is a number of on-screen controls available to navigate the scene and adjust lighting. Use the mouse to look around, the A, S, D, W keys to move. If the “Move light” box is checked, the same controls move the light source. If “Look from light” is checked, the scene is rendered as seen from the light source instead of the camera. It is convenient to check both boxes when positioning the light source. Selecting the “Entry points” checkbox will add small squares to the scene to indicate entry points. Colors indicate weights. The clustering also becomes visible. The “Turbo” checkbox toggles camera movement speed. Pressing the “Tab” button will display a PRM texture, or revert to scene rendering. The technique ShowTex may be modified to display other internal textures for illustration. The slider “Tone scale” allows scaling the resulting image, which can also be viewed as changing the light source intensity. 
    16   
     15 
     16Algorithm benefits: 
     17################### 
     18Provides real-time indirect illumination. As opposed to static light maps, 
     19actual lighting conditions influence indirect illumination. The effect is 
     20achieved by combining multiple 'PRM panes' (partial "light maps") according to 
     21current illumination of 'entry point clusters'. 
     22 
     23As opposed to PRT (precomputed radiance transfer), no tessellation (finite 
     24elements) is needed, and near light sources are handled. (We do not assume 
     25infinitely distant 
     26environment lighting.) 
     27 
     28Accuracy of PRMs depends on the number of entry points used, influencing 
     29preocessing time only. 
     30 
     31Final rendering requires a compositing of PRMs, where performance depends on the 
     32number of 'entry point clusters' considered for an object. As many texture 
     33fetches as clusters are needed. A lower number of clusters will result in 
     34indirect illumination which is less responsive to actual lighting, but still 
     35plausible. (A single cluster would reproduce a static light map which is scaled 
     36according to the total direct illumination.) 
     37 
     38 
     39Build: 
     40###### 
     41This is a standalone DirectX 9.0 application, compiles under Visual C++ 2003 
     42with DirectX SDK April 2006 (identical to June 2006). 
     43 
     44Parameters (PRM resolution, shadow map resolution, #entry points, #clusters, 
     45etc.) are hardcoded as #define directives in PathMapEffect.h. 
     46 
     47GENERATE_PATH_MAPS in PathMapEffect.cpp must be defined to perform precomputing, 
     48outputting textures to the PRM subfolder. Otherwise, PRM textures are loaded 
     49from the PRM subfolder. 
     50 
     51 
     52Usage notes: 
     53############ 
     54- as precomputing is used, this tool should be used for static level geometry 
     55- multiple static objects are supported and encouraged: every object will use a 
     56set of most important PRM panes 
     57- models must have unique texture mapping (just like light maps) 
     58 
     59- there is no support for any particular 'level geometry' discription format. 
     60DirectX .x files and referenced textures are loaded from code. 
     61- To include the method in a particular engine, the level geometry should be 
     62used to compose the scene which is used to generate the PRM textures. Final 
     63compositing must be implemented in the shader system of the game engine, 
     64assigning the computed PRMs to the respective objects as textures. 
Note: See TracChangeset for help on using the changeset viewer.