source: GTP/trunk/App/Demos/Illum/PathMap/ReadMe.txt @ 1480

Revision 1480, 2.6 KB checked in by szirmay, 18 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 without or with [if
13GENERATE_PATH_MAPS is defined in PathMapEffect.cpp] PRM precomputing
14
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 TracBrowser for help on using the repository browser.