aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/others/irrlicht-1.8.1/doc/html/classirr_1_1video_1_1_i_material_renderer_services.html
diff options
context:
space:
mode:
Diffstat (limited to 'src/others/irrlicht-1.8.1/doc/html/classirr_1_1video_1_1_i_material_renderer_services.html')
-rw-r--r--src/others/irrlicht-1.8.1/doc/html/classirr_1_1video_1_1_i_material_renderer_services.html568
1 files changed, 568 insertions, 0 deletions
diff --git a/src/others/irrlicht-1.8.1/doc/html/classirr_1_1video_1_1_i_material_renderer_services.html b/src/others/irrlicht-1.8.1/doc/html/classirr_1_1video_1_1_i_material_renderer_services.html
new file mode 100644
index 0000000..67ddd43
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/doc/html/classirr_1_1video_1_1_i_material_renderer_services.html
@@ -0,0 +1,568 @@
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5<title>Irrlicht 3D Engine: irr::video::IMaterialRendererServices Class Reference</title>
6
7<link href="tabs.css" rel="stylesheet" type="text/css"/>
8<link href="doxygen.css" rel="stylesheet" type="text/css" />
9<link href="navtree.css" rel="stylesheet" type="text/css"/>
10<script type="text/javascript" src="jquery.js"></script>
11<script type="text/javascript" src="resize.js"></script>
12<script type="text/javascript" src="navtree.js"></script>
13<script type="text/javascript">
14 $(document).ready(initResizable);
15</script>
16<link href="search/search.css" rel="stylesheet" type="text/css"/>
17<script type="text/javascript" src="search/search.js"></script>
18<script type="text/javascript">
19 $(document).ready(function() { searchBox.OnSelectItem(0); });
20</script>
21
22</head>
23<body>
24<div id="top"><!-- do not remove this div! -->
25
26
27<div id="titlearea">
28<table cellspacing="0" cellpadding="0">
29 <tbody>
30 <tr style="height: 56px;">
31
32 <td id="projectlogo"><img alt="Logo" src="irrlichtlogo.png"/></td>
33
34
35 <td style="padding-left: 0.5em;">
36 <div id="projectname">Irrlicht 3D Engine
37
38 </div>
39
40 </td>
41
42
43
44
45 <td> <div id="MSearchBox" class="MSearchBoxInactive">
46 <span class="left">
47 <img id="MSearchSelect" src="search/mag_sel.png"
48 onmouseover="return searchBox.OnSearchSelectShow()"
49 onmouseout="return searchBox.OnSearchSelectHide()"
50 alt=""/>
51 <input type="text" id="MSearchField" value="Search" accesskey="S"
52 onfocus="searchBox.OnSearchFieldFocus(true)"
53 onblur="searchBox.OnSearchFieldFocus(false)"
54 onkeyup="searchBox.OnSearchFieldChange(event)"/>
55 </span><span class="right">
56 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
57 </span>
58 </div>
59</td>
60
61
62 </tr>
63 </tbody>
64</table>
65</div>
66
67<!-- Generated by Doxygen 1.7.5.1 -->
68<script type="text/javascript">
69var searchBox = new SearchBox("searchBox", "search",false,'Search');
70</script>
71<script type="text/javascript" src="dynsections.js"></script>
72</div>
73<div id="side-nav" class="ui-resizable side-nav-resizable">
74 <div id="nav-tree">
75 <div id="nav-tree-contents">
76 </div>
77 </div>
78 <div id="splitbar" style="-moz-user-select:none;"
79 class="ui-resizable-handle">
80 </div>
81</div>
82<script type="text/javascript">
83 initNavTree('classirr_1_1video_1_1_i_material_renderer_services.html','');
84</script>
85<div id="doc-content">
86<div class="header">
87 <div class="summary">
88<a href="#pub-methods">Public Member Functions</a> </div>
89 <div class="headertitle">
90<div class="title">irr::video::IMaterialRendererServices Class Reference</div> </div>
91</div>
92<div class="contents">
93<!-- doxytag: class="irr::video::IMaterialRendererServices" -->
94<p>Interface providing some methods for changing advanced, internal states of a <a class="el" href="classirr_1_1video_1_1_i_video_driver.html" title="Interface to driver which is able to perform 2d and 3d graphics functions.">IVideoDriver</a>.
95 <a href="classirr_1_1video_1_1_i_material_renderer_services.html#details">More...</a></p>
96
97<p><code>#include &lt;<a class="el" href="_i_material_renderer_services_8h_source.html">IMaterialRendererServices.h</a>&gt;</code></p>
98
99<p><a href="classirr_1_1video_1_1_i_material_renderer_services-members.html">List of all members.</a></p>
100<h2><a name="pub-methods"></a>
101Public Member Functions</h2>
102<ul>
103<li>virtual <a class="el" href="classirr_1_1video_1_1_i_material_renderer_services.html#abbab02366d5303f106d14278bf88aff3">~IMaterialRendererServices</a> ()
104<dl class="el"><dd class="mdescRight">Destructor. <a href="#abbab02366d5303f106d14278bf88aff3"></a><br/></dl><li>virtual <a class="el" href="classirr_1_1video_1_1_i_video_driver.html">IVideoDriver</a> * <a class="el" href="classirr_1_1video_1_1_i_material_renderer_services.html#a2a80795887e43cb743eb5ee82604d4cf">getVideoDriver</a> ()=0
105<dl class="el"><dd class="mdescRight">Get pointer to the <a class="el" href="classirr_1_1video_1_1_i_video_driver.html" title="Interface to driver which is able to perform 2d and 3d graphics functions.">IVideoDriver</a> interface. <a href="#a2a80795887e43cb743eb5ee82604d4cf"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1video_1_1_i_material_renderer_services.html#ab000e24fe3f65fb63b007a37895df3f2">setBasicRenderStates</a> (const <a class="el" href="classirr_1_1video_1_1_s_material.html">SMaterial</a> &amp;material, const <a class="el" href="classirr_1_1video_1_1_s_material.html">SMaterial</a> &amp;lastMaterial, bool resetAllRenderstates)=0
106<dl class="el"><dd class="mdescRight">Can be called by an <a class="el" href="classirr_1_1video_1_1_i_material_renderer.html" title="Interface for material rendering.">IMaterialRenderer</a> to make its work easier. <a href="#ab000e24fe3f65fb63b007a37895df3f2"></a><br/></dl><li>virtual bool <a class="el" href="classirr_1_1video_1_1_i_material_renderer_services.html#a6f612293300f643148bd537a8a70ff32">setPixelShaderConstant</a> (const <a class="el" href="namespaceirr.html#a9395eaea339bcb546b319e9c96bf7410">c8</a> *name, const <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> *floats, int count)=0
107<dl class="el"><dd class="mdescRight">Sets a constant for the pixel shader based on a name. <a href="#a6f612293300f643148bd537a8a70ff32"></a><br/></dl><li>virtual bool <a class="el" href="classirr_1_1video_1_1_i_material_renderer_services.html#a252ccc1a6055f784c252435e1427de1b">setPixelShaderConstant</a> (const <a class="el" href="namespaceirr.html#a9395eaea339bcb546b319e9c96bf7410">c8</a> *name, const bool *bools, int count)=0
108<dl class="el"><dd class="mdescRight">Bool interface for the above. <a href="#a252ccc1a6055f784c252435e1427de1b"></a><br/></dl><li>virtual bool <a class="el" href="classirr_1_1video_1_1_i_material_renderer_services.html#ac81171c7c59a9cf0fc7d76de910098f4">setPixelShaderConstant</a> (const <a class="el" href="namespaceirr.html#a9395eaea339bcb546b319e9c96bf7410">c8</a> *name, const <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> *ints, int count)=0
109<dl class="el"><dd class="mdescRight">Int interface for the above. <a href="#ac81171c7c59a9cf0fc7d76de910098f4"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1video_1_1_i_material_renderer_services.html#af962cb878f57d1edbc0030fedb464d1d">setPixelShaderConstant</a> (const <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> *data, <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> startRegister, <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> constantAmount=1)=0
110<dl class="el"><dd class="mdescRight">Sets a pixel shader constant. <a href="#af962cb878f57d1edbc0030fedb464d1d"></a><br/></dl><li>virtual bool <a class="el" href="classirr_1_1video_1_1_i_material_renderer_services.html#a294db14b4f3608d29d0e457246df3d16">setVertexShaderConstant</a> (const <a class="el" href="namespaceirr.html#a9395eaea339bcb546b319e9c96bf7410">c8</a> *name, const <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> *floats, int count)=0
111<dl class="el"><dd class="mdescRight">Sets a constant for the vertex shader based on a name. <a href="#a294db14b4f3608d29d0e457246df3d16"></a><br/></dl><li>virtual bool <a class="el" href="classirr_1_1video_1_1_i_material_renderer_services.html#aed8c3f830451ec416265202d2dc90f92">setVertexShaderConstant</a> (const <a class="el" href="namespaceirr.html#a9395eaea339bcb546b319e9c96bf7410">c8</a> *name, const bool *bools, int count)=0
112<dl class="el"><dd class="mdescRight">Bool interface for the above. <a href="#aed8c3f830451ec416265202d2dc90f92"></a><br/></dl><li>virtual bool <a class="el" href="classirr_1_1video_1_1_i_material_renderer_services.html#a4dc7be8f9a786b9805c46f535ff7d896">setVertexShaderConstant</a> (const <a class="el" href="namespaceirr.html#a9395eaea339bcb546b319e9c96bf7410">c8</a> *name, const <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> *ints, int count)=0
113<dl class="el"><dd class="mdescRight">Int interface for the above. <a href="#a4dc7be8f9a786b9805c46f535ff7d896"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1video_1_1_i_material_renderer_services.html#a1f11a6df7625205511e91fb036e03929">setVertexShaderConstant</a> (const <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> *data, <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> startRegister, <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> constantAmount=1)=0
114<dl class="el"><dd class="mdescRight">Sets a vertex shader constant. <a href="#a1f11a6df7625205511e91fb036e03929"></a><br/></dl></ul>
115<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
116<div class="textblock"><p>Interface providing some methods for changing advanced, internal states of a <a class="el" href="classirr_1_1video_1_1_i_video_driver.html" title="Interface to driver which is able to perform 2d and 3d graphics functions.">IVideoDriver</a>. </p>
117
118<p>Definition at line <a class="el" href="_i_material_renderer_services_8h_source.html#l00020">20</a> of file <a class="el" href="_i_material_renderer_services_8h_source.html">IMaterialRendererServices.h</a>.</p>
119</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
120<a class="anchor" id="abbab02366d5303f106d14278bf88aff3"></a><!-- doxytag: member="irr::video::IMaterialRendererServices::~IMaterialRendererServices" ref="abbab02366d5303f106d14278bf88aff3" args="()" -->
121<div class="memitem">
122<div class="memproto">
123 <table class="memname">
124 <tr>
125 <td class="memname">virtual irr::video::IMaterialRendererServices::~IMaterialRendererServices </td>
126 <td>(</td>
127 <td class="paramname"></td><td>)</td>
128 <td><code> [inline, virtual]</code></td>
129 </tr>
130 </table>
131</div>
132<div class="memdoc">
133
134<p>Destructor. </p>
135
136<p>Definition at line <a class="el" href="_i_material_renderer_services_8h_source.html#l00025">25</a> of file <a class="el" href="_i_material_renderer_services_8h_source.html">IMaterialRendererServices.h</a>.</p>
137
138</div>
139</div>
140<hr/><h2>Member Function Documentation</h2>
141<a class="anchor" id="a2a80795887e43cb743eb5ee82604d4cf"></a><!-- doxytag: member="irr::video::IMaterialRendererServices::getVideoDriver" ref="a2a80795887e43cb743eb5ee82604d4cf" args="()=0" -->
142<div class="memitem">
143<div class="memproto">
144 <table class="memname">
145 <tr>
146 <td class="memname">virtual <a class="el" href="classirr_1_1video_1_1_i_video_driver.html">IVideoDriver</a>* irr::video::IMaterialRendererServices::getVideoDriver </td>
147 <td>(</td>
148 <td class="paramname"></td><td>)</td>
149 <td><code> [pure virtual]</code></td>
150 </tr>
151 </table>
152</div>
153<div class="memdoc">
154
155<p>Get pointer to the <a class="el" href="classirr_1_1video_1_1_i_video_driver.html" title="Interface to driver which is able to perform 2d and 3d graphics functions.">IVideoDriver</a> interface. </p>
156<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the <a class="el" href="classirr_1_1video_1_1_i_video_driver.html" title="Interface to driver which is able to perform 2d and 3d graphics functions.">IVideoDriver</a> interface </dd></dl>
157
158</div>
159</div>
160<a class="anchor" id="ab000e24fe3f65fb63b007a37895df3f2"></a><!-- doxytag: member="irr::video::IMaterialRendererServices::setBasicRenderStates" ref="ab000e24fe3f65fb63b007a37895df3f2" args="(const SMaterial &amp;material, const SMaterial &amp;lastMaterial, bool resetAllRenderstates)=0" -->
161<div class="memitem">
162<div class="memproto">
163 <table class="memname">
164 <tr>
165 <td class="memname">virtual void irr::video::IMaterialRendererServices::setBasicRenderStates </td>
166 <td>(</td>
167 <td class="paramtype">const <a class="el" href="classirr_1_1video_1_1_s_material.html">SMaterial</a> &amp;&#160;</td>
168 <td class="paramname"><em>material</em>, </td>
169 </tr>
170 <tr>
171 <td class="paramkey"></td>
172 <td></td>
173 <td class="paramtype">const <a class="el" href="classirr_1_1video_1_1_s_material.html">SMaterial</a> &amp;&#160;</td>
174 <td class="paramname"><em>lastMaterial</em>, </td>
175 </tr>
176 <tr>
177 <td class="paramkey"></td>
178 <td></td>
179 <td class="paramtype">bool&#160;</td>
180 <td class="paramname"><em>resetAllRenderstates</em>&#160;</td>
181 </tr>
182 <tr>
183 <td></td>
184 <td>)</td>
185 <td></td><td><code> [pure virtual]</code></td>
186 </tr>
187 </table>
188</div>
189<div class="memdoc">
190
191<p>Can be called by an <a class="el" href="classirr_1_1video_1_1_i_material_renderer.html" title="Interface for material rendering.">IMaterialRenderer</a> to make its work easier. </p>
192<p>Sets all basic renderstates if needed. Basic render states are diffuse, ambient, specular, and emissive color, specular power, bilinear and trilinear filtering, wireframe mode, grouraudshading, lighting, zbuffer, zwriteenable, backfaceculling and fog enabling. </p>
193<dl><dt><b>Parameters:</b></dt><dd>
194 <table class="params">
195 <tr><td class="paramname">material</td><td>The new material to be used. </td></tr>
196 <tr><td class="paramname">lastMaterial</td><td>The material used until now. </td></tr>
197 <tr><td class="paramname">resetAllRenderstates</td><td>Set to true if all renderstates should be set, regardless of their current state. </td></tr>
198 </table>
199 </dd>
200</dl>
201
202</div>
203</div>
204<a class="anchor" id="a6f612293300f643148bd537a8a70ff32"></a><!-- doxytag: member="irr::video::IMaterialRendererServices::setPixelShaderConstant" ref="a6f612293300f643148bd537a8a70ff32" args="(const c8 *name, const f32 *floats, int count)=0" -->
205<div class="memitem">
206<div class="memproto">
207 <table class="memname">
208 <tr>
209 <td class="memname">virtual bool irr::video::IMaterialRendererServices::setPixelShaderConstant </td>
210 <td>(</td>
211 <td class="paramtype">const <a class="el" href="namespaceirr.html#a9395eaea339bcb546b319e9c96bf7410">c8</a> *&#160;</td>
212 <td class="paramname"><em>name</em>, </td>
213 </tr>
214 <tr>
215 <td class="paramkey"></td>
216 <td></td>
217 <td class="paramtype">const <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> *&#160;</td>
218 <td class="paramname"><em>floats</em>, </td>
219 </tr>
220 <tr>
221 <td class="paramkey"></td>
222 <td></td>
223 <td class="paramtype">int&#160;</td>
224 <td class="paramname"><em>count</em>&#160;</td>
225 </tr>
226 <tr>
227 <td></td>
228 <td>)</td>
229 <td></td><td><code> [pure virtual]</code></td>
230 </tr>
231 </table>
232</div>
233<div class="memdoc">
234
235<p>Sets a constant for the pixel shader based on a name. </p>
236<p>This can be used if you used a high level shader language like GLSL or HLSL to create a shader. See <a class="el" href="classirr_1_1video_1_1_i_material_renderer_services.html#a294db14b4f3608d29d0e457246df3d16" title="Sets a constant for the vertex shader based on a name.">setVertexShaderConstant()</a> for an example on how to use this. </p>
237<dl><dt><b>Parameters:</b></dt><dd>
238 <table class="params">
239 <tr><td class="paramname">name</td><td>Name of the variable </td></tr>
240 <tr><td class="paramname">floats</td><td>Pointer to array of floats </td></tr>
241 <tr><td class="paramname">count</td><td>Amount of floats in array. </td></tr>
242 </table>
243 </dd>
244</dl>
245<dl class="return"><dt><b>Returns:</b></dt><dd>True if successful. </dd></dl>
246
247</div>
248</div>
249<a class="anchor" id="a252ccc1a6055f784c252435e1427de1b"></a><!-- doxytag: member="irr::video::IMaterialRendererServices::setPixelShaderConstant" ref="a252ccc1a6055f784c252435e1427de1b" args="(const c8 *name, const bool *bools, int count)=0" -->
250<div class="memitem">
251<div class="memproto">
252 <table class="memname">
253 <tr>
254 <td class="memname">virtual bool irr::video::IMaterialRendererServices::setPixelShaderConstant </td>
255 <td>(</td>
256 <td class="paramtype">const <a class="el" href="namespaceirr.html#a9395eaea339bcb546b319e9c96bf7410">c8</a> *&#160;</td>
257 <td class="paramname"><em>name</em>, </td>
258 </tr>
259 <tr>
260 <td class="paramkey"></td>
261 <td></td>
262 <td class="paramtype">const bool *&#160;</td>
263 <td class="paramname"><em>bools</em>, </td>
264 </tr>
265 <tr>
266 <td class="paramkey"></td>
267 <td></td>
268 <td class="paramtype">int&#160;</td>
269 <td class="paramname"><em>count</em>&#160;</td>
270 </tr>
271 <tr>
272 <td></td>
273 <td>)</td>
274 <td></td><td><code> [pure virtual]</code></td>
275 </tr>
276 </table>
277</div>
278<div class="memdoc">
279
280<p>Bool interface for the above. </p>
281
282</div>
283</div>
284<a class="anchor" id="ac81171c7c59a9cf0fc7d76de910098f4"></a><!-- doxytag: member="irr::video::IMaterialRendererServices::setPixelShaderConstant" ref="ac81171c7c59a9cf0fc7d76de910098f4" args="(const c8 *name, const s32 *ints, int count)=0" -->
285<div class="memitem">
286<div class="memproto">
287 <table class="memname">
288 <tr>
289 <td class="memname">virtual bool irr::video::IMaterialRendererServices::setPixelShaderConstant </td>
290 <td>(</td>
291 <td class="paramtype">const <a class="el" href="namespaceirr.html#a9395eaea339bcb546b319e9c96bf7410">c8</a> *&#160;</td>
292 <td class="paramname"><em>name</em>, </td>
293 </tr>
294 <tr>
295 <td class="paramkey"></td>
296 <td></td>
297 <td class="paramtype">const <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> *&#160;</td>
298 <td class="paramname"><em>ints</em>, </td>
299 </tr>
300 <tr>
301 <td class="paramkey"></td>
302 <td></td>
303 <td class="paramtype">int&#160;</td>
304 <td class="paramname"><em>count</em>&#160;</td>
305 </tr>
306 <tr>
307 <td></td>
308 <td>)</td>
309 <td></td><td><code> [pure virtual]</code></td>
310 </tr>
311 </table>
312</div>
313<div class="memdoc">
314
315<p>Int interface for the above. </p>
316
317</div>
318</div>
319<a class="anchor" id="af962cb878f57d1edbc0030fedb464d1d"></a><!-- doxytag: member="irr::video::IMaterialRendererServices::setPixelShaderConstant" ref="af962cb878f57d1edbc0030fedb464d1d" args="(const f32 *data, s32 startRegister, s32 constantAmount=1)=0" -->
320<div class="memitem">
321<div class="memproto">
322 <table class="memname">
323 <tr>
324 <td class="memname">virtual void irr::video::IMaterialRendererServices::setPixelShaderConstant </td>
325 <td>(</td>
326 <td class="paramtype">const <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> *&#160;</td>
327 <td class="paramname"><em>data</em>, </td>
328 </tr>
329 <tr>
330 <td class="paramkey"></td>
331 <td></td>
332 <td class="paramtype"><a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a>&#160;</td>
333 <td class="paramname"><em>startRegister</em>, </td>
334 </tr>
335 <tr>
336 <td class="paramkey"></td>
337 <td></td>
338 <td class="paramtype"><a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a>&#160;</td>
339 <td class="paramname"><em>constantAmount</em> = <code>1</code>&#160;</td>
340 </tr>
341 <tr>
342 <td></td>
343 <td>)</td>
344 <td></td><td><code> [pure virtual]</code></td>
345 </tr>
346 </table>
347</div>
348<div class="memdoc">
349
350<p>Sets a pixel shader constant. </p>
351<p>Can be used if you created a shader using pixel/vertex shader assembler or ARB_fragment_program or ARB_vertex_program. </p>
352<dl><dt><b>Parameters:</b></dt><dd>
353 <table class="params">
354 <tr><td class="paramname">data</td><td>Data to be set in the constants </td></tr>
355 <tr><td class="paramname">startRegister</td><td>First register to be set. </td></tr>
356 <tr><td class="paramname">constantAmount</td><td>Amount of registers to be set. One register consists of 4 floats. </td></tr>
357 </table>
358 </dd>
359</dl>
360
361</div>
362</div>
363<a class="anchor" id="a294db14b4f3608d29d0e457246df3d16"></a><!-- doxytag: member="irr::video::IMaterialRendererServices::setVertexShaderConstant" ref="a294db14b4f3608d29d0e457246df3d16" args="(const c8 *name, const f32 *floats, int count)=0" -->
364<div class="memitem">
365<div class="memproto">
366 <table class="memname">
367 <tr>
368 <td class="memname">virtual bool irr::video::IMaterialRendererServices::setVertexShaderConstant </td>
369 <td>(</td>
370 <td class="paramtype">const <a class="el" href="namespaceirr.html#a9395eaea339bcb546b319e9c96bf7410">c8</a> *&#160;</td>
371 <td class="paramname"><em>name</em>, </td>
372 </tr>
373 <tr>
374 <td class="paramkey"></td>
375 <td></td>
376 <td class="paramtype">const <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> *&#160;</td>
377 <td class="paramname"><em>floats</em>, </td>
378 </tr>
379 <tr>
380 <td class="paramkey"></td>
381 <td></td>
382 <td class="paramtype">int&#160;</td>
383 <td class="paramname"><em>count</em>&#160;</td>
384 </tr>
385 <tr>
386 <td></td>
387 <td>)</td>
388 <td></td><td><code> [pure virtual]</code></td>
389 </tr>
390 </table>
391</div>
392<div class="memdoc">
393
394<p>Sets a constant for the vertex shader based on a name. </p>
395<p>This can be used if you used a high level shader language like GLSL or HLSL to create a shader. Example: If you created a shader which has variables named 'mWorldViewProj' (containing the WorldViewProjection matrix) and another one named 'fTime' containing one float, you can set them in your <a class="el" href="classirr_1_1video_1_1_i_shader_constant_set_call_back.html" title="Interface making it possible to set constants for gpu programs every frame.">IShaderConstantSetCallBack</a> derived class like this: </p>
396<div class="fragment"><pre class="fragment"> <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnSetConstants(video::IMaterialRendererServices* services, <a class="code" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6" title="32 bit signed variable.">s32</a> userData)
397 {
398 video::IVideoDriver* driver = services-&gt;getVideoDriver();
399
400 <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> time = (<a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a>)os::Timer::getTime()/100000.0f;
401 services-&gt;setVertexShaderConstant(<span class="stringliteral">&quot;fTime&quot;</span>, &amp;time, 1);
402
403 <a class="code" href="namespaceirr_1_1core.html#a73fa92e638c5ca97efd72da307cc9b65" title="Typedef for f32 matrix.">core::matrix4</a> worldViewProj(driver-&gt;getTransform(<a class="code" href="namespaceirr_1_1video.html#a15b57657a320243be03ae6f66fcff43dae7ec186418508c67a7562af012d7b63f" title="Projection transformation.">video::ETS_PROJECTION</a>));
404 worldViewProj *= driver-&gt;getTransform(<a class="code" href="namespaceirr_1_1video.html#a15b57657a320243be03ae6f66fcff43da152f4262d5874186e0288934c7d31e14" title="View transformation.">video::ETS_VIEW</a>);
405 worldViewProj *= driver-&gt;getTransform(<a class="code" href="namespaceirr_1_1video.html#a15b57657a320243be03ae6f66fcff43da843cf42adb3fa9caf61c9e228cf14e85" title="World transformation.">video::ETS_WORLD</a>);
406 services-&gt;setVertexShaderConstant(<span class="stringliteral">&quot;mWorldViewProj&quot;</span>, worldViewProj.M, 16);
407 }
408</pre></div> <dl><dt><b>Parameters:</b></dt><dd>
409 <table class="params">
410 <tr><td class="paramname">name</td><td>Name of the variable </td></tr>
411 <tr><td class="paramname">floats</td><td>Pointer to array of floats </td></tr>
412 <tr><td class="paramname">count</td><td>Amount of floats in array. </td></tr>
413 </table>
414 </dd>
415</dl>
416<dl class="return"><dt><b>Returns:</b></dt><dd>True if successful. </dd></dl>
417
418</div>
419</div>
420<a class="anchor" id="aed8c3f830451ec416265202d2dc90f92"></a><!-- doxytag: member="irr::video::IMaterialRendererServices::setVertexShaderConstant" ref="aed8c3f830451ec416265202d2dc90f92" args="(const c8 *name, const bool *bools, int count)=0" -->
421<div class="memitem">
422<div class="memproto">
423 <table class="memname">
424 <tr>
425 <td class="memname">virtual bool irr::video::IMaterialRendererServices::setVertexShaderConstant </td>
426 <td>(</td>
427 <td class="paramtype">const <a class="el" href="namespaceirr.html#a9395eaea339bcb546b319e9c96bf7410">c8</a> *&#160;</td>
428 <td class="paramname"><em>name</em>, </td>
429 </tr>
430 <tr>
431 <td class="paramkey"></td>
432 <td></td>
433 <td class="paramtype">const bool *&#160;</td>
434 <td class="paramname"><em>bools</em>, </td>
435 </tr>
436 <tr>
437 <td class="paramkey"></td>
438 <td></td>
439 <td class="paramtype">int&#160;</td>
440 <td class="paramname"><em>count</em>&#160;</td>
441 </tr>
442 <tr>
443 <td></td>
444 <td>)</td>
445 <td></td><td><code> [pure virtual]</code></td>
446 </tr>
447 </table>
448</div>
449<div class="memdoc">
450
451<p>Bool interface for the above. </p>
452
453</div>
454</div>
455<a class="anchor" id="a4dc7be8f9a786b9805c46f535ff7d896"></a><!-- doxytag: member="irr::video::IMaterialRendererServices::setVertexShaderConstant" ref="a4dc7be8f9a786b9805c46f535ff7d896" args="(const c8 *name, const s32 *ints, int count)=0" -->
456<div class="memitem">
457<div class="memproto">
458 <table class="memname">
459 <tr>
460 <td class="memname">virtual bool irr::video::IMaterialRendererServices::setVertexShaderConstant </td>
461 <td>(</td>
462 <td class="paramtype">const <a class="el" href="namespaceirr.html#a9395eaea339bcb546b319e9c96bf7410">c8</a> *&#160;</td>
463 <td class="paramname"><em>name</em>, </td>
464 </tr>
465 <tr>
466 <td class="paramkey"></td>
467 <td></td>
468 <td class="paramtype">const <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> *&#160;</td>
469 <td class="paramname"><em>ints</em>, </td>
470 </tr>
471 <tr>
472 <td class="paramkey"></td>
473 <td></td>
474 <td class="paramtype">int&#160;</td>
475 <td class="paramname"><em>count</em>&#160;</td>
476 </tr>
477 <tr>
478 <td></td>
479 <td>)</td>
480 <td></td><td><code> [pure virtual]</code></td>
481 </tr>
482 </table>
483</div>
484<div class="memdoc">
485
486<p>Int interface for the above. </p>
487
488</div>
489</div>
490<a class="anchor" id="a1f11a6df7625205511e91fb036e03929"></a><!-- doxytag: member="irr::video::IMaterialRendererServices::setVertexShaderConstant" ref="a1f11a6df7625205511e91fb036e03929" args="(const f32 *data, s32 startRegister, s32 constantAmount=1)=0" -->
491<div class="memitem">
492<div class="memproto">
493 <table class="memname">
494 <tr>
495 <td class="memname">virtual void irr::video::IMaterialRendererServices::setVertexShaderConstant </td>
496 <td>(</td>
497 <td class="paramtype">const <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> *&#160;</td>
498 <td class="paramname"><em>data</em>, </td>
499 </tr>
500 <tr>
501 <td class="paramkey"></td>
502 <td></td>
503 <td class="paramtype"><a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a>&#160;</td>
504 <td class="paramname"><em>startRegister</em>, </td>
505 </tr>
506 <tr>
507 <td class="paramkey"></td>
508 <td></td>
509 <td class="paramtype"><a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a>&#160;</td>
510 <td class="paramname"><em>constantAmount</em> = <code>1</code>&#160;</td>
511 </tr>
512 <tr>
513 <td></td>
514 <td>)</td>
515 <td></td><td><code> [pure virtual]</code></td>
516 </tr>
517 </table>
518</div>
519<div class="memdoc">
520
521<p>Sets a vertex shader constant. </p>
522<p>Can be used if you created a shader using pixel/vertex shader assembler or ARB_fragment_program or ARB_vertex_program. </p>
523<dl><dt><b>Parameters:</b></dt><dd>
524 <table class="params">
525 <tr><td class="paramname">data,:</td><td>Data to be set in the constants </td></tr>
526 <tr><td class="paramname">startRegister,:</td><td>First register to be set </td></tr>
527 <tr><td class="paramname">constantAmount,:</td><td>Amount of registers to be set. One register consists of 4 floats. </td></tr>
528 </table>
529 </dd>
530</dl>
531
532</div>
533</div>
534<hr/>The documentation for this class was generated from the following file:<ul>
535<li><a class="el" href="_i_material_renderer_services_8h_source.html">IMaterialRendererServices.h</a></li>
536</ul>
537</div>
538</div>
539 <div id="nav-path" class="navpath">
540 <ul>
541 <li class="navelem"><a class="el" href="namespaceirr.html">irr</a> </li>
542 <li class="navelem"><a class="el" href="namespaceirr_1_1video.html">video</a> </li>
543 <li class="navelem"><a class="el" href="classirr_1_1video_1_1_i_material_renderer_services.html">IMaterialRendererServices</a> </li>
544<!-- window showing the filter options -->
545<div id="MSearchSelectWindow"
546 onmouseover="return searchBox.OnSearchSelectShow()"
547 onmouseout="return searchBox.OnSearchSelectHide()"
548 onkeydown="return searchBox.OnSearchSelectKey(event)">
549<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Defines</a></div>
550
551<!-- iframe showing the search results (closed by default) -->
552<div id="MSearchResultsWindow">
553<iframe src="javascript:void(0)" frameborder="0"
554 name="MSearchResults" id="MSearchResults">
555</iframe>
556</div>
557
558
559 <li class="footer">
560<a href="http://irrlicht.sourceforge.net" target="_blank">Irrlicht
561Engine</a> Documentation &copy; 2003-2012 by Nikolaus Gebhardt. Generated on Sun Nov 17 2013 20:18:48 for Irrlicht 3D Engine by
562<a href="http://www.doxygen.org/index.html" target="_blank">Doxygen</a> 1.7.5.1 </li>
563 </ul>
564 </div>
565
566
567</body>
568</html>