source: GTP/trunk/App/Demos/Illum/Envmap/doc/html/_env_map_8fx.html @ 843

Revision 843, 69.3 KB checked in by szirmay, 18 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>gyak: EnvMap.fx File Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5</head><body>
6<!-- Generated by Doxygen 1.4.2 -->
7<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
8<div class="nav">
9<a class="el" href="dir_000000.html">D:</a>&nbsp;/&nbsp;<a class="el" href="dir_000001.html">Szirmay</a>&nbsp;/&nbsp;<a class="el" href="dir_000002.html">_Work</a>&nbsp;/&nbsp;<a class="el" href="dir_000003.html">DirectX (Shaders)</a>&nbsp;/&nbsp;<a class="el" href="dir_000004.html">Progs</a>&nbsp;/&nbsp;<a class="el" href="dir_000005.html">9 EnvMap (diffuse&amp;specular)</a>&nbsp;/&nbsp;<a class="el" href="dir_000006.html">fin_EnvMap</a></div>
10<h1>EnvMap.fx File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
11<tr><td></td></tr>
12<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
13<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a0">CUBEMAP_SIZE</a>&nbsp;&nbsp;&nbsp;128</td></tr>
14
15<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">size of the cube map taken from the reference point of the object  <a href="#a0"></a><br></td></tr>
16<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a1">LR_CUBEMAP_SIZE</a>&nbsp;&nbsp;&nbsp;4</td></tr>
17
18<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">size of the cube map for diffuse/glossy reflections  <a href="#a1"></a><br></td></tr>
19<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a2">RATE</a>&nbsp;&nbsp;&nbsp;(CUBEMAP_SIZE/LR_CUBEMAP_SIZE)</td></tr>
20
21<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">cube map downsampling rate for diffuse/glossy reflections  <a href="#a2"></a><br></td></tr>
22<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a3">PI</a>&nbsp;&nbsp;&nbsp;3.14159f</td></tr>
23
24<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a4">TechniqueUsingCommonVS</a>(name)</td></tr>
25
26<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">a helpful macro to define techniques with a common vertex program  <a href="#a4"></a><br></td></tr>
27<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a5">Technique</a>(name)</td></tr>
28
29<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">a helpful macro to define techniques  <a href="#a5"></a><br></td></tr>
30<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
31<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="struct_reduce_texture_v_s__output.html">ReduceTextureVS_output</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a31">ReduceTextureVS</a> (<a class="el" href="struct_reduce_texture_v_s__input.html">ReduceTextureVS_input</a> IN)</td></tr>
32
33<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">See the pixel program.  <a href="#a31"></a><br></td></tr>
34<tr><td class="memItemLeft" nowrap align="right" valign="top">float4&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a32">ReduceTexturePS</a> (<a class="el" href="struct_reduce_texture_v_s__output.html">ReduceTextureVS_output</a> IN)</td></tr>
35
36<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Downsamples a face of a cube map.  <a href="#a32"></a><br></td></tr>
37<tr><td class="memItemLeft" nowrap align="right" valign="top">float4&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a33">GetContibution</a> (float3 q, float3 L)</td></tr>
38
39<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the precalculated contribution of a texel with regard to the specified query direction.  <a href="#a33"></a><br></td></tr>
40<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="struct_convolution_v_s__output.html">ConvolutionVS_output</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a34">ConvolutionVS</a> (<a class="el" href="struct_convolution_v_s__input.html">ConvolutionVS_input</a> IN)</td></tr>
41
42<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">See the pixel program.  <a href="#a34"></a><br></td></tr>
43<tr><td class="memItemLeft" nowrap align="right" valign="top">float4&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a35">ConvolutionPS</a> (<a class="el" href="struct_convolution_v_s__output.html">ConvolutionVS_output</a> IN)</td></tr>
44
45<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convolves the values of a cube map.  <a href="#a35"></a><br></td></tr>
46<tr><td class="memItemLeft" nowrap align="right" valign="top">float3&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a36">Hit</a> (float3 x, float3 R, sampler mp)</td></tr>
47
48<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function approximately traces a ray from point x towards direction R. Depth information is obtained from the alpha channel of mp.  <a href="#a36"></a><br></td></tr>
49<tr><td class="memItemLeft" nowrap align="right" valign="top">float4&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a37">metal_reflectivity</a> (float3 L, float3 N, float3 V)</td></tr>
50
51<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simple Fresnel term approximation for metals.  <a href="#a37"></a><br></td></tr>
52<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="struct_env_map_v_s__output.html">EnvMapVS_output</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a38">EnvMapVS</a> (<a class="el" href="struct_env_map_v_s__input.html">EnvMapVS_input</a> IN)</td></tr>
53
54<tr><td class="memItemLeft" nowrap align="right" valign="top">float4&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a39">EnvMapImpostorPS</a> (<a class="el" href="struct_env_map_v_s__output.html">EnvMapVS_output</a> IN)</td></tr>
55
56<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Environment mapping with distance impostors.  <a href="#a39"></a><br></td></tr>
57<tr><td class="memItemLeft" nowrap align="right" valign="top">float4&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a40">EnvMapImpostorMetalPS</a> (<a class="el" href="struct_env_map_v_s__output.html">EnvMapVS_output</a> IN)</td></tr>
58
59<tr><td class="memItemLeft" nowrap align="right" valign="top">float4&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a41">EnvMapClassicPS</a> (<a class="el" href="struct_env_map_v_s__output.html">EnvMapVS_output</a> IN)</td></tr>
60
61<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Classic environment mapping technique.  <a href="#a41"></a><br></td></tr>
62<tr><td class="memItemLeft" nowrap align="right" valign="top">float4&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a42">EnvMapClassicMetalPS</a> (<a class="el" href="struct_env_map_v_s__output.html">EnvMapVS_output</a> IN)</td></tr>
63
64<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Classic environment mapping technique with a simple Fresnel term approximation (<a class="el" href="_env_map_8fx.html#a37">metal_reflectivity()</a>).  <a href="#a42"></a><br></td></tr>
65<tr><td class="memItemLeft" nowrap align="right" valign="top">float4&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a43">EnvMapDiffusePS</a> (<a class="el" href="struct_env_map_v_s__output.html">EnvMapVS_output</a> IN)</td></tr>
66
67<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines diffuse or specular illumination with a single lookup into <a class="el" href="_env_map_8fx.html#a25">PreconvolvedEnvironmentMap</a>.  <a href="#a43"></a><br></td></tr>
68<tr><td class="memItemLeft" nowrap align="right" valign="top">float4&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a44">GetContibution</a> (float3 L, float3 pos, float3 N, float3 V)</td></tr>
69
70<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates the contribution of a single texel of <a class="el" href="_env_map_8fx.html#a24">SmallEnvironmentMap</a> to the illumination of the shaded point.  <a href="#a44"></a><br></td></tr>
71<tr><td class="memItemLeft" nowrap align="right" valign="top">float4&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a45">EnvMapDiffuseLocalizedPS</a> (<a class="el" href="struct_env_map_v_s__output.html">EnvMapVS_output</a> IN)</td></tr>
72
73<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates diffuse or specular contributions of all texels in <a class="el" href="_env_map_8fx.html#a24">SmallEnvironmentMap</a> to the current point. For each texel of <a class="el" href="_env_map_8fx.html#a24">SmallEnvironmentMap</a>, function <a class="el" href="_env_map_8fx.html#a44">GetContibution(float3,float3,float3,float3)</a> is called.  <a href="#a45"></a><br></td></tr>
74<tr><td class="memItemLeft" nowrap align="right" valign="top">float4&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a46">GetContibutionWithCosLookup</a> (float3 L, float3 pos, float3 N, float3 V)</td></tr>
75
76<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates the contribution of a single texel of <a class="el" href="_env_map_8fx.html#a24">SmallEnvironmentMap</a> to the illumination of the shaded point.  <a href="#a46"></a><br></td></tr>
77<tr><td class="memItemLeft" nowrap align="right" valign="top">float4&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a47">EnvMapDiffuseLocalizedWithCosLookupPS</a> (<a class="el" href="struct_env_map_v_s__output.html">EnvMapVS_output</a> IN)</td></tr>
78
79<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates diffuse or specular contributions of all texels in <a class="el" href="_env_map_8fx.html#a24">SmallEnvironmentMap</a> to the current point. For each texel of <a class="el" href="_env_map_8fx.html#a24">SmallEnvironmentMap</a>, function <a class="el" href="_env_map_8fx.html#a46">GetContibutionWithCosLookup()</a> is called.  <a href="#a47"></a><br></td></tr>
80<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="struct_illuminated_scene_v_s__output.html">IlluminatedSceneVS_output</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a48">IlluminatedSceneVS</a> (<a class="el" href="struct_illuminated_scene_v_s__input.html">IlluminatedSceneVS_input</a> IN)</td></tr>
81
82<tr><td class="memItemLeft" nowrap align="right" valign="top">float4&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a49">IlluminatedScenePS</a> (<a class="el" href="struct_illuminated_scene_v_s__output.html">IlluminatedSceneVS_output</a> IN)</td></tr>
83
84<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Displays the environment with a simple shading.  <a href="#a49"></a><br></td></tr>
85<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a50">TechniqueUsingCommonVS</a> (EnvMapClassic)</td></tr>
86
87<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a51">TechniqueUsingCommonVS</a> (EnvMapImpostor)</td></tr>
88
89<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a52">TechniqueUsingCommonVS</a> (EnvMapDiffuse)</td></tr>
90
91<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a53">Technique</a> (IlluminatedScene)</td></tr>
92
93<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a54">Technique</a> (ReduceTexture)</td></tr>
94
95<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a55">Technique</a> (Convolution)</td></tr>
96
97<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
98<tr><td class="memItemLeft" nowrap align="right" valign="top">float4x4&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a6">World</a></td></tr>
99
100<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">World matrix for the current object.  <a href="#a6"></a><br></td></tr>
101<tr><td class="memItemLeft" nowrap align="right" valign="top">float4x4&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a7">WorldIT</a></td></tr>
102
103<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">World matrix IT (inverse transposed) to transform surface normals of the current object.  <a href="#a7"></a><br></td></tr>
104<tr><td class="memItemLeft" nowrap align="right" valign="top">float4x4&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a8">WorldView</a></td></tr>
105
106<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">World * View matrix.  <a href="#a8"></a><br></td></tr>
107<tr><td class="memItemLeft" nowrap align="right" valign="top">float4x4&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a9">WorldViewProjection</a></td></tr>
108
109<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">World * View * Projection matrix.  <a href="#a9"></a><br></td></tr>
110<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a10">texel_size</a></td></tr>
111
112<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">upload this constant every time the viewport changes  <a href="#a10"></a><br></td></tr>
113<tr><td class="memItemLeft" nowrap align="right" valign="top">float4&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a11">eyePos</a></td></tr>
114
115<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">current eye (camera) position  <a href="#a11"></a><br></td></tr>
116<tr><td class="memItemLeft" nowrap align="right" valign="top">float4&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a12">reference_pos</a></td></tr>
117
118<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reference point for the last cube map generation.  <a href="#a12"></a><br></td></tr>
119<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a13">nFace</a></td></tr>
120
121<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a14">iShowCubeMap</a></td></tr>
122
123<tr><td class="memItemLeft" nowrap align="right" valign="top">float4&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a15">objColor</a></td></tr>
124
125<tr><td class="memItemLeft" nowrap align="right" valign="top">float3&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a16">nMetal</a></td></tr>
126
127<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">real part of the refraction coefficient for metals  <a href="#a16"></a><br></td></tr>
128<tr><td class="memItemLeft" nowrap align="right" valign="top">float3&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a17">kMetal</a></td></tr>
129
130<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">imaginary part of the refraction coefficient for metals  <a href="#a17"></a><br></td></tr>
131<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a18">sFresnel</a></td></tr>
132
133<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fresnel refraction param.  <a href="#a18"></a><br></td></tr>
134<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a19">refractionIndex</a></td></tr>
135
136<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a20">intensity</a></td></tr>
137
138<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a21">shininess</a></td></tr>
139
140<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a22">brightness</a></td></tr>
141
142<tr><td class="memItemLeft" nowrap align="right" valign="top">texture&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a23">EnvironmentMap</a></td></tr>
143
144<tr><td class="memItemLeft" nowrap align="right" valign="top">texture&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a24">SmallEnvironmentMap</a></td></tr>
145
146<tr><td class="memItemLeft" nowrap align="right" valign="top">texture&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a25">PreconvolvedEnvironmentMap</a></td></tr>
147
148<tr><td class="memItemLeft" nowrap align="right" valign="top">texture&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a26">Decoration</a></td></tr>
149
150<tr><td class="memItemLeft" nowrap align="right" valign="top">sampler&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a27">EnvironmentMapSampler</a></td></tr>
151
152<tr><td class="memItemLeft" nowrap align="right" valign="top">sampler&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a28">PreconvolvedEnvironmentMapSampler</a></td></tr>
153
154<tr><td class="memItemLeft" nowrap align="right" valign="top">sampler&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a29">SmallEnvironmentMapSampler</a></td></tr>
155
156<tr><td class="memItemLeft" nowrap align="right" valign="top">sampler&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_env_map_8fx.html#a30">DecorationSampler</a></td></tr>
157
158</table>
159<hr><h2>Define Documentation</h2>
160<a class="anchor" name="a0" doxytag="EnvMap.fx::CUBEMAP_SIZE"></a><p>
161<table class="mdTable" cellpadding="2" cellspacing="0">
162  <tr>
163    <td class="mdRow">
164      <table cellpadding="0" cellspacing="0" border="0">
165        <tr>
166          <td class="md" nowrap valign="top">#define CUBEMAP_SIZE&nbsp;&nbsp;&nbsp;128          </td>
167        </tr>
168      </table>
169    </td>
170  </tr>
171</table>
172<table cellspacing="5" cellpadding="0" border="0">
173  <tr>
174    <td>
175      &nbsp;
176    </td>
177    <td>
178
179<p>
180size of the cube map taken from the reference point of the object
181<p>
182    </td>
183  </tr>
184</table>
185<a class="anchor" name="a1" doxytag="EnvMap.fx::LR_CUBEMAP_SIZE"></a><p>
186<table class="mdTable" cellpadding="2" cellspacing="0">
187  <tr>
188    <td class="mdRow">
189      <table cellpadding="0" cellspacing="0" border="0">
190        <tr>
191          <td class="md" nowrap valign="top">#define LR_CUBEMAP_SIZE&nbsp;&nbsp;&nbsp;4          </td>
192        </tr>
193      </table>
194    </td>
195  </tr>
196</table>
197<table cellspacing="5" cellpadding="0" border="0">
198  <tr>
199    <td>
200      &nbsp;
201    </td>
202    <td>
203
204<p>
205size of the cube map for diffuse/glossy reflections
206<p>
207    </td>
208  </tr>
209</table>
210<a class="anchor" name="a3" doxytag="EnvMap.fx::PI"></a><p>
211<table class="mdTable" cellpadding="2" cellspacing="0">
212  <tr>
213    <td class="mdRow">
214      <table cellpadding="0" cellspacing="0" border="0">
215        <tr>
216          <td class="md" nowrap valign="top">#define PI&nbsp;&nbsp;&nbsp;3.14159f          </td>
217        </tr>
218      </table>
219    </td>
220  </tr>
221</table>
222<table cellspacing="5" cellpadding="0" border="0">
223  <tr>
224    <td>
225      &nbsp;
226    </td>
227    <td>
228
229<p>
230    </td>
231  </tr>
232</table>
233<a class="anchor" name="a2" doxytag="EnvMap.fx::RATE"></a><p>
234<table class="mdTable" cellpadding="2" cellspacing="0">
235  <tr>
236    <td class="mdRow">
237      <table cellpadding="0" cellspacing="0" border="0">
238        <tr>
239          <td class="md" nowrap valign="top">#define RATE&nbsp;&nbsp;&nbsp;(CUBEMAP_SIZE/LR_CUBEMAP_SIZE)          </td>
240        </tr>
241      </table>
242    </td>
243  </tr>
244</table>
245<table cellspacing="5" cellpadding="0" border="0">
246  <tr>
247    <td>
248      &nbsp;
249    </td>
250    <td>
251
252<p>
253cube map downsampling rate for diffuse/glossy reflections
254<p>
255    </td>
256  </tr>
257</table>
258<a class="anchor" name="a5" doxytag="EnvMap.fx::Technique"></a><p>
259<table class="mdTable" cellpadding="2" cellspacing="0">
260  <tr>
261    <td class="mdRow">
262      <table cellpadding="0" cellspacing="0" border="0">
263        <tr>
264          <td class="md" nowrap valign="top">#define Technique          </td>
265          <td class="md" valign="top">(&nbsp;</td>
266          <td class="md" nowrap valign="top">name&nbsp;</td>
267          <td class="mdname1" valign="top" nowrap>          </td>
268          <td class="md" valign="top">&nbsp;)&nbsp;</td>
269          <td class="md" nowrap></td>
270        </tr>
271      </table>
272    </td>
273  </tr>
274</table>
275<table cellspacing="5" cellpadding="0" border="0">
276  <tr>
277    <td>
278      &nbsp;
279    </td>
280    <td>
281
282<p>
283<b>Value:</b><div class="fragment"><pre class="fragment">;                                                               \
284        technique name                                                                          \
285        {                                                                                                       \
286            pass p0                                                                                     \
287            {                                                                                           \
288                    VertexShader = compile vs_3_0 name##VS();   \
289                    PixelShader  = compile ps_3_0 name##PS();   \
290                }                                                                                               \
291        }
292</pre></div>a helpful macro to define techniques
293<p>
294    </td>
295  </tr>
296</table>
297<a class="anchor" name="a4" doxytag="EnvMap.fx::TechniqueUsingCommonVS"></a><p>
298<table class="mdTable" cellpadding="2" cellspacing="0">
299  <tr>
300    <td class="mdRow">
301      <table cellpadding="0" cellspacing="0" border="0">
302        <tr>
303          <td class="md" nowrap valign="top">#define TechniqueUsingCommonVS          </td>
304          <td class="md" valign="top">(&nbsp;</td>
305          <td class="md" nowrap valign="top">name&nbsp;</td>
306          <td class="mdname1" valign="top" nowrap>          </td>
307          <td class="md" valign="top">&nbsp;)&nbsp;</td>
308          <td class="md" nowrap></td>
309        </tr>
310      </table>
311    </td>
312  </tr>
313</table>
314<table cellspacing="5" cellpadding="0" border="0">
315  <tr>
316    <td>
317      &nbsp;
318    </td>
319    <td>
320
321<p>
322<b>Value:</b><div class="fragment"><pre class="fragment">;                                       \
323        technique name                                                                          \
324        {                                                                                                       \
325            pass p0                                                                                     \
326            {                                                                                           \
327                    VertexShader = compile vs_3_0 <a class="code" href="_env_map_8fx.html#a38">EnvMapVS</a>();   \
328                    PixelShader  = compile ps_3_0 name##PS();   \
329                }                                                                                               \
330        }
331</pre></div>a helpful macro to define techniques with a common vertex program
332<p>
333    </td>
334  </tr>
335</table>
336<hr><h2>Function Documentation</h2>
337<a class="anchor" name="a35" doxytag="EnvMap.fx::ConvolutionPS"></a><p>
338<table class="mdTable" cellpadding="2" cellspacing="0">
339  <tr>
340    <td class="mdRow">
341      <table cellpadding="0" cellspacing="0" border="0">
342        <tr>
343          <td class="md" nowrap valign="top">float4 ConvolutionPS           </td>
344          <td class="md" valign="top">(&nbsp;</td>
345          <td class="md" nowrap valign="top"><a class="el" href="struct_convolution_v_s__output.html">ConvolutionVS_output</a>&nbsp;</td>
346          <td class="mdname1" valign="top" nowrap> <em>IN</em>          </td>
347          <td class="md" valign="top">&nbsp;)&nbsp;</td>
348          <td class="md" nowrap></td>
349        </tr>
350      </table>
351    </td>
352  </tr>
353</table>
354<table cellspacing="5" cellpadding="0" border="0">
355  <tr>
356    <td>
357      &nbsp;
358    </td>
359    <td>
360
361<p>
362Convolves the values of a cube map.
363<p>
364Calculates the diffuse/specular irradiance map of resolution <a class="el" href="_env_map_8fx.html#a1">LR_CUBEMAP_SIZE</a> by summing up the contributions of all cube map texels with regard to the current query direction. <dl compact><dt><b>Parameters:</b></dt><dd>
365  <table border="0" cellspacing="2" cellpadding="0">
366    <tr><td valign="top"></td><td valign="top"><em>SmallEnvironmentMap</em>&nbsp;</td><td>is bound to <a class="el" href="class_env_map.html#r4">EnvMap::pCubeTextureSmall</a> (cube map of resolution <a class="el" href="_env_map_8fx.html#a1">LR_CUBEMAP_SIZE</a>) </td></tr>
367  </table>
368</dl>
369    </td>
370  </tr>
371</table>
372<a class="anchor" name="a34" doxytag="EnvMap.fx::ConvolutionVS"></a><p>
373<table class="mdTable" cellpadding="2" cellspacing="0">
374  <tr>
375    <td class="mdRow">
376      <table cellpadding="0" cellspacing="0" border="0">
377        <tr>
378          <td class="md" nowrap valign="top"><a class="el" href="struct_convolution_v_s__output.html">ConvolutionVS_output</a> ConvolutionVS           </td>
379          <td class="md" valign="top">(&nbsp;</td>
380          <td class="md" nowrap valign="top"><a class="el" href="struct_convolution_v_s__input.html">ConvolutionVS_input</a>&nbsp;</td>
381          <td class="mdname1" valign="top" nowrap> <em>IN</em>          </td>
382          <td class="md" valign="top">&nbsp;)&nbsp;</td>
383          <td class="md" nowrap></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>
397See the pixel program.
398<p>
399    </td>
400  </tr>
401</table>
402<a class="anchor" name="a42" doxytag="EnvMap.fx::EnvMapClassicMetalPS"></a><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">float4 EnvMapClassicMetalPS           </td>
409          <td class="md" valign="top">(&nbsp;</td>
410          <td class="md" nowrap valign="top"><a class="el" href="struct_env_map_v_s__output.html">EnvMapVS_output</a>&nbsp;</td>
411          <td class="mdname1" valign="top" nowrap> <em>IN</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>
427Classic environment mapping technique with a simple Fresnel term approximation (<a class="el" href="_env_map_8fx.html#a37">metal_reflectivity()</a>).
428<p>
429    </td>
430  </tr>
431</table>
432<a class="anchor" name="a41" doxytag="EnvMap.fx::EnvMapClassicPS"></a><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">float4 EnvMapClassicPS           </td>
439          <td class="md" valign="top">(&nbsp;</td>
440          <td class="md" nowrap valign="top"><a class="el" href="struct_env_map_v_s__output.html">EnvMapVS_output</a>&nbsp;</td>
441          <td class="mdname1" valign="top" nowrap> <em>IN</em>          </td>
442          <td class="md" valign="top">&nbsp;)&nbsp;</td>
443          <td class="md" nowrap></td>
444        </tr>
445      </table>
446    </td>
447  </tr>
448</table>
449<table cellspacing="5" cellpadding="0" border="0">
450  <tr>
451    <td>
452      &nbsp;
453    </td>
454    <td>
455
456<p>
457Classic environment mapping technique.
458<p>
459Simply determines the ideal reflection/refraction direction and performs a cube map lookup into that direction <dl compact><dt><b>Parameters:</b></dt><dd>
460  <table border="0" cellspacing="2" cellpadding="0">
461    <tr><td valign="top"></td><td valign="top"><em>EnvironmentMap</em>&nbsp;</td><td>is bound to <a class="el" href="class_env_map.html#r2">EnvMap::pCubeTexture</a> (cube map of resolution <a class="el" href="_params_8h.html#a0">CUBEMAP_SIZE</a>) </td></tr>
462  </table>
463</dl>
464    </td>
465  </tr>
466</table>
467<a class="anchor" name="a45" doxytag="EnvMap.fx::EnvMapDiffuseLocalizedPS"></a><p>
468<table class="mdTable" cellpadding="2" cellspacing="0">
469  <tr>
470    <td class="mdRow">
471      <table cellpadding="0" cellspacing="0" border="0">
472        <tr>
473          <td class="md" nowrap valign="top">float4 EnvMapDiffuseLocalizedPS           </td>
474          <td class="md" valign="top">(&nbsp;</td>
475          <td class="md" nowrap valign="top"><a class="el" href="struct_env_map_v_s__output.html">EnvMapVS_output</a>&nbsp;</td>
476          <td class="mdname1" valign="top" nowrap> <em>IN</em>          </td>
477          <td class="md" valign="top">&nbsp;)&nbsp;</td>
478          <td class="md" nowrap></td>
479        </tr>
480      </table>
481    </td>
482  </tr>
483</table>
484<table cellspacing="5" cellpadding="0" border="0">
485  <tr>
486    <td>
487      &nbsp;
488    </td>
489    <td>
490
491<p>
492Calculates diffuse or specular contributions of all texels in <a class="el" href="_env_map_8fx.html#a24">SmallEnvironmentMap</a> to the current point. For each texel of <a class="el" href="_env_map_8fx.html#a24">SmallEnvironmentMap</a>, function <a class="el" href="_env_map_8fx.html#a44">GetContibution(float3,float3,float3,float3)</a> is called.
493<p>
494<dl compact><dt><b>Parameters:</b></dt><dd>
495  <table border="0" cellspacing="2" cellpadding="0">
496    <tr><td valign="top"></td><td valign="top"><em>SmallEnvironmentMap</em>&nbsp;</td><td>is bound to <a class="el" href="class_env_map.html#r4">EnvMap::pCubeTextureSmall</a> (cube map of resolution <a class="el" href="_env_map_8fx.html#a1">LR_CUBEMAP_SIZE</a>) </td></tr>
497  </table>
498</dl>
499    </td>
500  </tr>
501</table>
502<a class="anchor" name="a47" doxytag="EnvMap.fx::EnvMapDiffuseLocalizedWithCosLookupPS"></a><p>
503<table class="mdTable" cellpadding="2" cellspacing="0">
504  <tr>
505    <td class="mdRow">
506      <table cellpadding="0" cellspacing="0" border="0">
507        <tr>
508          <td class="md" nowrap valign="top">float4 EnvMapDiffuseLocalizedWithCosLookupPS           </td>
509          <td class="md" valign="top">(&nbsp;</td>
510          <td class="md" nowrap valign="top"><a class="el" href="struct_env_map_v_s__output.html">EnvMapVS_output</a>&nbsp;</td>
511          <td class="mdname1" valign="top" nowrap> <em>IN</em>          </td>
512          <td class="md" valign="top">&nbsp;)&nbsp;</td>
513          <td class="md" nowrap></td>
514        </tr>
515      </table>
516    </td>
517  </tr>
518</table>
519<table cellspacing="5" cellpadding="0" border="0">
520  <tr>
521    <td>
522      &nbsp;
523    </td>
524    <td>
525
526<p>
527Calculates diffuse or specular contributions of all texels in <a class="el" href="_env_map_8fx.html#a24">SmallEnvironmentMap</a> to the current point. For each texel of <a class="el" href="_env_map_8fx.html#a24">SmallEnvironmentMap</a>, function <a class="el" href="_env_map_8fx.html#a46">GetContibutionWithCosLookup()</a> is called.
528<p>
529<dl compact><dt><b>Parameters:</b></dt><dd>
530  <table border="0" cellspacing="2" cellpadding="0">
531    <tr><td valign="top"></td><td valign="top"><em>SmallEnvironmentMap</em>&nbsp;</td><td>is bound to <a class="el" href="class_env_map.html#r4">EnvMap::pCubeTextureSmall</a> (cube map of resolution <a class="el" href="_env_map_8fx.html#a1">LR_CUBEMAP_SIZE</a>) </td></tr>
532  </table>
533</dl>
534    </td>
535  </tr>
536</table>
537<a class="anchor" name="a43" doxytag="EnvMap.fx::EnvMapDiffusePS"></a><p>
538<table class="mdTable" cellpadding="2" cellspacing="0">
539  <tr>
540    <td class="mdRow">
541      <table cellpadding="0" cellspacing="0" border="0">
542        <tr>
543          <td class="md" nowrap valign="top">float4 EnvMapDiffusePS           </td>
544          <td class="md" valign="top">(&nbsp;</td>
545          <td class="md" nowrap valign="top"><a class="el" href="struct_env_map_v_s__output.html">EnvMapVS_output</a>&nbsp;</td>
546          <td class="mdname1" valign="top" nowrap> <em>IN</em>          </td>
547          <td class="md" valign="top">&nbsp;)&nbsp;</td>
548          <td class="md" nowrap></td>
549        </tr>
550      </table>
551    </td>
552  </tr>
553</table>
554<table cellspacing="5" cellpadding="0" border="0">
555  <tr>
556    <td>
557      &nbsp;
558    </td>
559    <td>
560
561<p>
562Determines diffuse or specular illumination with a single lookup into <a class="el" href="_env_map_8fx.html#a25">PreconvolvedEnvironmentMap</a>.
563<p>
564<dl compact><dt><b>Parameters:</b></dt><dd>
565  <table border="0" cellspacing="2" cellpadding="0">
566    <tr><td valign="top"></td><td valign="top"><em>PreconvolvedEnvironmentMap</em>&nbsp;</td><td>is bound to <a class="el" href="class_env_map.html#r5">EnvMap::pCubeTexturePreConvolved</a> (cube map of resolution <a class="el" href="_env_map_8fx.html#a1">LR_CUBEMAP_SIZE</a>) </td></tr>
567  </table>
568</dl>
569    </td>
570  </tr>
571</table>
572<a class="anchor" name="a40" doxytag="EnvMap.fx::EnvMapImpostorMetalPS"></a><p>
573<table class="mdTable" cellpadding="2" cellspacing="0">
574  <tr>
575    <td class="mdRow">
576      <table cellpadding="0" cellspacing="0" border="0">
577        <tr>
578          <td class="md" nowrap valign="top">float4 EnvMapImpostorMetalPS           </td>
579          <td class="md" valign="top">(&nbsp;</td>
580          <td class="md" nowrap valign="top"><a class="el" href="struct_env_map_v_s__output.html">EnvMapVS_output</a>&nbsp;</td>
581          <td class="mdname1" valign="top" nowrap> <em>IN</em>          </td>
582          <td class="md" valign="top">&nbsp;)&nbsp;</td>
583          <td class="md" nowrap></td>
584        </tr>
585      </table>
586    </td>
587  </tr>
588</table>
589<table cellspacing="5" cellpadding="0" border="0">
590  <tr>
591    <td>
592      &nbsp;
593    </td>
594    <td>
595
596<p>
597    </td>
598  </tr>
599</table>
600<a class="anchor" name="a39" doxytag="EnvMap.fx::EnvMapImpostorPS"></a><p>
601<table class="mdTable" cellpadding="2" cellspacing="0">
602  <tr>
603    <td class="mdRow">
604      <table cellpadding="0" cellspacing="0" border="0">
605        <tr>
606          <td class="md" nowrap valign="top">float4 EnvMapImpostorPS           </td>
607          <td class="md" valign="top">(&nbsp;</td>
608          <td class="md" nowrap valign="top"><a class="el" href="struct_env_map_v_s__output.html">EnvMapVS_output</a>&nbsp;</td>
609          <td class="mdname1" valign="top" nowrap> <em>IN</em>          </td>
610          <td class="md" valign="top">&nbsp;)&nbsp;</td>
611          <td class="md" nowrap></td>
612        </tr>
613      </table>
614    </td>
615  </tr>
616</table>
617<table cellspacing="5" cellpadding="0" border="0">
618  <tr>
619    <td>
620      &nbsp;
621    </td>
622    <td>
623
624<p>
625Environment mapping with distance impostors.
626<p>
627Determines the ideal reflection/refraction direction and approximately traces a ray toward that direction using the <a class="el" href="_env_map_8fx.html#a36">Hit()</a> function. <dl compact><dt><b>Parameters:</b></dt><dd>
628  <table border="0" cellspacing="2" cellpadding="0">
629    <tr><td valign="top"></td><td valign="top"><em>EnvironmentMap</em>&nbsp;</td><td>is bound to <a class="el" href="class_env_map.html#r2">EnvMap::pCubeTexture</a> (cube map of resolution <a class="el" href="_params_8h.html#a0">CUBEMAP_SIZE</a>) </td></tr>
630  </table>
631</dl>
632    </td>
633  </tr>
634</table>
635<a class="anchor" name="a38" doxytag="EnvMap.fx::EnvMapVS"></a><p>
636<table class="mdTable" cellpadding="2" cellspacing="0">
637  <tr>
638    <td class="mdRow">
639      <table cellpadding="0" cellspacing="0" border="0">
640        <tr>
641          <td class="md" nowrap valign="top"><a class="el" href="struct_env_map_v_s__output.html">EnvMapVS_output</a> EnvMapVS           </td>
642          <td class="md" valign="top">(&nbsp;</td>
643          <td class="md" nowrap valign="top"><a class="el" href="struct_env_map_v_s__input.html">EnvMapVS_input</a>&nbsp;</td>
644          <td class="mdname1" valign="top" nowrap> <em>IN</em>          </td>
645          <td class="md" valign="top">&nbsp;)&nbsp;</td>
646          <td class="md" nowrap></td>
647        </tr>
648      </table>
649    </td>
650  </tr>
651</table>
652<table cellspacing="5" cellpadding="0" border="0">
653  <tr>
654    <td>
655      &nbsp;
656    </td>
657    <td>
658
659<p>
660    </td>
661  </tr>
662</table>
663<a class="anchor" name="a44" doxytag="EnvMap.fx::GetContibution"></a><p>
664<table class="mdTable" cellpadding="2" cellspacing="0">
665  <tr>
666    <td class="mdRow">
667      <table cellpadding="0" cellspacing="0" border="0">
668        <tr>
669          <td class="md" nowrap valign="top">float4 GetContibution           </td>
670          <td class="md" valign="top">(&nbsp;</td>
671          <td class="md" nowrap valign="top">float3&nbsp;</td>
672          <td class="mdname" nowrap> <em>L</em>, </td>
673        </tr>
674        <tr>
675          <td class="md" nowrap align="right"></td>
676          <td class="md"></td>
677          <td class="md" nowrap>float3&nbsp;</td>
678          <td class="mdname" nowrap> <em>pos</em>, </td>
679        </tr>
680        <tr>
681          <td class="md" nowrap align="right"></td>
682          <td class="md"></td>
683          <td class="md" nowrap>float3&nbsp;</td>
684          <td class="mdname" nowrap> <em>N</em>, </td>
685        </tr>
686        <tr>
687          <td class="md" nowrap align="right"></td>
688          <td class="md"></td>
689          <td class="md" nowrap>float3&nbsp;</td>
690          <td class="mdname" nowrap> <em>V</em></td>
691        </tr>
692        <tr>
693          <td class="md"></td>
694          <td class="md">)&nbsp;</td>
695          <td class="md" colspan="2"></td>
696        </tr>
697      </table>
698    </td>
699  </tr>
700</table>
701<table cellspacing="5" cellpadding="0" border="0">
702  <tr>
703    <td>
704      &nbsp;
705    </td>
706    <td>
707
708<p>
709Calculates the contribution of a single texel of <a class="el" href="_env_map_8fx.html#a24">SmallEnvironmentMap</a> to the illumination of the shaded point.
710<p>
711<dl compact><dt><b>Parameters:</b></dt><dd>
712  <table border="0" cellspacing="2" cellpadding="0">
713    <tr><td valign="top"></td><td valign="top"><em>L</em>&nbsp;</td><td>vector pointing to the center of the texel under examination. We assume that the largest coordinate component of L is equal to one, i.e. L points to the face of a cube of edge length of 2. </td></tr>
714    <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>is the position of the shaded point </td></tr>
715    <tr><td valign="top"></td><td valign="top"><em>N</em>&nbsp;</td><td>is the surface normal at the shaded point </td></tr>
716    <tr><td valign="top"></td><td valign="top"><em>V</em>&nbsp;</td><td>is the viewing direction at the shaded point </td></tr>
717  </table>
718</dl>
719    </td>
720  </tr>
721</table>
722<a class="anchor" name="a33" doxytag="EnvMap.fx::GetContibution"></a><p>
723<table class="mdTable" cellpadding="2" cellspacing="0">
724  <tr>
725    <td class="mdRow">
726      <table cellpadding="0" cellspacing="0" border="0">
727        <tr>
728          <td class="md" nowrap valign="top">float4 GetContibution           </td>
729          <td class="md" valign="top">(&nbsp;</td>
730          <td class="md" nowrap valign="top">float3&nbsp;</td>
731          <td class="mdname" nowrap> <em>q</em>, </td>
732        </tr>
733        <tr>
734          <td class="md" nowrap align="right"></td>
735          <td class="md"></td>
736          <td class="md" nowrap>float3&nbsp;</td>
737          <td class="mdname" nowrap> <em>L</em></td>
738        </tr>
739        <tr>
740          <td class="md"></td>
741          <td class="md">)&nbsp;</td>
742          <td class="md" colspan="2"></td>
743        </tr>
744      </table>
745    </td>
746  </tr>
747</table>
748<table cellspacing="5" cellpadding="0" border="0">
749  <tr>
750    <td>
751      &nbsp;
752    </td>
753    <td>
754
755<p>
756Returns the precalculated contribution of a texel with regard to the specified query direction.
757<p>
758<dl compact><dt><b>Parameters:</b></dt><dd>
759  <table border="0" cellspacing="2" cellpadding="0">
760    <tr><td valign="top"></td><td valign="top"><em>q</em>&nbsp;</td><td><b>query direction</b> (i.e. surface normal in diffuse case, ideal reflection direction in specular case). </td></tr>
761    <tr><td valign="top"></td><td valign="top"><em>L</em>&nbsp;</td><td>vector pointing to the texel center </td></tr>
762  </table>
763</dl>
764    </td>
765  </tr>
766</table>
767<a class="anchor" name="a46" doxytag="EnvMap.fx::GetContibutionWithCosLookup"></a><p>
768<table class="mdTable" cellpadding="2" cellspacing="0">
769  <tr>
770    <td class="mdRow">
771      <table cellpadding="0" cellspacing="0" border="0">
772        <tr>
773          <td class="md" nowrap valign="top">float4 GetContibutionWithCosLookup           </td>
774          <td class="md" valign="top">(&nbsp;</td>
775          <td class="md" nowrap valign="top">float3&nbsp;</td>
776          <td class="mdname" nowrap> <em>L</em>, </td>
777        </tr>
778        <tr>
779          <td class="md" nowrap align="right"></td>
780          <td class="md"></td>
781          <td class="md" nowrap>float3&nbsp;</td>
782          <td class="mdname" nowrap> <em>pos</em>, </td>
783        </tr>
784        <tr>
785          <td class="md" nowrap align="right"></td>
786          <td class="md"></td>
787          <td class="md" nowrap>float3&nbsp;</td>
788          <td class="mdname" nowrap> <em>N</em>, </td>
789        </tr>
790        <tr>
791          <td class="md" nowrap align="right"></td>
792          <td class="md"></td>
793          <td class="md" nowrap>float3&nbsp;</td>
794          <td class="mdname" nowrap> <em>V</em></td>
795        </tr>
796        <tr>
797          <td class="md"></td>
798          <td class="md">)&nbsp;</td>
799          <td class="md" colspan="2"></td>
800        </tr>
801      </table>
802    </td>
803  </tr>
804</table>
805<table cellspacing="5" cellpadding="0" border="0">
806  <tr>
807    <td>
808      &nbsp;
809    </td>
810    <td>
811
812<p>
813Calculates the contribution of a single texel of <a class="el" href="_env_map_8fx.html#a24">SmallEnvironmentMap</a> to the illumination of the shaded point.
814<p>
815The only difference from <a class="el" href="_env_map_8fx.html#a44">GetContibution(float3,float3,float3,float3)</a> is that now we use precalculated integral values to compute reflectivity (instead of using only one sample).     </td>
816  </tr>
817</table>
818<a class="anchor" name="a36" doxytag="EnvMap.fx::Hit"></a><p>
819<table class="mdTable" cellpadding="2" cellspacing="0">
820  <tr>
821    <td class="mdRow">
822      <table cellpadding="0" cellspacing="0" border="0">
823        <tr>
824          <td class="md" nowrap valign="top">float3 Hit           </td>
825          <td class="md" valign="top">(&nbsp;</td>
826          <td class="md" nowrap valign="top">float3&nbsp;</td>
827          <td class="mdname" nowrap> <em>x</em>, </td>
828        </tr>
829        <tr>
830          <td class="md" nowrap align="right"></td>
831          <td class="md"></td>
832          <td class="md" nowrap>float3&nbsp;</td>
833          <td class="mdname" nowrap> <em>R</em>, </td>
834        </tr>
835        <tr>
836          <td class="md" nowrap align="right"></td>
837          <td class="md"></td>
838          <td class="md" nowrap>sampler&nbsp;</td>
839          <td class="mdname" nowrap> <em>mp</em></td>
840        </tr>
841        <tr>
842          <td class="md"></td>
843          <td class="md">)&nbsp;</td>
844          <td class="md" colspan="2"></td>
845        </tr>
846      </table>
847    </td>
848  </tr>
849</table>
850<table cellspacing="5" cellpadding="0" border="0">
851  <tr>
852    <td>
853      &nbsp;
854    </td>
855    <td>
856
857<p>
858This function approximately traces a ray from point x towards direction R. Depth information is obtained from the alpha channel of mp.
859<p>
860<dl compact><dt><b>Returns:</b></dt><dd>the approximate hit point. </dd></dl>
861    </td>
862  </tr>
863</table>
864<a class="anchor" name="a49" doxytag="EnvMap.fx::IlluminatedScenePS"></a><p>
865<table class="mdTable" cellpadding="2" cellspacing="0">
866  <tr>
867    <td class="mdRow">
868      <table cellpadding="0" cellspacing="0" border="0">
869        <tr>
870          <td class="md" nowrap valign="top">float4 IlluminatedScenePS           </td>
871          <td class="md" valign="top">(&nbsp;</td>
872          <td class="md" nowrap valign="top"><a class="el" href="struct_illuminated_scene_v_s__output.html">IlluminatedSceneVS_output</a>&nbsp;</td>
873          <td class="mdname1" valign="top" nowrap> <em>IN</em>          </td>
874          <td class="md" valign="top">&nbsp;)&nbsp;</td>
875          <td class="md" nowrap></td>
876        </tr>
877      </table>
878    </td>
879  </tr>
880</table>
881<table cellspacing="5" cellpadding="0" border="0">
882  <tr>
883    <td>
884      &nbsp;
885    </td>
886    <td>
887
888<p>
889Displays the environment with a simple shading.
890<p>
891    </td>
892  </tr>
893</table>
894<a class="anchor" name="a48" doxytag="EnvMap.fx::IlluminatedSceneVS"></a><p>
895<table class="mdTable" cellpadding="2" cellspacing="0">
896  <tr>
897    <td class="mdRow">
898      <table cellpadding="0" cellspacing="0" border="0">
899        <tr>
900          <td class="md" nowrap valign="top"><a class="el" href="struct_illuminated_scene_v_s__output.html">IlluminatedSceneVS_output</a> IlluminatedSceneVS           </td>
901          <td class="md" valign="top">(&nbsp;</td>
902          <td class="md" nowrap valign="top"><a class="el" href="struct_illuminated_scene_v_s__input.html">IlluminatedSceneVS_input</a>&nbsp;</td>
903          <td class="mdname1" valign="top" nowrap> <em>IN</em>          </td>
904          <td class="md" valign="top">&nbsp;)&nbsp;</td>
905          <td class="md" nowrap></td>
906        </tr>
907      </table>
908    </td>
909  </tr>
910</table>
911<table cellspacing="5" cellpadding="0" border="0">
912  <tr>
913    <td>
914      &nbsp;
915    </td>
916    <td>
917
918<p>
919    </td>
920  </tr>
921</table>
922<a class="anchor" name="a37" doxytag="EnvMap.fx::metal_reflectivity"></a><p>
923<table class="mdTable" cellpadding="2" cellspacing="0">
924  <tr>
925    <td class="mdRow">
926      <table cellpadding="0" cellspacing="0" border="0">
927        <tr>
928          <td class="md" nowrap valign="top">float4 metal_reflectivity           </td>
929          <td class="md" valign="top">(&nbsp;</td>
930          <td class="md" nowrap valign="top">float3&nbsp;</td>
931          <td class="mdname" nowrap> <em>L</em>, </td>
932        </tr>
933        <tr>
934          <td class="md" nowrap align="right"></td>
935          <td class="md"></td>
936          <td class="md" nowrap>float3&nbsp;</td>
937          <td class="mdname" nowrap> <em>N</em>, </td>
938        </tr>
939        <tr>
940          <td class="md" nowrap align="right"></td>
941          <td class="md"></td>
942          <td class="md" nowrap>float3&nbsp;</td>
943          <td class="mdname" nowrap> <em>V</em></td>
944        </tr>
945        <tr>
946          <td class="md"></td>
947          <td class="md">)&nbsp;</td>
948          <td class="md" colspan="2"></td>
949        </tr>
950      </table>
951    </td>
952  </tr>
953</table>
954<table cellspacing="5" cellpadding="0" border="0">
955  <tr>
956    <td>
957      &nbsp;
958    </td>
959    <td>
960
961<p>
962Simple Fresnel term approximation for metals.
963<p>
964The metal is described by its (complex) refraction coefficient (<a class="el" href="_env_map_8fx.html#a16">nMetal</a>,<a class="el" href="_env_map_8fx.html#a17">kMetal</a>).     </td>
965  </tr>
966</table>
967<a class="anchor" name="a32" doxytag="EnvMap.fx::ReduceTexturePS"></a><p>
968<table class="mdTable" cellpadding="2" cellspacing="0">
969  <tr>
970    <td class="mdRow">
971      <table cellpadding="0" cellspacing="0" border="0">
972        <tr>
973          <td class="md" nowrap valign="top">float4 ReduceTexturePS           </td>
974          <td class="md" valign="top">(&nbsp;</td>
975          <td class="md" nowrap valign="top"><a class="el" href="struct_reduce_texture_v_s__output.html">ReduceTextureVS_output</a>&nbsp;</td>
976          <td class="mdname1" valign="top" nowrap> <em>IN</em>          </td>
977          <td class="md" valign="top">&nbsp;)&nbsp;</td>
978          <td class="md" nowrap></td>
979        </tr>
980      </table>
981    </td>
982  </tr>
983</table>
984<table cellspacing="5" cellpadding="0" border="0">
985  <tr>
986    <td>
987      &nbsp;
988    </td>
989    <td>
990
991<p>
992Downsamples a face of a cube map.
993<p>
994Downsamples the nFace-th face of a cube map from resolution <a class="el" href="_params_8h.html#a0">CUBEMAP_SIZE</a> to <a class="el" href="_env_map_8fx.html#a1">LR_CUBEMAP_SIZE</a> by averaging the corresponding texel values. The <a class="el" href="_env_map_8fx.html#a23">EnvironmentMap</a> is sampled via <a class="el" href="_env_map_8fx.html#a27">EnvironmentMapSampler</a>. <dl compact><dt><b>Parameters:</b></dt><dd>
995  <table border="0" cellspacing="2" cellpadding="0">
996    <tr><td valign="top"></td><td valign="top"><em>nFace</em>&nbsp;</td><td>uniform parameter identifies the current face (0...5) </td></tr>
997  </table>
998</dl>
999    </td>
1000  </tr>
1001</table>
1002<a class="anchor" name="a31" doxytag="EnvMap.fx::ReduceTextureVS"></a><p>
1003<table class="mdTable" cellpadding="2" cellspacing="0">
1004  <tr>
1005    <td class="mdRow">
1006      <table cellpadding="0" cellspacing="0" border="0">
1007        <tr>
1008          <td class="md" nowrap valign="top"><a class="el" href="struct_reduce_texture_v_s__output.html">ReduceTextureVS_output</a> ReduceTextureVS           </td>
1009          <td class="md" valign="top">(&nbsp;</td>
1010          <td class="md" nowrap valign="top"><a class="el" href="struct_reduce_texture_v_s__input.html">ReduceTextureVS_input</a>&nbsp;</td>
1011          <td class="mdname1" valign="top" nowrap> <em>IN</em>          </td>
1012          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1013          <td class="md" nowrap></td>
1014        </tr>
1015      </table>
1016    </td>
1017  </tr>
1018</table>
1019<table cellspacing="5" cellpadding="0" border="0">
1020  <tr>
1021    <td>
1022      &nbsp;
1023    </td>
1024    <td>
1025
1026<p>
1027See the pixel program.
1028<p>
1029    </td>
1030  </tr>
1031</table>
1032<a class="anchor" name="a55" doxytag="EnvMap.fx::Technique"></a><p>
1033<table class="mdTable" cellpadding="2" cellspacing="0">
1034  <tr>
1035    <td class="mdRow">
1036      <table cellpadding="0" cellspacing="0" border="0">
1037        <tr>
1038          <td class="md" nowrap valign="top">Technique           </td>
1039          <td class="md" valign="top">(&nbsp;</td>
1040          <td class="md" nowrap valign="top">Convolution&nbsp;</td>
1041          <td class="mdname1" valign="top" nowrap>          </td>
1042          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1043          <td class="md" nowrap></td>
1044        </tr>
1045      </table>
1046    </td>
1047  </tr>
1048</table>
1049<table cellspacing="5" cellpadding="0" border="0">
1050  <tr>
1051    <td>
1052      &nbsp;
1053    </td>
1054    <td>
1055
1056<p>
1057    </td>
1058  </tr>
1059</table>
1060<a class="anchor" name="a54" doxytag="EnvMap.fx::Technique"></a><p>
1061<table class="mdTable" cellpadding="2" cellspacing="0">
1062  <tr>
1063    <td class="mdRow">
1064      <table cellpadding="0" cellspacing="0" border="0">
1065        <tr>
1066          <td class="md" nowrap valign="top">Technique           </td>
1067          <td class="md" valign="top">(&nbsp;</td>
1068          <td class="md" nowrap valign="top">ReduceTexture&nbsp;</td>
1069          <td class="mdname1" valign="top" nowrap>          </td>
1070          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1071          <td class="md" nowrap></td>
1072        </tr>
1073      </table>
1074    </td>
1075  </tr>
1076</table>
1077<table cellspacing="5" cellpadding="0" border="0">
1078  <tr>
1079    <td>
1080      &nbsp;
1081    </td>
1082    <td>
1083
1084<p>
1085    </td>
1086  </tr>
1087</table>
1088<a class="anchor" name="a53" doxytag="EnvMap.fx::Technique"></a><p>
1089<table class="mdTable" cellpadding="2" cellspacing="0">
1090  <tr>
1091    <td class="mdRow">
1092      <table cellpadding="0" cellspacing="0" border="0">
1093        <tr>
1094          <td class="md" nowrap valign="top">Technique           </td>
1095          <td class="md" valign="top">(&nbsp;</td>
1096          <td class="md" nowrap valign="top">IlluminatedScene&nbsp;</td>
1097          <td class="mdname1" valign="top" nowrap>          </td>
1098          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1099          <td class="md" nowrap></td>
1100        </tr>
1101      </table>
1102    </td>
1103  </tr>
1104</table>
1105<table cellspacing="5" cellpadding="0" border="0">
1106  <tr>
1107    <td>
1108      &nbsp;
1109    </td>
1110    <td>
1111
1112<p>
1113    </td>
1114  </tr>
1115</table>
1116<a class="anchor" name="a52" doxytag="EnvMap.fx::TechniqueUsingCommonVS"></a><p>
1117<table class="mdTable" cellpadding="2" cellspacing="0">
1118  <tr>
1119    <td class="mdRow">
1120      <table cellpadding="0" cellspacing="0" border="0">
1121        <tr>
1122          <td class="md" nowrap valign="top">TechniqueUsingCommonVS           </td>
1123          <td class="md" valign="top">(&nbsp;</td>
1124          <td class="md" nowrap valign="top">EnvMapDiffuse&nbsp;</td>
1125          <td class="mdname1" valign="top" nowrap>          </td>
1126          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1127          <td class="md" nowrap></td>
1128        </tr>
1129      </table>
1130    </td>
1131  </tr>
1132</table>
1133<table cellspacing="5" cellpadding="0" border="0">
1134  <tr>
1135    <td>
1136      &nbsp;
1137    </td>
1138    <td>
1139
1140<p>
1141    </td>
1142  </tr>
1143</table>
1144<a class="anchor" name="a51" doxytag="EnvMap.fx::TechniqueUsingCommonVS"></a><p>
1145<table class="mdTable" cellpadding="2" cellspacing="0">
1146  <tr>
1147    <td class="mdRow">
1148      <table cellpadding="0" cellspacing="0" border="0">
1149        <tr>
1150          <td class="md" nowrap valign="top">TechniqueUsingCommonVS           </td>
1151          <td class="md" valign="top">(&nbsp;</td>
1152          <td class="md" nowrap valign="top">EnvMapImpostor&nbsp;</td>
1153          <td class="mdname1" valign="top" nowrap>          </td>
1154          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1155          <td class="md" nowrap></td>
1156        </tr>
1157      </table>
1158    </td>
1159  </tr>
1160</table>
1161<table cellspacing="5" cellpadding="0" border="0">
1162  <tr>
1163    <td>
1164      &nbsp;
1165    </td>
1166    <td>
1167
1168<p>
1169    </td>
1170  </tr>
1171</table>
1172<a class="anchor" name="a50" doxytag="EnvMap.fx::TechniqueUsingCommonVS"></a><p>
1173<table class="mdTable" cellpadding="2" cellspacing="0">
1174  <tr>
1175    <td class="mdRow">
1176      <table cellpadding="0" cellspacing="0" border="0">
1177        <tr>
1178          <td class="md" nowrap valign="top">TechniqueUsingCommonVS           </td>
1179          <td class="md" valign="top">(&nbsp;</td>
1180          <td class="md" nowrap valign="top">EnvMapClassic&nbsp;</td>
1181          <td class="mdname1" valign="top" nowrap>          </td>
1182          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1183          <td class="md" nowrap></td>
1184        </tr>
1185      </table>
1186    </td>
1187  </tr>
1188</table>
1189<table cellspacing="5" cellpadding="0" border="0">
1190  <tr>
1191    <td>
1192      &nbsp;
1193    </td>
1194    <td>
1195
1196<p>
1197    </td>
1198  </tr>
1199</table>
1200<hr><h2>Variable Documentation</h2>
1201<a class="anchor" name="a22" doxytag="EnvMap.fx::brightness"></a><p>
1202<table class="mdTable" cellpadding="2" cellspacing="0">
1203  <tr>
1204    <td class="mdRow">
1205      <table cellpadding="0" cellspacing="0" border="0">
1206        <tr>
1207          <td class="md" nowrap valign="top">float <a class="el" href="_env_map_8fx.html#a22">brightness</a>          </td>
1208        </tr>
1209      </table>
1210    </td>
1211  </tr>
1212</table>
1213<table cellspacing="5" cellpadding="0" border="0">
1214  <tr>
1215    <td>
1216      &nbsp;
1217    </td>
1218    <td>
1219
1220<p>
1221    </td>
1222  </tr>
1223</table>
1224<a class="anchor" name="a26" doxytag="EnvMap.fx::Decoration"></a><p>
1225<table class="mdTable" cellpadding="2" cellspacing="0">
1226  <tr>
1227    <td class="mdRow">
1228      <table cellpadding="0" cellspacing="0" border="0">
1229        <tr>
1230          <td class="md" nowrap valign="top">texture <a class="el" href="_env_map_8fx.html#a26">Decoration</a>          </td>
1231        </tr>
1232      </table>
1233    </td>
1234  </tr>
1235</table>
1236<table cellspacing="5" cellpadding="0" border="0">
1237  <tr>
1238    <td>
1239      &nbsp;
1240    </td>
1241    <td>
1242
1243<p>
1244    </td>
1245  </tr>
1246</table>
1247<a class="anchor" name="a30" doxytag="EnvMap.fx::DecorationSampler"></a><p>
1248<table class="mdTable" cellpadding="2" cellspacing="0">
1249  <tr>
1250    <td class="mdRow">
1251      <table cellpadding="0" cellspacing="0" border="0">
1252        <tr>
1253          <td class="md" nowrap valign="top">sampler <a class="el" href="_env_map_8fx.html#a30">DecorationSampler</a>          </td>
1254        </tr>
1255      </table>
1256    </td>
1257  </tr>
1258</table>
1259<table cellspacing="5" cellpadding="0" border="0">
1260  <tr>
1261    <td>
1262      &nbsp;
1263    </td>
1264    <td>
1265
1266<p>
1267<b>Initial value:</b><div class="fragment"><pre class="fragment"> sampler_state
1268{
1269    Texture   = &lt;<a class="code" href="_env_map_8fx.html#a26">Decoration</a>&gt;;
1270    MinFilter = LINEAR;
1271    MagFilter = LINEAR;
1272   
1273    AddressU  = CLAMP;
1274    AddressV  = CLAMP;
1275}
1276</pre></div>    </td>
1277  </tr>
1278</table>
1279<a class="anchor" name="a23" doxytag="EnvMap.fx::EnvironmentMap"></a><p>
1280<table class="mdTable" cellpadding="2" cellspacing="0">
1281  <tr>
1282    <td class="mdRow">
1283      <table cellpadding="0" cellspacing="0" border="0">
1284        <tr>
1285          <td class="md" nowrap valign="top">texture <a class="el" href="_env_map_8fx.html#a23">EnvironmentMap</a>          </td>
1286        </tr>
1287      </table>
1288    </td>
1289  </tr>
1290</table>
1291<table cellspacing="5" cellpadding="0" border="0">
1292  <tr>
1293    <td>
1294      &nbsp;
1295    </td>
1296    <td>
1297
1298<p>
1299    </td>
1300  </tr>
1301</table>
1302<a class="anchor" name="a27" doxytag="EnvMap.fx::EnvironmentMapSampler"></a><p>
1303<table class="mdTable" cellpadding="2" cellspacing="0">
1304  <tr>
1305    <td class="mdRow">
1306      <table cellpadding="0" cellspacing="0" border="0">
1307        <tr>
1308          <td class="md" nowrap valign="top">sampler <a class="el" href="_env_map_8fx.html#a27">EnvironmentMapSampler</a>          </td>
1309        </tr>
1310      </table>
1311    </td>
1312  </tr>
1313</table>
1314<table cellspacing="5" cellpadding="0" border="0">
1315  <tr>
1316    <td>
1317      &nbsp;
1318    </td>
1319    <td>
1320
1321<p>
1322<b>Initial value:</b><div class="fragment"><pre class="fragment"> sampler_state
1323{
1324   
1325    Texture   = &lt;<a class="code" href="_env_map_8fx.html#a23">EnvironmentMap</a>&gt;;
1326    AddressU  = WRAP;
1327    AddressV  = WRAP;
1328}
1329</pre></div>    </td>
1330  </tr>
1331</table>
1332<a class="anchor" name="a11" doxytag="EnvMap.fx::eyePos"></a><p>
1333<table class="mdTable" cellpadding="2" cellspacing="0">
1334  <tr>
1335    <td class="mdRow">
1336      <table cellpadding="0" cellspacing="0" border="0">
1337        <tr>
1338          <td class="md" nowrap valign="top">float4 <a class="el" href="_env_map_8fx.html#a11">eyePos</a>          </td>
1339        </tr>
1340      </table>
1341    </td>
1342  </tr>
1343</table>
1344<table cellspacing="5" cellpadding="0" border="0">
1345  <tr>
1346    <td>
1347      &nbsp;
1348    </td>
1349    <td>
1350
1351<p>
1352current eye (camera) position
1353<p>
1354    </td>
1355  </tr>
1356</table>
1357<a class="anchor" name="a20" doxytag="EnvMap.fx::intensity"></a><p>
1358<table class="mdTable" cellpadding="2" cellspacing="0">
1359  <tr>
1360    <td class="mdRow">
1361      <table cellpadding="0" cellspacing="0" border="0">
1362        <tr>
1363          <td class="md" nowrap valign="top">float <a class="el" href="_env_map_8fx.html#a20">intensity</a>          </td>
1364        </tr>
1365      </table>
1366    </td>
1367  </tr>
1368</table>
1369<table cellspacing="5" cellpadding="0" border="0">
1370  <tr>
1371    <td>
1372      &nbsp;
1373    </td>
1374    <td>
1375
1376<p>
1377    </td>
1378  </tr>
1379</table>
1380<a class="anchor" name="a14" doxytag="EnvMap.fx::iShowCubeMap"></a><p>
1381<table class="mdTable" cellpadding="2" cellspacing="0">
1382  <tr>
1383    <td class="mdRow">
1384      <table cellpadding="0" cellspacing="0" border="0">
1385        <tr>
1386          <td class="md" nowrap valign="top">int iShowCubeMap          </td>
1387        </tr>
1388      </table>
1389    </td>
1390  </tr>
1391</table>
1392<table cellspacing="5" cellpadding="0" border="0">
1393  <tr>
1394    <td>
1395      &nbsp;
1396    </td>
1397    <td>
1398
1399<p>
1400    </td>
1401  </tr>
1402</table>
1403<a class="anchor" name="a17" doxytag="EnvMap.fx::kMetal"></a><p>
1404<table class="mdTable" cellpadding="2" cellspacing="0">
1405  <tr>
1406    <td class="mdRow">
1407      <table cellpadding="0" cellspacing="0" border="0">
1408        <tr>
1409          <td class="md" nowrap valign="top">float3 <a class="el" href="_env_map_8fx.html#a17">kMetal</a>          </td>
1410        </tr>
1411      </table>
1412    </td>
1413  </tr>
1414</table>
1415<table cellspacing="5" cellpadding="0" border="0">
1416  <tr>
1417    <td>
1418      &nbsp;
1419    </td>
1420    <td>
1421
1422<p>
1423imaginary part of the refraction coefficient for metals
1424<p>
1425    </td>
1426  </tr>
1427</table>
1428<a class="anchor" name="a13" doxytag="EnvMap.fx::nFace"></a><p>
1429<table class="mdTable" cellpadding="2" cellspacing="0">
1430  <tr>
1431    <td class="mdRow">
1432      <table cellpadding="0" cellspacing="0" border="0">
1433        <tr>
1434          <td class="md" nowrap valign="top">int <a class="el" href="_env_map_8fx.html#a13">nFace</a>          </td>
1435        </tr>
1436      </table>
1437    </td>
1438  </tr>
1439</table>
1440<table cellspacing="5" cellpadding="0" border="0">
1441  <tr>
1442    <td>
1443      &nbsp;
1444    </td>
1445    <td>
1446
1447<p>
1448    </td>
1449  </tr>
1450</table>
1451<a class="anchor" name="a16" doxytag="EnvMap.fx::nMetal"></a><p>
1452<table class="mdTable" cellpadding="2" cellspacing="0">
1453  <tr>
1454    <td class="mdRow">
1455      <table cellpadding="0" cellspacing="0" border="0">
1456        <tr>
1457          <td class="md" nowrap valign="top">float3 <a class="el" href="_env_map_8fx.html#a16">nMetal</a>          </td>
1458        </tr>
1459      </table>
1460    </td>
1461  </tr>
1462</table>
1463<table cellspacing="5" cellpadding="0" border="0">
1464  <tr>
1465    <td>
1466      &nbsp;
1467    </td>
1468    <td>
1469
1470<p>
1471real part of the refraction coefficient for metals
1472<p>
1473    </td>
1474  </tr>
1475</table>
1476<a class="anchor" name="a15" doxytag="EnvMap.fx::objColor"></a><p>
1477<table class="mdTable" cellpadding="2" cellspacing="0">
1478  <tr>
1479    <td class="mdRow">
1480      <table cellpadding="0" cellspacing="0" border="0">
1481        <tr>
1482          <td class="md" nowrap valign="top">float4 <a class="el" href="_env_map_8fx.html#a15">objColor</a>          </td>
1483        </tr>
1484      </table>
1485    </td>
1486  </tr>
1487</table>
1488<table cellspacing="5" cellpadding="0" border="0">
1489  <tr>
1490    <td>
1491      &nbsp;
1492    </td>
1493    <td>
1494
1495<p>
1496    </td>
1497  </tr>
1498</table>
1499<a class="anchor" name="a25" doxytag="EnvMap.fx::PreconvolvedEnvironmentMap"></a><p>
1500<table class="mdTable" cellpadding="2" cellspacing="0">
1501  <tr>
1502    <td class="mdRow">
1503      <table cellpadding="0" cellspacing="0" border="0">
1504        <tr>
1505          <td class="md" nowrap valign="top">texture <a class="el" href="_env_map_8fx.html#a25">PreconvolvedEnvironmentMap</a>          </td>
1506        </tr>
1507      </table>
1508    </td>
1509  </tr>
1510</table>
1511<table cellspacing="5" cellpadding="0" border="0">
1512  <tr>
1513    <td>
1514      &nbsp;
1515    </td>
1516    <td>
1517
1518<p>
1519    </td>
1520  </tr>
1521</table>
1522<a class="anchor" name="a28" doxytag="EnvMap.fx::PreconvolvedEnvironmentMapSampler"></a><p>
1523<table class="mdTable" cellpadding="2" cellspacing="0">
1524  <tr>
1525    <td class="mdRow">
1526      <table cellpadding="0" cellspacing="0" border="0">
1527        <tr>
1528          <td class="md" nowrap valign="top">sampler <a class="el" href="_env_map_8fx.html#a28">PreconvolvedEnvironmentMapSampler</a>          </td>
1529        </tr>
1530      </table>
1531    </td>
1532  </tr>
1533</table>
1534<table cellspacing="5" cellpadding="0" border="0">
1535  <tr>
1536    <td>
1537      &nbsp;
1538    </td>
1539    <td>
1540
1541<p>
1542<b>Initial value:</b><div class="fragment"><pre class="fragment"> sampler_state
1543{
1544    MinFilter = LINEAR;
1545    MagFilter = LINEAR;
1546   
1547    Texture   = &lt;<a class="code" href="_env_map_8fx.html#a25">PreconvolvedEnvironmentMap</a>&gt;;
1548    AddressU  = WRAP;
1549    AddressV  = WRAP;
1550}
1551</pre></div>    </td>
1552  </tr>
1553</table>
1554<a class="anchor" name="a12" doxytag="EnvMap.fx::reference_pos"></a><p>
1555<table class="mdTable" cellpadding="2" cellspacing="0">
1556  <tr>
1557    <td class="mdRow">
1558      <table cellpadding="0" cellspacing="0" border="0">
1559        <tr>
1560          <td class="md" nowrap valign="top">float4 <a class="el" href="_env_map_8fx.html#a12">reference_pos</a>          </td>
1561        </tr>
1562      </table>
1563    </td>
1564  </tr>
1565</table>
1566<table cellspacing="5" cellpadding="0" border="0">
1567  <tr>
1568    <td>
1569      &nbsp;
1570    </td>
1571    <td>
1572
1573<p>
1574Reference point for the last cube map generation.
1575<p>
1576    </td>
1577  </tr>
1578</table>
1579<a class="anchor" name="a19" doxytag="EnvMap.fx::refractionIndex"></a><p>
1580<table class="mdTable" cellpadding="2" cellspacing="0">
1581  <tr>
1582    <td class="mdRow">
1583      <table cellpadding="0" cellspacing="0" border="0">
1584        <tr>
1585          <td class="md" nowrap valign="top">float refractionIndex          </td>
1586        </tr>
1587      </table>
1588    </td>
1589  </tr>
1590</table>
1591<table cellspacing="5" cellpadding="0" border="0">
1592  <tr>
1593    <td>
1594      &nbsp;
1595    </td>
1596    <td>
1597
1598<p>
1599    </td>
1600  </tr>
1601</table>
1602<a class="anchor" name="a18" doxytag="EnvMap.fx::sFresnel"></a><p>
1603<table class="mdTable" cellpadding="2" cellspacing="0">
1604  <tr>
1605    <td class="mdRow">
1606      <table cellpadding="0" cellspacing="0" border="0">
1607        <tr>
1608          <td class="md" nowrap valign="top">float sFresnel          </td>
1609        </tr>
1610      </table>
1611    </td>
1612  </tr>
1613</table>
1614<table cellspacing="5" cellpadding="0" border="0">
1615  <tr>
1616    <td>
1617      &nbsp;
1618    </td>
1619    <td>
1620
1621<p>
1622Fresnel refraction param.
1623<p>
1624    </td>
1625  </tr>
1626</table>
1627<a class="anchor" name="a21" doxytag="EnvMap.fx::shininess"></a><p>
1628<table class="mdTable" cellpadding="2" cellspacing="0">
1629  <tr>
1630    <td class="mdRow">
1631      <table cellpadding="0" cellspacing="0" border="0">
1632        <tr>
1633          <td class="md" nowrap valign="top">float <a class="el" href="_env_map_8fx.html#a21">shininess</a>          </td>
1634        </tr>
1635      </table>
1636    </td>
1637  </tr>
1638</table>
1639<table cellspacing="5" cellpadding="0" border="0">
1640  <tr>
1641    <td>
1642      &nbsp;
1643    </td>
1644    <td>
1645
1646<p>
1647    </td>
1648  </tr>
1649</table>
1650<a class="anchor" name="a24" doxytag="EnvMap.fx::SmallEnvironmentMap"></a><p>
1651<table class="mdTable" cellpadding="2" cellspacing="0">
1652  <tr>
1653    <td class="mdRow">
1654      <table cellpadding="0" cellspacing="0" border="0">
1655        <tr>
1656          <td class="md" nowrap valign="top">texture <a class="el" href="_env_map_8fx.html#a24">SmallEnvironmentMap</a>          </td>
1657        </tr>
1658      </table>
1659    </td>
1660  </tr>
1661</table>
1662<table cellspacing="5" cellpadding="0" border="0">
1663  <tr>
1664    <td>
1665      &nbsp;
1666    </td>
1667    <td>
1668
1669<p>
1670    </td>
1671  </tr>
1672</table>
1673<a class="anchor" name="a29" doxytag="EnvMap.fx::SmallEnvironmentMapSampler"></a><p>
1674<table class="mdTable" cellpadding="2" cellspacing="0">
1675  <tr>
1676    <td class="mdRow">
1677      <table cellpadding="0" cellspacing="0" border="0">
1678        <tr>
1679          <td class="md" nowrap valign="top">sampler <a class="el" href="_env_map_8fx.html#a29">SmallEnvironmentMapSampler</a>          </td>
1680        </tr>
1681      </table>
1682    </td>
1683  </tr>
1684</table>
1685<table cellspacing="5" cellpadding="0" border="0">
1686  <tr>
1687    <td>
1688      &nbsp;
1689    </td>
1690    <td>
1691
1692<p>
1693<b>Initial value:</b><div class="fragment"><pre class="fragment"> sampler_state
1694{
1695    MinFilter = Point;
1696    MagFilter = Point;
1697   
1698    Texture   = &lt;<a class="code" href="_env_map_8fx.html#a24">SmallEnvironmentMap</a>&gt;;
1699    AddressU  = WRAP;
1700    AddressV  = WRAP;
1701}
1702</pre></div>    </td>
1703  </tr>
1704</table>
1705<a class="anchor" name="a10" doxytag="EnvMap.fx::texel_size"></a><p>
1706<table class="mdTable" cellpadding="2" cellspacing="0">
1707  <tr>
1708    <td class="mdRow">
1709      <table cellpadding="0" cellspacing="0" border="0">
1710        <tr>
1711          <td class="md" nowrap valign="top">float <a class="el" href="_env_map_8fx.html#a10">texel_size</a>          </td>
1712        </tr>
1713      </table>
1714    </td>
1715  </tr>
1716</table>
1717<table cellspacing="5" cellpadding="0" border="0">
1718  <tr>
1719    <td>
1720      &nbsp;
1721    </td>
1722    <td>
1723
1724<p>
1725upload this constant every time the viewport changes
1726<p>
1727    </td>
1728  </tr>
1729</table>
1730<a class="anchor" name="a6" doxytag="EnvMap.fx::World"></a><p>
1731<table class="mdTable" cellpadding="2" cellspacing="0">
1732  <tr>
1733    <td class="mdRow">
1734      <table cellpadding="0" cellspacing="0" border="0">
1735        <tr>
1736          <td class="md" nowrap valign="top">float4x4 <a class="el" href="_env_map_8fx.html#a6">World</a>          </td>
1737        </tr>
1738      </table>
1739    </td>
1740  </tr>
1741</table>
1742<table cellspacing="5" cellpadding="0" border="0">
1743  <tr>
1744    <td>
1745      &nbsp;
1746    </td>
1747    <td>
1748
1749<p>
1750World matrix for the current object.
1751<p>
1752    </td>
1753  </tr>
1754</table>
1755<a class="anchor" name="a7" doxytag="EnvMap.fx::WorldIT"></a><p>
1756<table class="mdTable" cellpadding="2" cellspacing="0">
1757  <tr>
1758    <td class="mdRow">
1759      <table cellpadding="0" cellspacing="0" border="0">
1760        <tr>
1761          <td class="md" nowrap valign="top">float4x4 <a class="el" href="_env_map_8fx.html#a7">WorldIT</a>          </td>
1762        </tr>
1763      </table>
1764    </td>
1765  </tr>
1766</table>
1767<table cellspacing="5" cellpadding="0" border="0">
1768  <tr>
1769    <td>
1770      &nbsp;
1771    </td>
1772    <td>
1773
1774<p>
1775World matrix IT (inverse transposed) to transform surface normals of the current object.
1776<p>
1777    </td>
1778  </tr>
1779</table>
1780<a class="anchor" name="a8" doxytag="EnvMap.fx::WorldView"></a><p>
1781<table class="mdTable" cellpadding="2" cellspacing="0">
1782  <tr>
1783    <td class="mdRow">
1784      <table cellpadding="0" cellspacing="0" border="0">
1785        <tr>
1786          <td class="md" nowrap valign="top">float4x4 <a class="el" href="_env_map_8fx.html#a8">WorldView</a>          </td>
1787        </tr>
1788      </table>
1789    </td>
1790  </tr>
1791</table>
1792<table cellspacing="5" cellpadding="0" border="0">
1793  <tr>
1794    <td>
1795      &nbsp;
1796    </td>
1797    <td>
1798
1799<p>
1800World * View matrix.
1801<p>
1802    </td>
1803  </tr>
1804</table>
1805<a class="anchor" name="a9" doxytag="EnvMap.fx::WorldViewProjection"></a><p>
1806<table class="mdTable" cellpadding="2" cellspacing="0">
1807  <tr>
1808    <td class="mdRow">
1809      <table cellpadding="0" cellspacing="0" border="0">
1810        <tr>
1811          <td class="md" nowrap valign="top">float4x4 <a class="el" href="_env_map_8fx.html#a9">WorldViewProjection</a>          </td>
1812        </tr>
1813      </table>
1814    </td>
1815  </tr>
1816</table>
1817<table cellspacing="5" cellpadding="0" border="0">
1818  <tr>
1819    <td>
1820      &nbsp;
1821    </td>
1822    <td>
1823
1824<p>
1825World * View * Projection matrix.
1826<p>
1827    </td>
1828  </tr>
1829</table>
1830<hr size="1"><address style="align: right;"><small>Generated on Thu Apr 27 11:58:00 2006 for gyak by&nbsp;
1831<a href="http://www.doxygen.org/index.html">
1832<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
1833</body>
1834</html>
Note: See TracBrowser for help on using the repository browser.