source: GTP/trunk/App/Demos/Illum/pathmap/README.txt.bak @ 2197

Revision 2197, 2.5 KB checked in by szirmay, 17 years ago (diff)
Line 
1GameTools standalone tool:
2
3Real-time global illumination
4#############################
5
6
7Provided effect:
8#################
9
10Indirect illumination with Precomputed Radiance Maps (PRM)
11
12Standalone final rendering (real time GI) application
13without or with [if GENERATE_PATH_MAPS is defined in PathMapEffect.cpp]
14PRM precomputing
15
16
17Algorithm benefits:
18###################
19Provides real-time indirect illumination. As opposed to static light maps,
20actual lighting conditions influence indirect illumination. The effect is
21achieved by combining multiple 'PRM panes' (partial "light maps") according to
22current illumination of 'entry point clusters'.
23
24As opposed to PRT (precomputed radiance transfer), no tessellation (finite elements) is
25needed, and near light sources are handled. (We do not assume infinitely distant environment lighting.)
26
27Accuracy of PRMs depends on the number of entry points used, influencing preocessing time only.
28
29Final rendering requires a compositing of PRMs, where performance depends on the number of 'entry point clusters' considered for an object. As many texture fetches as clusters are needed. A lower number of clusters will result in indirect illumination which is less responsive to actual lighting, but still plausible. (A single cluster would reproduce a static light map which is scaled according to the total direct illumination.)
30
31
32Build:
33######
34This is a standalone DirectX 9.0 application, compiles under Visual C++ 2003 with DirectX SDK April 2006 (identical to June 2006).
35
36Parameters (PRM resolution, shadow map resolution, #entry points, #clusters, etc.) are hardcoded
37as #define directives in PathMapEffect.h.
38
39GENERATE_PATH_MAPS in PathMapEffect.cpp must be defined to perform precomputing, outputting textures to the PRM subfolder. Otherwise, PRM textures are loaded from the PRM subfolder.
40
41
42Usage notes:
43############
44- as precomputing is used, this tool should be used for static level geometry
45- multiple static objects are supported and encouraged: every object will use a set of most important PRM panes
46- models must have unique texture mapping (just like light maps)
47
48- there is no support for any particular 'level geometry' discription format. DirectX .x files and referenced textures are loaded from code.
49- To include the method in a particular engine, the level geometry should be used to compose the scene which is used to generate the PRM textures. Final compositing must be implemented in the shader system of the game engine, assigning the computed PRMs to the respective objects as textures.
Note: See TracBrowser for help on using the repository browser.