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

Revision 2910, 48.3 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>Illumination Networks Demo: PreIllumSystem 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>PreIllumSystem Class Reference</h1><!-- doxytag: class="PreIllumSystem" -->This class represents a particle system that uses the Illumination Networks technique. 
20<a href="#_details">More...</a>
21<p>
22<code>#include &lt;PreIllumSystem.h&gt;</code>
23<p>
24<a href="class_pre_illum_system-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
25<tr><td></td></tr>
26<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
27<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fd32a15ee5a22f0e518a8e744d8bd159"></a><!-- doxytag: member="PreIllumSystem::SetEyeCamera" ref="fd32a15ee5a22f0e518a8e744d8bd159" args="(Camera *theCam)" -->
28void&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetEyeCamera</b> (Camera *theCam)</td></tr>
29
30<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="abed9d86f4a370f5a76fc30839151561"></a><!-- doxytag: member="PreIllumSystem::Init" ref="abed9d86f4a370f5a76fc30839151561" args="(int particlecount, int directioncount)" -->
31void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#abed9d86f4a370f5a76fc30839151561">Init</a> (int particlecount, int directioncount)</td></tr>
32
33<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializator function. <br></td></tr>
34<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e860017134e8450ca65b1d04337824ac"></a><!-- doxytag: member="PreIllumSystem::Display" ref="e860017134e8450ca65b1d04337824ac" args="()" -->
35void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#e860017134e8450ca65b1d04337824ac">Display</a> ()</td></tr>
36
37<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Render the particle system. <br></td></tr>
38<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#f0f872c29626686a48c75af7c1d37458">Refresh</a> (Vector lightpos, Vector lightpos2, Vector lightcolor, Vector lightcolor2)</td></tr>
39
40<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Refreshes the system in a frame.  <a href="#f0f872c29626686a48c75af7c1d37458"></a><br></td></tr>
41<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#25008b0d4d76a9efdb4ae70e7feb9de8">DisplayTexture</a> (int tex)</td></tr>
42
43<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Displays one of the textures used by the system.  <a href="#25008b0d4d76a9efdb4ae70e7feb9de8"></a><br></td></tr>
44<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4ac178a2eca8f3ef012e44da1feacfc2"></a><!-- doxytag: member="PreIllumSystem::getNearest" ref="4ac178a2eca8f3ef012e44da1feacfc2" args="(Vector *positions)" -->
45void&nbsp;</td><td class="memItemRight" valign="bottom"><b>getNearest</b> (Vector *positions)</td></tr>
46
47<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d3a495fa57a10f37722e9b340a5819fa"></a><!-- doxytag: member="PreIllumSystem::IncreaseOpacity" ref="d3a495fa57a10f37722e9b340a5819fa" args="()" -->
48void&nbsp;</td><td class="memItemRight" valign="bottom"><b>IncreaseOpacity</b> ()</td></tr>
49
50<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="523cea4f092b4dd628676e87ce215c9a"></a><!-- doxytag: member="PreIllumSystem::DecreaseOpacity" ref="523cea4f092b4dd628676e87ce215c9a" args="()" -->
51void&nbsp;</td><td class="memItemRight" valign="bottom"><b>DecreaseOpacity</b> ()</td></tr>
52
53<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7fdf1d4ba1e85e21494e195fc89ada9d"></a><!-- doxytag: member="PreIllumSystem::IncreaseAlbedo" ref="7fdf1d4ba1e85e21494e195fc89ada9d" args="()" -->
54void&nbsp;</td><td class="memItemRight" valign="bottom"><b>IncreaseAlbedo</b> ()</td></tr>
55
56<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2ae2fbf6644c207c27aac7951eab795a"></a><!-- doxytag: member="PreIllumSystem::DecreaseAlbedo" ref="2ae2fbf6644c207c27aac7951eab795a" args="()" -->
57void&nbsp;</td><td class="memItemRight" valign="bottom"><b>DecreaseAlbedo</b> ()</td></tr>
58
59<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f1dc312f189b64f3fb7e8513a2f4b405"></a><!-- doxytag: member="PreIllumSystem::getAlbedo" ref="f1dc312f189b64f3fb7e8513a2f4b405" args="()" -->
60float&nbsp;</td><td class="memItemRight" valign="bottom"><b>getAlbedo</b> ()</td></tr>
61
62<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4777a277062ff29dc0692d50543d037e"></a><!-- doxytag: member="PreIllumSystem::getOpacity" ref="4777a277062ff29dc0692d50543d037e" args="()" -->
63float&nbsp;</td><td class="memItemRight" valign="bottom"><b>getOpacity</b> ()</td></tr>
64
65<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9d3731d85abbdc93550a827d67322695"></a><!-- doxytag: member="PreIllumSystem::ResetIllumTexture" ref="9d3731d85abbdc93550a827d67322695" args="()" -->
66void&nbsp;</td><td class="memItemRight" valign="bottom"><b>ResetIllumTexture</b> ()</td></tr>
67
68<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1642478d1605a84adf06949551ea89e4"></a><!-- doxytag: member="PreIllumSystem::setSkyColor" ref="1642478d1605a84adf06949551ea89e4" args="(Vector skyC)" -->
69void&nbsp;</td><td class="memItemRight" valign="bottom"><b>setSkyColor</b> (Vector skyC)</td></tr>
70
71<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
72<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="71db6218e21d0fb9d88b0a20e13fc675"></a><!-- doxytag: member="PreIllumSystem::m_System" ref="71db6218e21d0fb9d88b0a20e13fc675" args="" -->
73ParticleSystem&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#71db6218e21d0fb9d88b0a20e13fc675">m_System</a></td></tr>
74
75<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">a system that stores particle positions and can render them as sprites <br></td></tr>
76<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="559c0b3b3e7e8d6b48916941957236da"></a><!-- doxytag: member="PreIllumSystem::m_DirectionCount" ref="559c0b3b3e7e8d6b48916941957236da" args="" -->
77int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#559c0b3b3e7e8d6b48916941957236da">m_DirectionCount</a></td></tr>
78
79<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">the number of directions the technique should use <br></td></tr>
80<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9f269d2c4dd297c55f443ba356651b5c"></a><!-- doxytag: member="PreIllumSystem::m_ParticleCount" ref="9f269d2c4dd297c55f443ba356651b5c" args="" -->
81int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#9f269d2c4dd297c55f443ba356651b5c">m_ParticleCount</a></td></tr>
82
83<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">the number of particles in the system <br></td></tr>
84<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e16589e6d2d3288e0f326a93c4aed107"></a><!-- doxytag: member="PreIllumSystem::m_Albedo" ref="e16589e6d2d3288e0f326a93c4aed107" args="" -->
85float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#e16589e6d2d3288e0f326a93c4aed107">m_Albedo</a></td></tr>
86
87<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">the albedo of one particle <br></td></tr>
88<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d37194b873ae245ab602f0c583e31f5e"></a><!-- doxytag: member="PreIllumSystem::m_Opacity" ref="d37194b873ae245ab602f0c583e31f5e" args="" -->
89float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#d37194b873ae245ab602f0c583e31f5e">m_Opacity</a></td></tr>
90
91<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">the desirer opacity of the medium <br></td></tr>
92<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c4764ed0974af5ceeee39de23e33e993"></a><!-- doxytag: member="PreIllumSystem::m_Symmetry" ref="c4764ed0974af5ceeee39de23e33e993" args="" -->
93float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#c4764ed0974af5ceeee39de23e33e993">m_Symmetry</a></td></tr>
94
95<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">the symmetry of scattering used in the phase function <br></td></tr>
96<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8660516e1d9178fef58d70539157050a"></a><!-- doxytag: member="PreIllumSystem::m_LightWindowSize" ref="8660516e1d9178fef58d70539157050a" args="" -->
97int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#8660516e1d9178fef58d70539157050a">m_LightWindowSize</a></td></tr>
98
99<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">resolution of the lightsources viewports <br></td></tr>
100<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#6243010d078dced3e4d6454fca3f890f">m_IterateCount</a></td></tr>
101
102<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">number of iterations in a frame  <a href="#6243010d078dced3e4d6454fca3f890f"></a><br></td></tr>
103<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
104<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c82aee85e35f2d5480997d2c1c2cd472"></a><!-- doxytag: member="PreIllumSystem::CreateGivenDirections" ref="c82aee85e35f2d5480997d2c1c2cd472" args="()" -->
105void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#c82aee85e35f2d5480997d2c1c2cd472">CreateGivenDirections</a> ()</td></tr>
106
107<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">generates directions equally along the unit sphere <br></td></tr>
108<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="61db97c28fb6c1c51bf04f4366ca06c5"></a><!-- doxytag: member="PreIllumSystem::CreateRandomDirections" ref="61db97c28fb6c1c51bf04f4366ca06c5" args="(bool fillarray)" -->
109void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#61db97c28fb6c1c51bf04f4366ca06c5">CreateRandomDirections</a> (bool fillarray)</td></tr>
110
111<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">generates random directions <br></td></tr>
112<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="407cf80b1f6325a6a04279a12b219000"></a><!-- doxytag: member="PreIllumSystem::Calculate_Up_Right_Vector" ref="407cf80b1f6325a6a04279a12b219000" args="(Vector viewdir, Vector &amp;UpVector, Vector &amp;RightVector)" -->
113void&nbsp;</td><td class="memItemRight" valign="bottom"><b>Calculate_Up_Right_Vector</b> (Vector viewdir, Vector &amp;UpVector, Vector &amp;RightVector)</td></tr>
114
115<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a4c511b604a8bdb40a4502a63d3ebeeb"></a><!-- doxytag: member="PreIllumSystem::Phase" ref="a4c511b604a8bdb40a4502a63d3ebeeb" args="(Vector diri, Vector dirj, float symmetry)" -->
116float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#a4c511b604a8bdb40a4502a63d3ebeeb">Phase</a> (Vector diri, Vector dirj, float symmetry)</td></tr>
117
118<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">calculates the scattering phase function value for two directions and a symmetry value <br></td></tr>
119<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bcf18fc25a94bd7661dfbefe27ed61bc"></a><!-- doxytag: member="PreIllumSystem::GetNearestDirection" ref="bcf18fc25a94bd7661dfbefe27ed61bc" args="(Vector LightPosition)" -->
120&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#bcf18fc25a94bd7661dfbefe27ed61bc">GetNearestDirection</a> (Vector LightPosition)</td></tr>
121
122<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">searches the stored directions and returns the one closest to a given direction <br></td></tr>
123<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3c9b170847793e64dda77b20228cc74e"></a><!-- doxytag: member="PreIllumSystem::InitSystem" ref="3c9b170847793e64dda77b20228cc74e" args="(int particlecount, int directioncount)" -->
124void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#3c9b170847793e64dda77b20228cc74e">InitSystem</a> (int particlecount, int directioncount)</td></tr>
125
126<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializator function. <br></td></tr>
127<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#cf1cb4c1534f544087f9eac3808b497b">CreateVisibilityTexture</a> ()</td></tr>
128
129<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a texture that stores the visibility information of the particles.  <a href="#cf1cb4c1534f544087f9eac3808b497b"></a><br></td></tr>
130<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cf6b5decc32440071b4b19da28d7da22"></a><!-- doxytag: member="PreIllumSystem::CreateNearestDirectionTexture" ref="cf6b5decc32440071b4b19da28d7da22" args="()" -->
131void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#cf6b5decc32440071b4b19da28d7da22">CreateNearestDirectionTexture</a> ()</td></tr>
132
133<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a texture that stores. <br></td></tr>
134<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4f8a4ecdcf440bf6aa071e952f69fe48"></a><!-- doxytag: member="PreIllumSystem::CreatePhaseTexture" ref="4f8a4ecdcf440bf6aa071e952f69fe48" args="()" -->
135void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#4f8a4ecdcf440bf6aa071e952f69fe48">CreatePhaseTexture</a> ()</td></tr>
136
137<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a look-up texture to speed up phase function calculation. <br></td></tr>
138<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="36722c848634c67c43bf06203b0ce9e3"></a><!-- doxytag: member="PreIllumSystem::CreateLVisMap" ref="36722c848634c67c43bf06203b0ce9e3" args="()" -->
139void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#36722c848634c67c43bf06203b0ce9e3">CreateLVisMap</a> ()</td></tr>
140
141<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a texture that can be used to determine which particles are visible from the lightsource. <br></td></tr>
142<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#c33db5420b00179a8087dabe951be2a3">CreateTauTexture</a> ()</td></tr>
143
144<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a texture tha stores the tau value for each particle.  <a href="#c33db5420b00179a8087dabe951be2a3"></a><br></td></tr>
145<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#1f94eebbd13f8d5d14766d3e71c47063">RefreshDirectIllumTexture</a> ()</td></tr>
146
147<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Refreshes the texture that stores direct illumination information.  <a href="#1f94eebbd13f8d5d14766d3e71c47063"></a><br></td></tr>
148<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="61512ccf71411d9caeb85a392b2214f1"></a><!-- doxytag: member="PreIllumSystem::Iterate" ref="61512ccf71411d9caeb85a392b2214f1" args="()" -->
149void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#61512ccf71411d9caeb85a392b2214f1">Iterate</a> ()</td></tr>
150
151<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Updates the illumination texture. <br></td></tr>
152<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#9ae26567f73f72c766139cdaf8ca3d8e">CreateEyeRadTexture</a> ()</td></tr>
153
154<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Updates the eye radiance texture.  <a href="#9ae26567f73f72c766139cdaf8ca3d8e"></a><br></td></tr>
155<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#c910427b0c831468d3b4333137248490">FindVisiblesWithRendering</a> (Vector LightPosition, int row)</td></tr>
156
157<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Finds the visible particles from a point of view.  <a href="#c910427b0c831468d3b4333137248490"></a><br></td></tr>
158<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8db4c7f07ca99dc5f3964e744b71611a"></a><!-- doxytag: member="PreIllumSystem::RenderToImpostor" ref="8db4c7f07ca99dc5f3964e744b71611a" args="()" -->
159void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#8db4c7f07ca99dc5f3964e744b71611a">RenderToImpostor</a> ()</td></tr>
160
161<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">not used <br></td></tr>
162<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
163<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2f4d058a0cedd7a73c11b4b47a5a8f3e"></a><!-- doxytag: member="PreIllumSystem::m_SkyColor" ref="2f4d058a0cedd7a73c11b4b47a5a8f3e" args="" -->
164Vector&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#2f4d058a0cedd7a73c11b4b47a5a8f3e">m_SkyColor</a></td></tr>
165
166<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">color of the sky <br></td></tr>
167<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4dae2b509a6215dfe1c8a58f3678e85e"></a><!-- doxytag: member="PreIllumSystem::m_ScreenQuad" ref="4dae2b509a6215dfe1c8a58f3678e85e" args="" -->
168Impostor&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#4dae2b509a6215dfe1c8a58f3678e85e">m_ScreenQuad</a></td></tr>
169
170<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">used for fullscreen quad rendering <br></td></tr>
171<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="afa59f06d01e07640be514a8db1186cf"></a><!-- doxytag: member="PreIllumSystem::m_CameraImpostor" ref="afa59f06d01e07640be514a8db1186cf" args="" -->
172Impostor&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_CameraImpostor</b></td></tr>
173
174<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="672a745c6f5426dbe17c73eb7c495029"></a><!-- doxytag: member="PreIllumSystem::m_LightImpostor" ref="672a745c6f5426dbe17c73eb7c495029" args="" -->
175Impostor&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_LightImpostor</b></td></tr>
176
177<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f55a7c95d8c63bb997649fbc1d17a3af"></a><!-- doxytag: member="PreIllumSystem::m_EyeCamera" ref="f55a7c95d8c63bb997649fbc1d17a3af" args="" -->
178Camera *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#f55a7c95d8c63bb997649fbc1d17a3af">m_EyeCamera</a></td></tr>
179
180<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">view camera <br></td></tr>
181<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eee676d74979bbb9ac18cadb58ae57e6"></a><!-- doxytag: member="PreIllumSystem::m_TempCamera" ref="eee676d74979bbb9ac18cadb58ae57e6" args="" -->
182Camera&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_TempCamera</b></td></tr>
183
184<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4ab35a7d4f4ad578d41a1a167a38b8dd"></a><!-- doxytag: member="PreIllumSystem::m_LightPosition" ref="4ab35a7d4f4ad578d41a1a167a38b8dd" args="" -->
185Vector&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#4ab35a7d4f4ad578d41a1a167a38b8dd">m_LightPosition</a></td></tr>
186
187<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">position of the first lightsource <br></td></tr>
188<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d9c5fc6269958b56630c3c3c7594b01a"></a><!-- doxytag: member="PreIllumSystem::m_LightColor" ref="d9c5fc6269958b56630c3c3c7594b01a" args="" -->
189Vector&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#d9c5fc6269958b56630c3c3c7594b01a">m_LightColor</a></td></tr>
190
191<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">color of the first lightsource <br></td></tr>
192<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d9bd1fcfbaf14507eb9547cbb48f6dae"></a><!-- doxytag: member="PreIllumSystem::m_LightPosition2" ref="d9bd1fcfbaf14507eb9547cbb48f6dae" args="" -->
193Vector&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#d9bd1fcfbaf14507eb9547cbb48f6dae">m_LightPosition2</a></td></tr>
194
195<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">position of the second lightsource <br></td></tr>
196<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d1606b9ce163d6c83e367d6fb521f1f6"></a><!-- doxytag: member="PreIllumSystem::m_LightColor2" ref="d1606b9ce163d6c83e367d6fb521f1f6" args="" -->
197Vector&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#d1606b9ce163d6c83e367d6fb521f1f6">m_LightColor2</a></td></tr>
198
199<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">color of the second lightsource <br></td></tr>
200<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="692669d2ab6c41b6c47a10bafc87aab4"></a><!-- doxytag: member="PreIllumSystem::m_NearestDir" ref="692669d2ab6c41b6c47a10bafc87aab4" args="" -->
201int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#692669d2ab6c41b6c47a10bafc87aab4">m_NearestDir</a></td></tr>
202
203<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">the closest direction from the predefined directions to the light's direction <br></td></tr>
204<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="508a86f6204908b866d05eb8365df411"></a><!-- doxytag: member="PreIllumSystem::m_NearestDir2" ref="508a86f6204908b866d05eb8365df411" args="" -->
205int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#508a86f6204908b866d05eb8365df411">m_NearestDir2</a></td></tr>
206
207<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">the second closest direction from the predefined directions to the light's direction <br></td></tr>
208<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#7923d5dbae8ca405ef40c82629254d11">m_Weight1</a></td></tr>
209
210<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">weight of m_NearestDir  <a href="#7923d5dbae8ca405ef40c82629254d11"></a><br></td></tr>
211<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#be344103bbfc0e9264ddf94ca19cd1e2">m_Weight2</a></td></tr>
212
213<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">weight of m_NearestDir2  <a href="#be344103bbfc0e9264ddf94ca19cd1e2"></a><br></td></tr>
214<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2f221cf7eff1df3902c65592e4281f20"></a><!-- doxytag: member="PreIllumSystem::m_ParticleArray" ref="2f221cf7eff1df3902c65592e4281f20" args="" -->
215Particle *&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_ParticleArray</b></td></tr>
216
217<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="92042a2ab2b867a77c3676c35a559a2e"></a><!-- doxytag: member="PreIllumSystem::m_PositionArray" ref="92042a2ab2b867a77c3676c35a559a2e" args="" -->
218float *&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_PositionArray</b></td></tr>
219
220<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c6ebdf9d0e5aff0bed433f3e52355c89"></a><!-- doxytag: member="PreIllumSystem::m_DirectionData" ref="c6ebdf9d0e5aff0bed433f3e52355c89" args="" -->
221float *&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_DirectionData</b></td></tr>
222
223<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="44141f846630908b66153f2625997981"></a><!-- doxytag: member="PreIllumSystem::m_Directions" ref="44141f846630908b66153f2625997981" args="" -->
224Vector *&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_Directions</b></td></tr>
225
226<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b07f1c8424cc1936db9b8e9fb9965d12"></a><!-- doxytag: member="PreIllumSystem::m_DirectionArray" ref="b07f1c8424cc1936db9b8e9fb9965d12" args="" -->
227float *&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_DirectionArray</b></td></tr>
228
229<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eb647deeec9f9a9d3db0dbdeabb5b24c"></a><!-- doxytag: member="PreIllumSystem::m_LVisMap" ref="eb647deeec9f9a9d3db0dbdeabb5b24c" args="" -->
230unsigned char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_LVisMap</b></td></tr>
231
232<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4629c4e1bc4aa0263767e94cf203c9ec"></a><!-- doxytag: member="PreIllumSystem::m_LRendVisMap" ref="4629c4e1bc4aa0263767e94cf203c9ec" args="" -->
233unsigned char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_LRendVisMap</b></td></tr>
234
235<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3d929f29a0bc087e96bf5c3f907eab5b"></a><!-- doxytag: member="PreIllumSystem::m_Pixels" ref="3d929f29a0bc087e96bf5c3f907eab5b" args="" -->
236float *&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_Pixels</b></td></tr>
237
238<tr><td class="memItemLeft" nowrap align="right" valign="top">GLuint&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#526ff114963c1cac301b0b1a2f316d15">m_VisibilityTexID</a></td></tr>
239
240<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">stores the visibility information of the particles  <a href="#526ff114963c1cac301b0b1a2f316d15"></a><br></td></tr>
241<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e023eef951014d62cf91cfac39f216e9"></a><!-- doxytag: member="PreIllumSystem::m_DirectionsTexID" ref="e023eef951014d62cf91cfac39f216e9" args="" -->
242GLuint&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#e023eef951014d62cf91cfac39f216e9">m_DirectionsTexID</a></td></tr>
243
244<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">stores predefined directions to use <br></td></tr>
245<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f8f54406d7f2f23371cc2940fe771a91"></a><!-- doxytag: member="PreIllumSystem::m_PhaseTextureID" ref="f8f54406d7f2f23371cc2940fe771a91" args="" -->
246GLuint&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#f8f54406d7f2f23371cc2940fe771a91">m_PhaseTextureID</a></td></tr>
247
248<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">a look-up texture to speed up phase function calculation <br></td></tr>
249<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d2c840beaa074a750688164b5456da70"></a><!-- doxytag: member="PreIllumSystem::m_LVisMapID" ref="d2c840beaa074a750688164b5456da70" args="" -->
250GLuint&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#d2c840beaa074a750688164b5456da70">m_LVisMapID</a></td></tr>
251
252<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">a texture that can be used to determine which particles are visible from the lightsource <br></td></tr>
253<tr><td class="memItemLeft" nowrap align="right" valign="top">GLuint&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#92b27cd81743905c1489c14e35751592">m_RenderedVisID</a></td></tr>
254
255<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">used when determining licible particles  <a href="#92b27cd81743905c1489c14e35751592"></a><br></td></tr>
256<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="76ed93ac61759c08d6082ea062a9963a"></a><!-- doxytag: member="PreIllumSystem::m_TauTextureID" ref="76ed93ac61759c08d6082ea062a9963a" args="" -->
257GLuint&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pre_illum_system.html#76ed93ac61759c08d6082ea062a9963a">m_TauTextureID</a></td></tr>
258
259<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">stores tau value for each particle <br></td></tr>
260<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f44f6fcb8ad3a18ff55684078310d7f9"></a><!-- doxytag: member="PreIllumSystem::m_TexRectPrograms" ref="f44f6fcb8ad3a18ff55684078310d7f9" args="" -->
261CgProgram&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_TexRectPrograms</b></td></tr>
262
263<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="683302819ee6ae4b85b875c332532189"></a><!-- doxytag: member="PreIllumSystem::m_LightIllumPrograms" ref="683302819ee6ae4b85b875c332532189" args="" -->
264CgProgram&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_LightIllumPrograms</b></td></tr>
265
266<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7c87fbbe8866b29fee06dbfcfa2a10bc"></a><!-- doxytag: member="PreIllumSystem::m_IllumIteratePrograms" ref="7c87fbbe8866b29fee06dbfcfa2a10bc" args="" -->
267CgProgram&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_IllumIteratePrograms</b></td></tr>
268
269<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a47e77dc7edefaa6abf772a9138bf043"></a><!-- doxytag: member="PreIllumSystem::m_EyeRadPrograms" ref="a47e77dc7edefaa6abf772a9138bf043" args="" -->
270CgProgram&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_EyeRadPrograms</b></td></tr>
271
272<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a3a4da7db0e70ef1b8ac0d1b80dec06b"></a><!-- doxytag: member="PreIllumSystem::m_LVisPrograms" ref="a3a4da7db0e70ef1b8ac0d1b80dec06b" args="" -->
273CgProgram&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_LVisPrograms</b></td></tr>
274
275<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b1662ff4dd262c8e927c066ea6c1d58f"></a><!-- doxytag: member="PreIllumSystem::m_FinalRenderPrograms" ref="b1662ff4dd262c8e927c066ea6c1d58f" args="" -->
276CgProgram&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_FinalRenderPrograms</b></td></tr>
277
278<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d886266309857d1810b240af490b6b84"></a><!-- doxytag: member="PreIllumSystem::m_DirectIlumTexture" ref="d886266309857d1810b240af490b6b84" args="" -->
279RenderTexture&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_DirectIlumTexture</b></td></tr>
280
281<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9b806010ee7421c9800d23026391ede3"></a><!-- doxytag: member="PreIllumSystem::m_IllumTexture" ref="9b806010ee7421c9800d23026391ede3" args="" -->
282RenderTexture&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_IllumTexture</b></td></tr>
283
284<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="83897f4a5cbc092516a64f826b15b2b6"></a><!-- doxytag: member="PreIllumSystem::m_IllumTexture2" ref="83897f4a5cbc092516a64f826b15b2b6" args="" -->
285RenderTexture&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_IllumTexture2</b></td></tr>
286
287<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b8e92c292327ee94adbdb0a502fcde93"></a><!-- doxytag: member="PreIllumSystem::m_IllumColorTex" ref="b8e92c292327ee94adbdb0a502fcde93" args="" -->
288RenderTexture *&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_IllumColorTex</b></td></tr>
289
290<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5d750599883f07b0927e7cef76d32f5e"></a><!-- doxytag: member="PreIllumSystem::m_IllumRenderTex" ref="5d750599883f07b0927e7cef76d32f5e" args="" -->
291RenderTexture *&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_IllumRenderTex</b></td></tr>
292
293<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="41284051a4bd29f3a63b3377572fc698"></a><!-- doxytag: member="PreIllumSystem::m_EyeRadTexture" ref="41284051a4bd29f3a63b3377572fc698" args="" -->
294RenderTexture&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_EyeRadTexture</b></td></tr>
295
296<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ff9b1c71c53919118fc8a2c4d59a6187"></a><!-- doxytag: member="PreIllumSystem::m_Target" ref="ff9b1c71c53919118fc8a2c4d59a6187" args="" -->
297RenderTexture&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_Target</b></td></tr>
298
299<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ef0b599c60be826570b9664e764e58ff"></a><!-- doxytag: member="PreIllumSystem::m_BillboardTexture" ref="ef0b599c60be826570b9664e764e58ff" args="" -->
300Texture&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_BillboardTexture</b></td></tr>
301
302<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bb70fa1778f77d6eaa0869a148ade198"></a><!-- doxytag: member="PreIllumSystem::m_Bbtex" ref="bb70fa1778f77d6eaa0869a148ade198" args="" -->
303Texture&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_Bbtex</b></td></tr>
304
305<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b6e46aeb4e40ed7af275f91819924044"></a><!-- doxytag: member="PreIllumSystem::m_ImpostorTexture" ref="b6e46aeb4e40ed7af275f91819924044" args="" -->
306RenderTexture&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_ImpostorTexture</b></td></tr>
307
308</table>
309<hr><a name="_details"></a><h2>Detailed Description</h2>
310This class represents a particle system that uses the Illumination Networks technique.
311<p>
312This particle system can be lit with two dinamic directional light sources and a sky light color. The direction and color of the light sources can freely change.
313<p>
314<hr><h2>Member Function Documentation</h2>
315<a class="anchor" name="9ae26567f73f72c766139cdaf8ca3d8e"></a><!-- doxytag: member="PreIllumSystem::CreateEyeRadTexture" ref="9ae26567f73f72c766139cdaf8ca3d8e" args="()" --><p>
316<table class="mdTable" cellpadding="2" cellspacing="0">
317  <tr>
318    <td class="mdRow">
319      <table cellpadding="0" cellspacing="0" border="0">
320        <tr>
321          <td class="md" nowrap valign="top">void PreIllumSystem::CreateEyeRadTexture           </td>
322          <td class="md" valign="top">(&nbsp;</td>
323          <td class="mdname1" valign="top" nowrap>          </td>
324          <td class="md" valign="top">&nbsp;)&nbsp;</td>
325          <td class="md" nowrap><code> [private]</code></td>
326        </tr>
327      </table>
328    </td>
329  </tr>
330</table>
331<table cellspacing="5" cellpadding="0" border="0">
332  <tr>
333    <td>
334      &nbsp;
335    </td>
336    <td>
337
338<p>
339Updates the eye radiance texture.
340<p>
341The eye radiance texture stores the amount of light headig from each particle to the eye.     </td>
342  </tr>
343</table>
344<a class="anchor" name="c33db5420b00179a8087dabe951be2a3"></a><!-- doxytag: member="PreIllumSystem::CreateTauTexture" ref="c33db5420b00179a8087dabe951be2a3" args="()" --><p>
345<table class="mdTable" cellpadding="2" cellspacing="0">
346  <tr>
347    <td class="mdRow">
348      <table cellpadding="0" cellspacing="0" border="0">
349        <tr>
350          <td class="md" nowrap valign="top">void PreIllumSystem::CreateTauTexture           </td>
351          <td class="md" valign="top">(&nbsp;</td>
352          <td class="mdname1" valign="top" nowrap>          </td>
353          <td class="md" valign="top">&nbsp;)&nbsp;</td>
354          <td class="md" nowrap><code> [private]</code></td>
355        </tr>
356      </table>
357    </td>
358  </tr>
359</table>
360<table cellspacing="5" cellpadding="0" border="0">
361  <tr>
362    <td>
363      &nbsp;
364    </td>
365    <td>
366
367<p>
368Creates a texture tha stores the tau value for each particle.
369<p>
370The tau values are calculated from the given desired opacity and the size of the particle.     </td>
371  </tr>
372</table>
373<a class="anchor" name="cf1cb4c1534f544087f9eac3808b497b"></a><!-- doxytag: member="PreIllumSystem::CreateVisibilityTexture" ref="cf1cb4c1534f544087f9eac3808b497b" args="()" --><p>
374<table class="mdTable" cellpadding="2" cellspacing="0">
375  <tr>
376    <td class="mdRow">
377      <table cellpadding="0" cellspacing="0" border="0">
378        <tr>
379          <td class="md" nowrap valign="top">void PreIllumSystem::CreateVisibilityTexture           </td>
380          <td class="md" valign="top">(&nbsp;</td>
381          <td class="mdname1" valign="top" nowrap>          </td>
382          <td class="md" valign="top">&nbsp;)&nbsp;</td>
383          <td class="md" nowrap><code> [private]</code></td>
384        </tr>
385      </table>
386    </td>
387  </tr>
388</table>
389<table cellspacing="5" cellpadding="0" border="0">
390  <tr>
391    <td>
392      &nbsp;
393    </td>
394    <td>
395
396<p>
397Creates a texture that stores the visibility information of the particles.
398<p>
399For each particle for each direction the first visible (from that direction) particle's id is stored.     </td>
400  </tr>
401</table>
402<a class="anchor" name="25008b0d4d76a9efdb4ae70e7feb9de8"></a><!-- doxytag: member="PreIllumSystem::DisplayTexture" ref="25008b0d4d76a9efdb4ae70e7feb9de8" args="(int tex)" --><p>
403<table class="mdTable" cellpadding="2" cellspacing="0">
404  <tr>
405    <td class="mdRow">
406      <table cellpadding="0" cellspacing="0" border="0">
407        <tr>
408          <td class="md" nowrap valign="top">char * PreIllumSystem::DisplayTexture           </td>
409          <td class="md" valign="top">(&nbsp;</td>
410          <td class="md" nowrap valign="top">int&nbsp;</td>
411          <td class="mdname1" valign="top" nowrap> <em>tex</em>          </td>
412          <td class="md" valign="top">&nbsp;)&nbsp;</td>
413          <td class="md" nowrap></td>
414        </tr>
415      </table>
416    </td>
417  </tr>
418</table>
419<table cellspacing="5" cellpadding="0" border="0">
420  <tr>
421    <td>
422      &nbsp;
423    </td>
424    <td>
425
426<p>
427Displays one of the textures used by the system.
428<p>
429Used for debugging and presentation.     </td>
430  </tr>
431</table>
432<a class="anchor" name="c910427b0c831468d3b4333137248490"></a><!-- doxytag: member="PreIllumSystem::FindVisiblesWithRendering" ref="c910427b0c831468d3b4333137248490" args="(Vector LightPosition, int row)" --><p>
433<table class="mdTable" cellpadding="2" cellspacing="0">
434  <tr>
435    <td class="mdRow">
436      <table cellpadding="0" cellspacing="0" border="0">
437        <tr>
438          <td class="md" nowrap valign="top">void PreIllumSystem::FindVisiblesWithRendering           </td>
439          <td class="md" valign="top">(&nbsp;</td>
440          <td class="md" nowrap valign="top">Vector&nbsp;</td>
441          <td class="mdname" nowrap> <em>LightPosition</em>, </td>
442        </tr>
443        <tr>
444          <td class="md" nowrap align="right"></td>
445          <td class="md"></td>
446          <td class="md" nowrap>int&nbsp;</td>
447          <td class="mdname" nowrap> <em>row</em></td>
448        </tr>
449        <tr>
450          <td class="md"></td>
451          <td class="md">)&nbsp;</td>
452          <td class="md" colspan="2"><code> [private]</code></td>
453        </tr>
454      </table>
455    </td>
456  </tr>
457</table>
458<table cellspacing="5" cellpadding="0" border="0">
459  <tr>
460    <td>
461      &nbsp;
462    </td>
463    <td>
464
465<p>
466Finds the visible particles from a point of view.
467<p>
468The light visibility texture stores the id of the visible particles (with occlusion) from the light sources. The param "row" means the id of the lightsource ( 0 or 1).<p>
469The visibility is calculated with rendering the particles from the lightsource. Each particle has a color corresponding it's id. The resulting image is read back, and the pixels are counted. If the number of pixels with a particle's id found is greather than some limit, the particle is visible.     </td>
470  </tr>
471</table>
472<a class="anchor" name="f0f872c29626686a48c75af7c1d37458"></a><!-- doxytag: member="PreIllumSystem::Refresh" ref="f0f872c29626686a48c75af7c1d37458" args="(Vector lightpos, Vector lightpos2, Vector lightcolor, Vector lightcolor2)" --><p>
473<table class="mdTable" cellpadding="2" cellspacing="0">
474  <tr>
475    <td class="mdRow">
476      <table cellpadding="0" cellspacing="0" border="0">
477        <tr>
478          <td class="md" nowrap valign="top">void PreIllumSystem::Refresh           </td>
479          <td class="md" valign="top">(&nbsp;</td>
480          <td class="md" nowrap valign="top">Vector&nbsp;</td>
481          <td class="mdname" nowrap> <em>lightpos</em>, </td>
482        </tr>
483        <tr>
484          <td class="md" nowrap align="right"></td>
485          <td class="md"></td>
486          <td class="md" nowrap>Vector&nbsp;</td>
487          <td class="mdname" nowrap> <em>lightpos2</em>, </td>
488        </tr>
489        <tr>
490          <td class="md" nowrap align="right"></td>
491          <td class="md"></td>
492          <td class="md" nowrap>Vector&nbsp;</td>
493          <td class="mdname" nowrap> <em>lightcolor</em>, </td>
494        </tr>
495        <tr>
496          <td class="md" nowrap align="right"></td>
497          <td class="md"></td>
498          <td class="md" nowrap>Vector&nbsp;</td>
499          <td class="mdname" nowrap> <em>lightcolor2</em></td>
500        </tr>
501        <tr>
502          <td class="md"></td>
503          <td class="md">)&nbsp;</td>
504          <td class="md" colspan="2"></td>
505        </tr>
506      </table>
507    </td>
508  </tr>
509</table>
510<table cellspacing="5" cellpadding="0" border="0">
511  <tr>
512    <td>
513      &nbsp;
514    </td>
515    <td>
516
517<p>
518Refreshes the system in a frame.
519<p>
520The actual light positions and colors should be passed.     </td>
521  </tr>
522</table>
523<a class="anchor" name="1f94eebbd13f8d5d14766d3e71c47063"></a><!-- doxytag: member="PreIllumSystem::RefreshDirectIllumTexture" ref="1f94eebbd13f8d5d14766d3e71c47063" args="()" --><p>
524<table class="mdTable" cellpadding="2" cellspacing="0">
525  <tr>
526    <td class="mdRow">
527      <table cellpadding="0" cellspacing="0" border="0">
528        <tr>
529          <td class="md" nowrap valign="top">void PreIllumSystem::RefreshDirectIllumTexture           </td>
530          <td class="md" valign="top">(&nbsp;</td>
531          <td class="mdname1" valign="top" nowrap>          </td>
532          <td class="md" valign="top">&nbsp;)&nbsp;</td>
533          <td class="md" nowrap><code> [private]</code></td>
534        </tr>
535      </table>
536    </td>
537  </tr>
538</table>
539<table cellspacing="5" cellpadding="0" border="0">
540  <tr>
541    <td>
542      &nbsp;
543    </td>
544    <td>
545
546<p>
547Refreshes the texture that stores direct illumination information.
548<p>
549Direct illumination is the amount of light coming directly from the lightsource.     </td>
550  </tr>
551</table>
552<hr><h2>Member Data Documentation</h2>
553<a class="anchor" name="6243010d078dced3e4d6454fca3f890f"></a><!-- doxytag: member="PreIllumSystem::m_IterateCount" ref="6243010d078dced3e4d6454fca3f890f" args="" --><p>
554<table class="mdTable" cellpadding="2" cellspacing="0">
555  <tr>
556    <td class="mdRow">
557      <table cellpadding="0" cellspacing="0" border="0">
558        <tr>
559          <td class="md" nowrap valign="top">int <a class="el" href="class_pre_illum_system.html#6243010d078dced3e4d6454fca3f890f">PreIllumSystem::m_IterateCount</a>          </td>
560        </tr>
561      </table>
562    </td>
563  </tr>
564</table>
565<table cellspacing="5" cellpadding="0" border="0">
566  <tr>
567    <td>
568      &nbsp;
569    </td>
570    <td>
571
572<p>
573number of iterations in a frame
574<p>
575As the result of the last frame is used, this should be set to one.     </td>
576  </tr>
577</table>
578<a class="anchor" name="92b27cd81743905c1489c14e35751592"></a><!-- doxytag: member="PreIllumSystem::m_RenderedVisID" ref="92b27cd81743905c1489c14e35751592" args="" --><p>
579<table class="mdTable" cellpadding="2" cellspacing="0">
580  <tr>
581    <td class="mdRow">
582      <table cellpadding="0" cellspacing="0" border="0">
583        <tr>
584          <td class="md" nowrap valign="top">GLuint <a class="el" href="class_pre_illum_system.html#92b27cd81743905c1489c14e35751592">PreIllumSystem::m_RenderedVisID</a><code> [private]</code>          </td>
585        </tr>
586      </table>
587    </td>
588  </tr>
589</table>
590<table cellspacing="5" cellpadding="0" border="0">
591  <tr>
592    <td>
593      &nbsp;
594    </td>
595    <td>
596
597<p>
598used when determining licible particles
599<p>
600<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="class_pre_illum_system.html#c910427b0c831468d3b4333137248490">FindVisiblesWithRendering</a> </dd></dl>
601    </td>
602  </tr>
603</table>
604<a class="anchor" name="526ff114963c1cac301b0b1a2f316d15"></a><!-- doxytag: member="PreIllumSystem::m_VisibilityTexID" ref="526ff114963c1cac301b0b1a2f316d15" args="" --><p>
605<table class="mdTable" cellpadding="2" cellspacing="0">
606  <tr>
607    <td class="mdRow">
608      <table cellpadding="0" cellspacing="0" border="0">
609        <tr>
610          <td class="md" nowrap valign="top">GLuint <a class="el" href="class_pre_illum_system.html#526ff114963c1cac301b0b1a2f316d15">PreIllumSystem::m_VisibilityTexID</a><code> [private]</code>          </td>
611        </tr>
612      </table>
613    </td>
614  </tr>
615</table>
616<table cellspacing="5" cellpadding="0" border="0">
617  <tr>
618    <td>
619      &nbsp;
620    </td>
621    <td>
622
623<p>
624stores the visibility information of the particles
625<p>
626For each particle for each direction the first visible (from that direction) particle's id is stored.     </td>
627  </tr>
628</table>
629<a class="anchor" name="7923d5dbae8ca405ef40c82629254d11"></a><!-- doxytag: member="PreIllumSystem::m_Weight1" ref="7923d5dbae8ca405ef40c82629254d11" args="" --><p>
630<table class="mdTable" cellpadding="2" cellspacing="0">
631  <tr>
632    <td class="mdRow">
633      <table cellpadding="0" cellspacing="0" border="0">
634        <tr>
635          <td class="md" nowrap valign="top">float <a class="el" href="class_pre_illum_system.html#7923d5dbae8ca405ef40c82629254d11">PreIllumSystem::m_Weight1</a><code> [private]</code>          </td>
636        </tr>
637      </table>
638    </td>
639  </tr>
640</table>
641<table cellspacing="5" cellpadding="0" border="0">
642  <tr>
643    <td>
644      &nbsp;
645    </td>
646    <td>
647
648<p>
649weight of m_NearestDir
650<p>
651m_NearestDir and m_NearestDir2 will be interpolated     </td>
652  </tr>
653</table>
654<a class="anchor" name="be344103bbfc0e9264ddf94ca19cd1e2"></a><!-- doxytag: member="PreIllumSystem::m_Weight2" ref="be344103bbfc0e9264ddf94ca19cd1e2" args="" --><p>
655<table class="mdTable" cellpadding="2" cellspacing="0">
656  <tr>
657    <td class="mdRow">
658      <table cellpadding="0" cellspacing="0" border="0">
659        <tr>
660          <td class="md" nowrap valign="top">float <a class="el" href="class_pre_illum_system.html#be344103bbfc0e9264ddf94ca19cd1e2">PreIllumSystem::m_Weight2</a><code> [private]</code>          </td>
661        </tr>
662      </table>
663    </td>
664  </tr>
665</table>
666<table cellspacing="5" cellpadding="0" border="0">
667  <tr>
668    <td>
669      &nbsp;
670    </td>
671    <td>
672
673<p>
674weight of m_NearestDir2
675<p>
676m_NearestDir and m_NearestDir2 will be interpolated     </td>
677  </tr>
678</table>
679<hr>The documentation for this class was generated from the following files:<ul>
680<li>PreIllumSystem.h<li>PreIllumSystem.cpp</ul>
681<hr size="1"><address style="align: right;"><small>Generated on Thu Apr 27 15:31:11 2006 for Illumination Networks Demo by&nbsp;
682<a href="http://www.doxygen.org/index.html">
683<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6-NO </small></address>
684</body>
685</html>
Note: See TracBrowser for help on using the repository browser.