source: Documentation/D5.3 Stand-alone computation package for illumination algorithms/appendix/pathmap/html/class_path_map_effect.html @ 2910

Revision 2910, 36.6 KB checked in by hbeneit, 16 years ago (diff)
Line 
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&nbsp;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&nbsp;List</span></a></li>
16    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
17    <li><a href="functions.html"><span>Class&nbsp;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&nbsp;</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">&nbsp;</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&nbsp;</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">&nbsp;</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="()" -->
34void&nbsp;</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">&nbsp;</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="()" -->
38void&nbsp;</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">&nbsp;</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="()" -->
42void&nbsp;</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">&nbsp;</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)" -->
46void&nbsp;</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">&nbsp;</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="()" -->
50void&nbsp;</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">&nbsp;</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="()" -->
54void&nbsp;</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">&nbsp;</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)" -->
59static void&nbsp;</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">&nbsp;</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="" -->
64CFirstPersonCamera *&nbsp;</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">&nbsp;</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="" -->
68CFirstPersonCamera *&nbsp;</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">&nbsp;</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)" -->
73void&nbsp;</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">&nbsp;</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)" -->
77LPDIRECT3DTEXTURE9&nbsp;</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">&nbsp;</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="()" -->
81void&nbsp;</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">&nbsp;</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="()" -->
85void&nbsp;</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">&nbsp;</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="()" -->
89void&nbsp;</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">&nbsp;</td><td class="mdescRight">release entities <br></td></tr>
92<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</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="()" -->
95void&nbsp;</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">&nbsp;</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 &amp;starter)" -->
99void&nbsp;</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> &amp;starter)</td></tr>
100
101<tr><td class="mdescLeft">&nbsp;</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 &amp;starter)" -->
103void&nbsp;</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> &amp;starter)</td></tr>
104
105<tr><td class="mdescLeft">&nbsp;</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 &amp;starter, std::vector&lt; Radion &gt; &amp;bushRadions)" -->
107void&nbsp;</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> &amp;starter, std::vector&lt; <a class="el" href="class_radion.html">Radion</a> &gt; &amp;bushRadions)</td></tr>
108
109<tr><td class="mdescLeft">&nbsp;</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)" -->
111int&nbsp;</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">&nbsp;</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="()" -->
115void&nbsp;</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">&nbsp;</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="()" -->
119void&nbsp;</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">&nbsp;</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="()" -->
123void&nbsp;</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">&nbsp;</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)" -->
127void&nbsp;</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">&nbsp;</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 &amp;normal, Vector &amp;outDir)" -->
132static void&nbsp;</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> &amp;normal, <a class="el" href="class_vector.html">Vector</a> &amp;outDir)</td></tr>
133
134<tr><td class="mdescLeft">&nbsp;</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 &amp;outDir)" -->
136static void&nbsp;</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> &amp;outDir)</td></tr>
137
138<tr><td class="mdescLeft">&nbsp;</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)" -->
140static void&nbsp;</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">&nbsp;</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="" -->
145LPDIRECT3DDEVICE9&nbsp;</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">&nbsp;</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="" -->
149LPD3DXEFFECT&nbsp;</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">&nbsp;</td><td class="mdescRight">pointer to main DX effect <br></td></tr>
152<tr><td class="memItemLeft" nowrap align="right" valign="top">LPDIRECT3DSURFACE9&nbsp;</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&nbsp;</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="" -->
157LPDIRECT3DTEXTURE9&nbsp;</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">&nbsp;</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="" -->
161LPDIRECT3DSURFACE9&nbsp;</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">&nbsp;</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="" -->
165LPDIRECT3DTEXTURE9&nbsp;</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">&nbsp;</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="" -->
169LPDIRECT3DSURFACE9&nbsp;</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">&nbsp;</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="" -->
173LPDIRECT3DSURFACE9&nbsp;</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">&nbsp;</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="" -->
177LPDIRECT3DVERTEXBUFFER9&nbsp;</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">&nbsp;</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="" -->
181LPDIRECT3DTEXTURE9&nbsp;</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">&nbsp;</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="" -->
185LPDIRECT3DSURFACE9&nbsp;</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">&nbsp;</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="" -->
189LPDIRECT3DTEXTURE9&nbsp;</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">&nbsp;</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="" -->
193LPDIRECT3DSURFACE9&nbsp;</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">&nbsp;</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="" -->
197LPDIRECT3DTEXTURE9&nbsp;</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">&nbsp;</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="" -->
201LPDIRECT3DSURFACE9&nbsp;</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">&nbsp;</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> *&nbsp;</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">&nbsp;</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>&nbsp;</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">&nbsp;</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="" -->
213std::vector&lt; <a class="el" href="struct_path_map_effect_1_1_render_mesh.html">RenderMesh</a> * &gt;&nbsp;</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">&nbsp;</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="" -->
217std::vector&lt; LPDIRECT3DTEXTURE9 &gt;&nbsp;</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">&nbsp;</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="" -->
221LPDIRECT3DTEXTURE9&nbsp;</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">&nbsp;</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="" -->
225std::vector&lt; Entity &gt;&nbsp;</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">&nbsp;</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]" -->
229float&nbsp;</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">&nbsp;</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]" -->
233unsigned int&nbsp;</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">&nbsp;</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="" -->
237float&nbsp;</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">&nbsp;</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="" -->
241std::vector&lt; <a class="el" href="class_radion.html">Radion</a> &gt;&nbsp;</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">&nbsp;</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="" -->
246static Parameters *&nbsp;</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">&nbsp;</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="" -->
251struct&nbsp;</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">&nbsp;</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 &nbsp;</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">&nbsp;</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 &nbsp;</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">&nbsp;</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>
263Main 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">(&nbsp;</td>
274          <td class="md" nowrap valign="top">float&nbsp;</td>
275          <td class="mdname1" valign="top" nowrap> <em>depth</em> = <code>0.0f</code>          </td>
276          <td class="md" valign="top">&nbsp;)&nbsp;</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      &nbsp;
287    </td>
288    <td>
289
290<p>
291renders 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      &nbsp;
311    </td>
312    <td>
313
314<p>
315frame 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      &nbsp;
334    </td>
335    <td>
336
337<p>
338frame 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&nbsp;
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>
Note: See TracBrowser for help on using the repository browser.