1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
---|
2 | <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> |
---|
3 | <title>Path Map Module: PathMapEffect Class Reference</title> |
---|
4 | <link href="doxygen.css" rel="stylesheet" type="text/css"> |
---|
5 | <link href="tabs.css" rel="stylesheet" type="text/css"> |
---|
6 | </head><body> |
---|
7 | <!-- Generated by Doxygen 1.4.6-NO --> |
---|
8 | <div class="tabs"> |
---|
9 | <ul> |
---|
10 | <li><a href="index.html"><span>Main Page</span></a></li> |
---|
11 | <li id="current"><a href="annotated.html"><span>Classes</span></a></li> |
---|
12 | </ul></div> |
---|
13 | <div class="tabs"> |
---|
14 | <ul> |
---|
15 | <li><a href="annotated.html"><span>Class List</span></a></li> |
---|
16 | <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> |
---|
17 | <li><a href="functions.html"><span>Class Members</span></a></li> |
---|
18 | </ul></div> |
---|
19 | <h1>PathMapEffect Class Reference</h1><!-- doxytag: class="PathMapEffect" -->Main class for the PRM computation and usage application. This class encapsulates all resources needed for computing PRMs and using them in the final rendering. PRM resources may be generated, saved to files, or restored. |
---|
20 | <a href="#_details">More...</a> |
---|
21 | <p> |
---|
22 | <a href="class_path_map_effect-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> |
---|
23 | <tr><td></td></tr> |
---|
24 | <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> |
---|
25 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="29beb4351faaa8fdd7ad4e8b1b6ed0bb"></a><!-- doxytag: member="PathMapEffect::PathMapEffect" ref="29beb4351faaa8fdd7ad4e8b1b6ed0bb" args="(LPDIRECT3DDEVICE9 device)" --> |
---|
26 | </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#29beb4351faaa8fdd7ad4e8b1b6ed0bb">PathMapEffect</a> (LPDIRECT3DDEVICE9 <a class="el" href="class_path_map_effect.html#59818a13998553982342552f958debb8">device</a>)</td></tr> |
---|
27 | |
---|
28 | <tr><td class="mdescLeft"> </td><td class="mdescRight">constructor: allocates all resources <br></td></tr> |
---|
29 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0fe8328a7116a6cf1e0d34bb37c040e3"></a><!-- doxytag: member="PathMapEffect::~PathMapEffect" ref="0fe8328a7116a6cf1e0d34bb37c040e3" args="(void)" --> |
---|
30 | </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#0fe8328a7116a6cf1e0d34bb37c040e3">~PathMapEffect</a> (void)</td></tr> |
---|
31 | |
---|
32 | <tr><td class="mdescLeft"> </td><td class="mdescRight">destructor: releases all resources <br></td></tr> |
---|
33 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9c73d9b1079f430f43033af607d7e7ef"></a><!-- doxytag: member="PathMapEffect::render" ref="9c73d9b1079f430f43033af607d7e7ef" args="()" --> |
---|
34 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#9c73d9b1079f430f43033af607d7e7ef">render</a> ()</td></tr> |
---|
35 | |
---|
36 | <tr><td class="mdescLeft"> </td><td class="mdescRight">renders the scene using the currently selected method <br></td></tr> |
---|
37 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ba895b0145846694df54b06e4769c581"></a><!-- doxytag: member="PathMapEffect::renderWithPRM" ref="ba895b0145846694df54b06e4769c581" args="()" --> |
---|
38 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#ba895b0145846694df54b06e4769c581">renderWithPRM</a> ()</td></tr> |
---|
39 | |
---|
40 | <tr><td class="mdescLeft"> </td><td class="mdescRight">renders the scene, usings the PRMs for indirect illumination <br></td></tr> |
---|
41 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9029bfa93de1f528945c3593b1e49c93"></a><!-- doxytag: member="PathMapEffect::showPRMTexture" ref="9029bfa93de1f528945c3593b1e49c93" args="()" --> |
---|
42 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#9029bfa93de1f528945c3593b1e49c93">showPRMTexture</a> ()</td></tr> |
---|
43 | |
---|
44 | <tr><td class="mdescLeft"> </td><td class="mdescRight">displays a part of a PRM texture <br></td></tr> |
---|
45 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="abbff2c312b2b4ed588168639c882775"></a><!-- doxytag: member="PathMapEffect::move" ref="abbff2c312b2b4ed588168639c882775" args="(float fElapsedTime)" --> |
---|
46 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#abbff2c312b2b4ed588168639c882775">move</a> (float fElapsedTime)</td></tr> |
---|
47 | |
---|
48 | <tr><td class="mdescLeft"> </td><td class="mdescRight">moves the virtual world objects (camera, light) <br></td></tr> |
---|
49 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="214df9d59d08152f549f6e0ded714064"></a><!-- doxytag: member="PathMapEffect::savePathMaps" ref="214df9d59d08152f549f6e0ded714064" args="()" --> |
---|
50 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#214df9d59d08152f549f6e0ded714064">savePathMaps</a> ()</td></tr> |
---|
51 | |
---|
52 | <tr><td class="mdescLeft"> </td><td class="mdescRight">store all precomputed data for the scene in folder prm <br></td></tr> |
---|
53 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e68b588a4d7b073214e767625b4de2d5"></a><!-- doxytag: member="PathMapEffect::loadPathMaps" ref="e68b588a4d7b073214e767625b4de2d5" args="()" --> |
---|
54 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#e68b588a4d7b073214e767625b4de2d5">loadPathMaps</a> ()</td></tr> |
---|
55 | |
---|
56 | <tr><td class="mdescLeft"> </td><td class="mdescRight">restore all precomputed data for the scene from folder prm <br></td></tr> |
---|
57 | <tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr> |
---|
58 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e5ec65c4c41002f122f5927199d7a212"></a><!-- doxytag: member="PathMapEffect::addUiParameters" ref="e5ec65c4c41002f122f5927199d7a212" args="(Parameters *parameters)" --> |
---|
59 | static void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#e5ec65c4c41002f122f5927199d7a212">addUiParameters</a> (Parameters *<a class="el" href="class_path_map_effect.html#c696508409ff83e3a56a4d4eae853677">parameters</a>)</td></tr> |
---|
60 | |
---|
61 | <tr><td class="mdescLeft"> </td><td class="mdescRight">adds controls for the user-adjustable application parameters <br></td></tr> |
---|
62 | <tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr> |
---|
63 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="364b90affc144915f44e61e076c900ee"></a><!-- doxytag: member="PathMapEffect::camera" ref="364b90affc144915f44e61e076c900ee" args="" --> |
---|
64 | CFirstPersonCamera * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#364b90affc144915f44e61e076c900ee">camera</a></td></tr> |
---|
65 | |
---|
66 | <tr><td class="mdescLeft"> </td><td class="mdescRight">camera <br></td></tr> |
---|
67 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cdab1f3a3cea3be19a0b4fa2b3b0a530"></a><!-- doxytag: member="PathMapEffect::lightCamera" ref="cdab1f3a3cea3be19a0b4fa2b3b0a530" args="" --> |
---|
68 | CFirstPersonCamera * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#cdab1f3a3cea3be19a0b4fa2b3b0a530">lightCamera</a></td></tr> |
---|
69 | |
---|
70 | <tr><td class="mdescLeft"> </td><td class="mdescRight">primary light source (can be moved just like the real camera, and can be used as the camera) <br></td></tr> |
---|
71 | <tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr> |
---|
72 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dc7bcb11d6ec612242fafb06c00a0884"></a><!-- doxytag: member="PathMapEffect::loadMesh" ref="dc7bcb11d6ec612242fafb06c00a0884" args="(LPCWSTR fileName)" --> |
---|
73 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#dc7bcb11d6ec612242fafb06c00a0884">loadMesh</a> (LPCWSTR fileName)</td></tr> |
---|
74 | |
---|
75 | <tr><td class="mdescLeft"> </td><td class="mdescRight">private method that loads a mesh and its textures <br></td></tr> |
---|
76 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="26a7eb291e8ed3883f0468b31aec958d"></a><!-- doxytag: member="PathMapEffect::loadTexture" ref="26a7eb291e8ed3883f0468b31aec958d" args="(LPCWSTR fileName)" --> |
---|
77 | LPDIRECT3DTEXTURE9 </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#26a7eb291e8ed3883f0468b31aec958d">loadTexture</a> (LPCWSTR fileName)</td></tr> |
---|
78 | |
---|
79 | <tr><td class="mdescLeft"> </td><td class="mdescRight">private method to load a texture <br></td></tr> |
---|
80 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2767880b775cf1af60bc06057b477a2f"></a><!-- doxytag: member="PathMapEffect::releaseTextures" ref="2767880b775cf1af60bc06057b477a2f" args="()" --> |
---|
81 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#2767880b775cf1af60bc06057b477a2f">releaseTextures</a> ()</td></tr> |
---|
82 | |
---|
83 | <tr><td class="mdescLeft"> </td><td class="mdescRight">release material texture resources <br></td></tr> |
---|
84 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="91f95a0c9d9a854ab80c709dfd19e839"></a><!-- doxytag: member="PathMapEffect::releaseMeshes" ref="91f95a0c9d9a854ab80c709dfd19e839" args="()" --> |
---|
85 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#91f95a0c9d9a854ab80c709dfd19e839">releaseMeshes</a> ()</td></tr> |
---|
86 | |
---|
87 | <tr><td class="mdescLeft"> </td><td class="mdescRight">release mesh resources <br></td></tr> |
---|
88 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="54664e0e32c671fd53dedf1e93c58b51"></a><!-- doxytag: member="PathMapEffect::releaseEntities" ref="54664e0e32c671fd53dedf1e93c58b51" args="()" --> |
---|
89 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#54664e0e32c671fd53dedf1e93c58b51">releaseEntities</a> ()</td></tr> |
---|
90 | |
---|
91 | <tr><td class="mdescLeft"> </td><td class="mdescRight">release entities <br></td></tr> |
---|
92 | <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#115a373d739cb0eb1399d85d4686cb72">renderFullScreen</a> (float depth=0.0f)</td></tr> |
---|
93 | |
---|
94 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a119a6ae546f9fda3ea17bb24b6eb82b"></a><!-- doxytag: member="PathMapEffect::createPRMTextures" ref="a119a6ae546f9fda3ea17bb24b6eb82b" args="()" --> |
---|
95 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#a119a6ae546f9fda3ea17bb24b6eb82b">createPRMTextures</a> ()</td></tr> |
---|
96 | |
---|
97 | <tr><td class="mdescLeft"> </td><td class="mdescRight">allocates PRM resources for every entity <br></td></tr> |
---|
98 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f335ad6d59744bdce3f4df5c4b06d98d"></a><!-- doxytag: member="PathMapEffect::sampleSurfaceRadion" ref="f335ad6d59744bdce3f4df5c4b06d98d" args="(Radion &starter)" --> |
---|
99 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#f335ad6d59744bdce3f4df5c4b06d98d">sampleSurfaceRadion</a> (<a class="el" href="class_radion.html">Radion</a> &starter)</td></tr> |
---|
100 | |
---|
101 | <tr><td class="mdescLeft"> </td><td class="mdescRight">finds a random entry point (all entities considered with equal probability) <br></td></tr> |
---|
102 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="650ebda80c78b83cdbe795eca7511f5b"></a><!-- doxytag: member="PathMapEffect::sampleSurfaceRadionUniform" ref="650ebda80c78b83cdbe795eca7511f5b" args="(Radion &starter)" --> |
---|
103 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#650ebda80c78b83cdbe795eca7511f5b">sampleSurfaceRadionUniform</a> (<a class="el" href="class_radion.html">Radion</a> &starter)</td></tr> |
---|
104 | |
---|
105 | <tr><td class="mdescLeft"> </td><td class="mdescRight">finds a random entry point (all entities considered with probability proporstional to surface area) <br></td></tr> |
---|
106 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cf1b6a76b18eab0fb64cc362dbf3576a"></a><!-- doxytag: member="PathMapEffect::shootRadionBush" ref="cf1b6a76b18eab0fb64cc362dbf3576a" args="(Radion &starter, std::vector< Radion > &bushRadions)" --> |
---|
107 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#cf1b6a76b18eab0fb64cc362dbf3576a">shootRadionBush</a> (<a class="el" href="class_radion.html">Radion</a> &starter, std::vector< <a class="el" href="class_radion.html">Radion</a> > &bushRadions)</td></tr> |
---|
108 | |
---|
109 | <tr><td class="mdescLeft"> </td><td class="mdescRight">shoot virtual light sources from original entry point and add them to the vector <br></td></tr> |
---|
110 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7464f6c0e4778f6cd6325d7066872938"></a><!-- doxytag: member="PathMapEffect::clusterRadions" ref="7464f6c0e4778f6cd6325d7066872938" args="(Radion *partition, int psize, char axis)" --> |
---|
111 | int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#7464f6c0e4778f6cd6325d7066872938">clusterRadions</a> (<a class="el" href="class_radion.html">Radion</a> *partition, int psize, char axis)</td></tr> |
---|
112 | |
---|
113 | <tr><td class="mdescLeft"> </td><td class="mdescRight">sort radions into initial, uniform length clusters <br></td></tr> |
---|
114 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f41889f4ce86c98137756b47b9d96106"></a><!-- doxytag: member="PathMapEffect::clusterRadionsKMeans" ref="f41889f4ce86c98137756b47b9d96106" args="()" --> |
---|
115 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#f41889f4ce86c98137756b47b9d96106">clusterRadionsKMeans</a> ()</td></tr> |
---|
116 | |
---|
117 | <tr><td class="mdescLeft"> </td><td class="mdescRight">use K-means clustering to cluster radions <br></td></tr> |
---|
118 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b7a10548a1035cdcd0c14269c7fdc54e"></a><!-- doxytag: member="PathMapEffect::precompute" ref="b7a10548a1035cdcd0c14269c7fdc54e" args="()" --> |
---|
119 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#b7a10548a1035cdcd0c14269c7fdc54e">precompute</a> ()</td></tr> |
---|
120 | |
---|
121 | <tr><td class="mdescLeft"> </td><td class="mdescRight">perform computaions: generate entry points, render PRMs <br></td></tr> |
---|
122 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3da3fe4d23a8785d4ef68768482efecd"></a><!-- doxytag: member="PathMapEffect::uploadRadions" ref="3da3fe4d23a8785d4ef68768482efecd" args="()" --> |
---|
123 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#3da3fe4d23a8785d4ef68768482efecd">uploadRadions</a> ()</td></tr> |
---|
124 | |
---|
125 | <tr><td class="mdescLeft"> </td><td class="mdescRight">fill 'radionsTexture' from 'bushStarters' <br></td></tr> |
---|
126 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="20458900c775376fa26e89edf4ae38d4"></a><!-- doxytag: member="PathMapEffect::fillRadionPosArray" ref="20458900c775376fa26e89edf4ae38d4" args="(void *pData)" --> |
---|
127 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#20458900c775376fa26e89edf4ae38d4">fillRadionPosArray</a> (void *pData)</td></tr> |
---|
128 | |
---|
129 | <tr><td class="mdescLeft"> </td><td class="mdescRight">fill *pData (will point to locked 'starterVertexBuffer') from 'bushStarters' <br></td></tr> |
---|
130 | <tr><td colspan="2"><br><h2>Static Private Member Functions</h2></td></tr> |
---|
131 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8dd37f9d705e3166bd05307798cf5315"></a><!-- doxytag: member="PathMapEffect::sampleShootingDiffuseDirection" ref="8dd37f9d705e3166bd05307798cf5315" args="(int depth, const Vector &normal, Vector &outDir)" --> |
---|
132 | static void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#8dd37f9d705e3166bd05307798cf5315">sampleShootingDiffuseDirection</a> (int depth, const <a class="el" href="class_vector.html">Vector</a> &normal, <a class="el" href="class_vector.html">Vector</a> &outDir)</td></tr> |
---|
133 | |
---|
134 | <tr><td class="mdescLeft"> </td><td class="mdescRight">generates a random direction (cosine distribution) near a normal vector <br></td></tr> |
---|
135 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8750455b742fb55f2cc23d9eb893413c"></a><!-- doxytag: member="PathMapEffect::sampleSphereDirection" ref="8750455b742fb55f2cc23d9eb893413c" args="(Vector &outDir)" --> |
---|
136 | static void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#8750455b742fb55f2cc23d9eb893413c">sampleSphereDirection</a> (<a class="el" href="class_vector.html">Vector</a> &outDir)</td></tr> |
---|
137 | |
---|
138 | <tr><td class="mdescLeft"> </td><td class="mdescRight">generates a random direction an the unit sphere <br></td></tr> |
---|
139 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="af90e2dd2bac2698039584f59ceb49c5"></a><!-- doxytag: member="PathMapEffect::drawFullScreenQuad" ref="af90e2dd2bac2698039584f59ceb49c5" args="(LPDIRECT3DDEVICE9 device, float depth=0.0f, float fLeftU=0.0f, float fTopV=0.0f, float fRightU=1.0f, float fBottomV=1.0f)" --> |
---|
140 | static void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#af90e2dd2bac2698039584f59ceb49c5">drawFullScreenQuad</a> (LPDIRECT3DDEVICE9 <a class="el" href="class_path_map_effect.html#59818a13998553982342552f958debb8">device</a>, float depth=0.0f, float fLeftU=0.0f, float fTopV=0.0f, float fRightU=1.0f, float fBottomV=1.0f)</td></tr> |
---|
141 | |
---|
142 | <tr><td class="mdescLeft"> </td><td class="mdescRight">render a full-screen quad <br></td></tr> |
---|
143 | <tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr> |
---|
144 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="59818a13998553982342552f958debb8"></a><!-- doxytag: member="PathMapEffect::device" ref="59818a13998553982342552f958debb8" args="" --> |
---|
145 | LPDIRECT3DDEVICE9 </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#59818a13998553982342552f958debb8">device</a></td></tr> |
---|
146 | |
---|
147 | <tr><td class="mdescLeft"> </td><td class="mdescRight">pointer to main DX device <br></td></tr> |
---|
148 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e6c9af4bb82825973b477adda948a671"></a><!-- doxytag: member="PathMapEffect::effect" ref="e6c9af4bb82825973b477adda948a671" args="" --> |
---|
149 | LPD3DXEFFECT </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#e6c9af4bb82825973b477adda948a671">effect</a></td></tr> |
---|
150 | |
---|
151 | <tr><td class="mdescLeft"> </td><td class="mdescRight">pointer to main DX effect <br></td></tr> |
---|
152 | <tr><td class="memItemLeft" nowrap align="right" valign="top">LPDIRECT3DSURFACE9 </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#570768bd16b008c6e236931b79c490d9">frameColorBuffer</a></td></tr> |
---|
153 | |
---|
154 | <tr><td class="memItemLeft" nowrap align="right" valign="top">LPDIRECT3DSURFACE9 </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#882f140bd179b46afbcf8eae986d210e">frameDepthStencilBuffer</a></td></tr> |
---|
155 | |
---|
156 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ce14e0e92dab7c42c42a4fe5b94d1e00"></a><!-- doxytag: member="PathMapEffect::depthMapTexture" ref="ce14e0e92dab7c42c42a4fe5b94d1e00" args="" --> |
---|
157 | LPDIRECT3DTEXTURE9 </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#ce14e0e92dab7c42c42a4fe5b94d1e00">depthMapTexture</a></td></tr> |
---|
158 | |
---|
159 | <tr><td class="mdescLeft"> </td><td class="mdescRight">depth map texture <br></td></tr> |
---|
160 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7b144ddc87428be313e57bbccf55f189"></a><!-- doxytag: member="PathMapEffect::depthMapDepthStencilBuffer" ref="7b144ddc87428be313e57bbccf55f189" args="" --> |
---|
161 | LPDIRECT3DSURFACE9 </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#7b144ddc87428be313e57bbccf55f189">depthMapDepthStencilBuffer</a></td></tr> |
---|
162 | |
---|
163 | <tr><td class="mdescLeft"> </td><td class="mdescRight">depth map texture's surface <br></td></tr> |
---|
164 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c910a2796d28f541f19c0e99342272d6"></a><!-- doxytag: member="PathMapEffect::fakeTexture" ref="c910a2796d28f541f19c0e99342272d6" args="" --> |
---|
165 | LPDIRECT3DTEXTURE9 </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#c910a2796d28f541f19c0e99342272d6">fakeTexture</a></td></tr> |
---|
166 | |
---|
167 | <tr><td class="mdescLeft"> </td><td class="mdescRight">depth map dummy render texture <br></td></tr> |
---|
168 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="35619911d6a713e499b0ea4f975365f6"></a><!-- doxytag: member="PathMapEffect::fakeSurface" ref="35619911d6a713e499b0ea4f975365f6" args="" --> |
---|
169 | LPDIRECT3DSURFACE9 </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#35619911d6a713e499b0ea4f975365f6">fakeSurface</a></td></tr> |
---|
170 | |
---|
171 | <tr><td class="mdescLeft"> </td><td class="mdescRight">depth map dummy render surface <br></td></tr> |
---|
172 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9a1d9208722913c1709a2f1383d43815"></a><!-- doxytag: member="PathMapEffect::prmBlendingDepthStencilBuffer" ref="9a1d9208722913c1709a2f1383d43815" args="" --> |
---|
173 | LPDIRECT3DSURFACE9 </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#9a1d9208722913c1709a2f1383d43815">prmBlendingDepthStencilBuffer</a></td></tr> |
---|
174 | |
---|
175 | <tr><td class="mdescLeft"> </td><td class="mdescRight">stencil buffer for rendering a virtual light source to the PRM <br></td></tr> |
---|
176 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3a185e7647354ef086f249e8aea11d74"></a><!-- doxytag: member="PathMapEffect::starterVertexBuffer" ref="3a185e7647354ef086f249e8aea11d74" args="" --> |
---|
177 | LPDIRECT3DVERTEXBUFFER9 </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#3a185e7647354ef086f249e8aea11d74">starterVertexBuffer</a></td></tr> |
---|
178 | |
---|
179 | <tr><td class="mdescLeft"> </td><td class="mdescRight">vertex buffer with entry point positions, for entry point visualization <br></td></tr> |
---|
180 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="105b28f2ece1b58bae1b87936f51ca06"></a><!-- doxytag: member="PathMapEffect::weightsTexture" ref="105b28f2ece1b58bae1b87936f51ca06" args="" --> |
---|
181 | LPDIRECT3DTEXTURE9 </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#105b28f2ece1b58bae1b87936f51ca06">weightsTexture</a></td></tr> |
---|
182 | |
---|
183 | <tr><td class="mdescLeft"> </td><td class="mdescRight">render target texture to which current entry point weights are computed <br></td></tr> |
---|
184 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b658a0cb5450a779f1f2238875592c3d"></a><!-- doxytag: member="PathMapEffect::weightsSurface" ref="b658a0cb5450a779f1f2238875592c3d" args="" --> |
---|
185 | LPDIRECT3DSURFACE9 </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#b658a0cb5450a779f1f2238875592c3d">weightsSurface</a></td></tr> |
---|
186 | |
---|
187 | <tr><td class="mdescLeft"> </td><td class="mdescRight">weights texture's surface <br></td></tr> |
---|
188 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="43263f36e52ebe938dca74a0cac4d851"></a><!-- doxytag: member="PathMapEffect::sysMemWeightsTexture" ref="43263f36e52ebe938dca74a0cac4d851" args="" --> |
---|
189 | LPDIRECT3DTEXTURE9 </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#43263f36e52ebe938dca74a0cac4d851">sysMemWeightsTexture</a></td></tr> |
---|
190 | |
---|
191 | <tr><td class="mdescLeft"> </td><td class="mdescRight">weights texture copy in system mem <br></td></tr> |
---|
192 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ffcfccb72525ce7b50ca47006b835419"></a><!-- doxytag: member="PathMapEffect::sysMemWeightsSurface" ref="ffcfccb72525ce7b50ca47006b835419" args="" --> |
---|
193 | LPDIRECT3DSURFACE9 </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#ffcfccb72525ce7b50ca47006b835419">sysMemWeightsSurface</a></td></tr> |
---|
194 | |
---|
195 | <tr><td class="mdescLeft"> </td><td class="mdescRight">surface of weights texture copy in system mem <br></td></tr> |
---|
196 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="70a0af6549cf27320be83b4d00ef1b77"></a><!-- doxytag: member="PathMapEffect::radionTexture" ref="70a0af6549cf27320be83b4d00ef1b77" args="" --> |
---|
197 | LPDIRECT3DTEXTURE9 </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#70a0af6549cf27320be83b4d00ef1b77">radionTexture</a></td></tr> |
---|
198 | |
---|
199 | <tr><td class="mdescLeft"> </td><td class="mdescRight">texture containing entry point data, input for weight computation <br></td></tr> |
---|
200 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3e48152b098b30c817c6038d4c24a661"></a><!-- doxytag: member="PathMapEffect::radionSurface" ref="3e48152b098b30c817c6038d4c24a661" args="" --> |
---|
201 | LPDIRECT3DSURFACE9 </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#3e48152b098b30c817c6038d4c24a661">radionSurface</a></td></tr> |
---|
202 | |
---|
203 | <tr><td class="mdescLeft"> </td><td class="mdescRight">entry point texture's surface <br></td></tr> |
---|
204 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8f4bd3437770e904ecf0c9b856c582f6"></a><!-- doxytag: member="PathMapEffect::kdtree" ref="8f4bd3437770e904ecf0c9b856c582f6" args="" --> |
---|
205 | <a class="el" href="class_k_d_tree.html">KDTree</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#8f4bd3437770e904ecf0c9b856c582f6">kdtree</a></td></tr> |
---|
206 | |
---|
207 | <tr><td class="mdescLeft"> </td><td class="mdescRight">the kd-tree that contains the scene geometry in raytraceable format <br></td></tr> |
---|
208 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8e93241feed38f5add3342675504b639"></a><!-- doxytag: member="PathMapEffect::method" ref="8e93241feed38f5add3342675504b639" args="" --> |
---|
209 | <a class="el" href="class_path_map_effect_1_1_method.html">PathMapEffect::Method</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#8e93241feed38f5add3342675504b639">method</a></td></tr> |
---|
210 | |
---|
211 | <tr><td class="mdescLeft"> </td><td class="mdescRight">clever enum for supported final rendering methods <br></td></tr> |
---|
212 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ab42080553e4657e1d8e442efc3ea3ca"></a><!-- doxytag: member="PathMapEffect::renderMeshes" ref="ab42080553e4657e1d8e442efc3ea3ca" args="" --> |
---|
213 | std::vector< <a class="el" href="struct_path_map_effect_1_1_render_mesh.html">RenderMesh</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#ab42080553e4657e1d8e442efc3ea3ca">renderMeshes</a></td></tr> |
---|
214 | |
---|
215 | <tr><td class="mdescLeft"> </td><td class="mdescRight">vector of loaded meshes <br></td></tr> |
---|
216 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1cc4a704543a1075d0b691aa871ed3a1"></a><!-- doxytag: member="PathMapEffect::materialTextures" ref="1cc4a704543a1075d0b691aa871ed3a1" args="" --> |
---|
217 | std::vector< LPDIRECT3DTEXTURE9 > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#1cc4a704543a1075d0b691aa871ed3a1">materialTextures</a></td></tr> |
---|
218 | |
---|
219 | <tr><td class="mdescLeft"> </td><td class="mdescRight">vector of loaded textures (textures specified in mesh's material will be loaded here) <br></td></tr> |
---|
220 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="52373353d2cb91598e3022ebf3a97fc8"></a><!-- doxytag: member="PathMapEffect::emptyTexture" ref="52373353d2cb91598e3022ebf3a97fc8" args="" --> |
---|
221 | LPDIRECT3DTEXTURE9 </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#52373353d2cb91598e3022ebf3a97fc8">emptyTexture</a></td></tr> |
---|
222 | |
---|
223 | <tr><td class="mdescLeft"> </td><td class="mdescRight">for materials with no texture we will render with this texture <br></td></tr> |
---|
224 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0474fb2324eba030186d6da26c3c1cd4"></a><!-- doxytag: member="PathMapEffect::entities" ref="0474fb2324eba030186d6da26c3c1cd4" args="" --> |
---|
225 | std::vector< Entity > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#0474fb2324eba030186d6da26c3c1cd4">entities</a></td></tr> |
---|
226 | |
---|
227 | <tr><td class="mdescLeft"> </td><td class="mdescRight">vector of virtual world objects <br></td></tr> |
---|
228 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="18ea8f333b43438cf445f91f3f9de388"></a><!-- doxytag: member="PathMapEffect::weights" ref="18ea8f333b43438cf445f91f3f9de388" args="[NCLUSTERS]" --> |
---|
229 | float </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#18ea8f333b43438cf445f91f3f9de388">weights</a> [NCLUSTERS]</td></tr> |
---|
230 | |
---|
231 | <tr><td class="mdescLeft"> </td><td class="mdescRight">the array of averaged cluster weights <br></td></tr> |
---|
232 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="58db88760d579145585b86427c9bf1c0"></a><!-- doxytag: member="PathMapEffect::clusterLenghts" ref="58db88760d579145585b86427c9bf1c0" args="[NCLUSTERS]" --> |
---|
233 | unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#58db88760d579145585b86427c9bf1c0">clusterLenghts</a> [NCLUSTERS]</td></tr> |
---|
234 | |
---|
235 | <tr><td class="mdescLeft"> </td><td class="mdescRight">array thet contasins the number of entry points in every cluster (entry points are stored continously [bushStarters, starterVertexBuffer]) <br></td></tr> |
---|
236 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="81ba7611b2e3a09cfc53a54f4e5f34ec"></a><!-- doxytag: member="PathMapEffect::sumSurfaceArea" ref="81ba7611b2e3a09cfc53a54f4e5f34ec" args="" --> |
---|
237 | float </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#81ba7611b2e3a09cfc53a54f4e5f34ec">sumSurfaceArea</a></td></tr> |
---|
238 | |
---|
239 | <tr><td class="mdescLeft"> </td><td class="mdescRight">summed surface area of all entities <br></td></tr> |
---|
240 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a2c3aa8892115a7e08add551e6b27f3e"></a><!-- doxytag: member="PathMapEffect::bushStarters" ref="a2c3aa8892115a7e08add551e6b27f3e" args="" --> |
---|
241 | std::vector< <a class="el" href="class_radion.html">Radion</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#a2c3aa8892115a7e08add551e6b27f3e">bushStarters</a></td></tr> |
---|
242 | |
---|
243 | <tr><td class="mdescLeft"> </td><td class="mdescRight">entry points <br></td></tr> |
---|
244 | <tr><td colspan="2"><br><h2>Static Private Attributes</h2></td></tr> |
---|
245 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c696508409ff83e3a56a4d4eae853677"></a><!-- doxytag: member="PathMapEffect::parameters" ref="c696508409ff83e3a56a4d4eae853677" args="" --> |
---|
246 | static Parameters * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#c696508409ff83e3a56a4d4eae853677">parameters</a> = NULL</td></tr> |
---|
247 | |
---|
248 | <tr><td class="mdescLeft"> </td><td class="mdescRight">pointer to global user-adjustable application parameters object <br></td></tr> |
---|
249 | <tr><td colspan="2"><br><h2>Friends</h2></td></tr> |
---|
250 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4de4c6926260be1262f425df15fc9c82"></a><!-- doxytag: member="PathMapEffect::Entity" ref="4de4c6926260be1262f425df15fc9c82" args="" --> |
---|
251 | struct </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect.html#4de4c6926260be1262f425df15fc9c82">Entity</a></td></tr> |
---|
252 | |
---|
253 | <tr><td class="mdescLeft"> </td><td class="mdescRight">struct that represents a virtual world object: a mesh and a model-world transformation matrix <br></td></tr> |
---|
254 | <tr><td colspan="2"><br><h2>Classes</h2></td></tr> |
---|
255 | <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="class_path_map_effect_1_1_method.html">Method</a></td></tr> |
---|
256 | |
---|
257 | <tr><td class="mdescLeft"> </td><td class="mdescRight">clever enum for supported final rendering methods <a href="class_path_map_effect_1_1_method.html#_details">More...</a><br></td></tr> |
---|
258 | <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_path_map_effect_1_1_render_mesh.html">RenderMesh</a></td></tr> |
---|
259 | |
---|
260 | <tr><td class="mdescLeft"> </td><td class="mdescRight">struct containing all mesh related data. Will be filled from X files in <a class="el" href="class_path_map_effect.html">PathMapEffect</a> constructor <a href="struct_path_map_effect_1_1_render_mesh.html#_details">More...</a><br></td></tr> |
---|
261 | </table> |
---|
262 | <hr><a name="_details"></a><h2>Detailed Description</h2> |
---|
263 | Main class for the PRM computation and usage application. This class encapsulates all resources needed for computing PRMs and using them in the final rendering. PRM resources may be generated, saved to files, or restored. |
---|
264 | <p> |
---|
265 | <hr><h2>Member Function Documentation</h2> |
---|
266 | <a class="anchor" name="115a373d739cb0eb1399d85d4686cb72"></a><!-- doxytag: member="PathMapEffect::renderFullScreen" ref="115a373d739cb0eb1399d85d4686cb72" args="(float depth=0.0f)" --><p> |
---|
267 | <table class="mdTable" cellpadding="2" cellspacing="0"> |
---|
268 | <tr> |
---|
269 | <td class="mdRow"> |
---|
270 | <table cellpadding="0" cellspacing="0" border="0"> |
---|
271 | <tr> |
---|
272 | <td class="md" nowrap valign="top">void PathMapEffect::renderFullScreen </td> |
---|
273 | <td class="md" valign="top">( </td> |
---|
274 | <td class="md" nowrap valign="top">float </td> |
---|
275 | <td class="mdname1" valign="top" nowrap> <em>depth</em> = <code>0.0f</code> </td> |
---|
276 | <td class="md" valign="top"> ) </td> |
---|
277 | <td class="md" nowrap><code> [private]</code></td> |
---|
278 | </tr> |
---|
279 | </table> |
---|
280 | </td> |
---|
281 | </tr> |
---|
282 | </table> |
---|
283 | <table cellspacing="5" cellpadding="0" border="0"> |
---|
284 | <tr> |
---|
285 | <td> |
---|
286 | |
---|
287 | </td> |
---|
288 | <td> |
---|
289 | |
---|
290 | <p> |
---|
291 | renders a full screen quad, invoking the pixel shader for all pixels used for rendering the environment map to the background </td> |
---|
292 | </tr> |
---|
293 | </table> |
---|
294 | <hr><h2>Member Data Documentation</h2> |
---|
295 | <a class="anchor" name="570768bd16b008c6e236931b79c490d9"></a><!-- doxytag: member="PathMapEffect::frameColorBuffer" ref="570768bd16b008c6e236931b79c490d9" args="" --><p> |
---|
296 | <table class="mdTable" cellpadding="2" cellspacing="0"> |
---|
297 | <tr> |
---|
298 | <td class="mdRow"> |
---|
299 | <table cellpadding="0" cellspacing="0" border="0"> |
---|
300 | <tr> |
---|
301 | <td class="md" nowrap valign="top">LPDIRECT3DSURFACE9 <a class="el" href="class_path_map_effect.html#570768bd16b008c6e236931b79c490d9">PathMapEffect::frameColorBuffer</a><code> [private]</code> </td> |
---|
302 | </tr> |
---|
303 | </table> |
---|
304 | </td> |
---|
305 | </tr> |
---|
306 | </table> |
---|
307 | <table cellspacing="5" cellpadding="0" border="0"> |
---|
308 | <tr> |
---|
309 | <td> |
---|
310 | |
---|
311 | </td> |
---|
312 | <td> |
---|
313 | |
---|
314 | <p> |
---|
315 | frame color buffer surface saved before render-to-texture, and restored as the render target for the final rendering to the screen </td> |
---|
316 | </tr> |
---|
317 | </table> |
---|
318 | <a class="anchor" name="882f140bd179b46afbcf8eae986d210e"></a><!-- doxytag: member="PathMapEffect::frameDepthStencilBuffer" ref="882f140bd179b46afbcf8eae986d210e" args="" --><p> |
---|
319 | <table class="mdTable" cellpadding="2" cellspacing="0"> |
---|
320 | <tr> |
---|
321 | <td class="mdRow"> |
---|
322 | <table cellpadding="0" cellspacing="0" border="0"> |
---|
323 | <tr> |
---|
324 | <td class="md" nowrap valign="top">LPDIRECT3DSURFACE9 <a class="el" href="class_path_map_effect.html#882f140bd179b46afbcf8eae986d210e">PathMapEffect::frameDepthStencilBuffer</a><code> [private]</code> </td> |
---|
325 | </tr> |
---|
326 | </table> |
---|
327 | </td> |
---|
328 | </tr> |
---|
329 | </table> |
---|
330 | <table cellspacing="5" cellpadding="0" border="0"> |
---|
331 | <tr> |
---|
332 | <td> |
---|
333 | |
---|
334 | </td> |
---|
335 | <td> |
---|
336 | |
---|
337 | <p> |
---|
338 | frame depth buffer surface saved before render-to-texture, and restored as the render target for the final rendering to the screen </td> |
---|
339 | </tr> |
---|
340 | </table> |
---|
341 | <hr>The documentation for this class was generated from the following files:<ul> |
---|
342 | <li>PathMapEffect.h<li>PathMapEffect.cpp</ul> |
---|
343 | <hr size="1"><address style="align: right;"><small>Generated on Thu Apr 27 17:17:42 2006 for Path Map Module by |
---|
344 | <a href="http://www.doxygen.org/index.html"> |
---|
345 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6-NO </small></address> |
---|
346 | </body> |
---|
347 | </html> |
---|