aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a02839.html
diff options
context:
space:
mode:
authorneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
committerneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
commit0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch)
tree2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /docs/doxygen/nel/a02839.html
downloadnevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz
nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip
Initial commit
Diffstat (limited to 'docs/doxygen/nel/a02839.html')
-rw-r--r--docs/doxygen/nel/a02839.html5818
1 files changed, 5818 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a02839.html b/docs/doxygen/nel/a02839.html
new file mode 100644
index 00000000..d9909814
--- /dev/null
+++ b/docs/doxygen/nel/a02839.html
@@ -0,0 +1,5818 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>NeL: NL3D::CMaterial class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.3.6 -->
+<div class="qindex"> <form class="search" action="search.php" method="get">
+<a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a> | <span class="search"><u>S</u>earch&nbsp;for&nbsp;<input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div>
+<h1>NL3D::CMaterial Class Reference</h1><code>#include &lt;<a class="el" href="a05969.html">material.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for NL3D::CMaterial:
+<p><center><img src="a02839.png" usemap="#NL3D::CMaterial_map" border="0" alt=""></center>
+<map name="NL3D::CMaterial_map">
+<area href="a02209.html" alt="NLMISC::CRefCount" shape="rect" coords="0,0,126,24">
+</map>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A material represent ALL the states relatives to the aspect of a primitive.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00119">119</a> of file <a class="el" href="a05969.html">material.h</a>.<table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialw58">TBlend</a> { <br>
+&nbsp;&nbsp;<a class="el" href="a02839.html#NL3D_1_1CMaterialw58NL3D_1_1CMaterialw46">one</a> = 0,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialw58NL3D_1_1CMaterialw70">zero</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialw58NL3D_1_1CMaterialw55">srcalpha</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialw58NL3D_1_1CMaterialw33">invsrcalpha</a>,
+<br>
+&nbsp;&nbsp;<a class="el" href="a02839.html#NL3D_1_1CMaterialw58NL3D_1_1CMaterialw57">srccolor</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialw58NL3D_1_1CMaterialw35">invsrccolor</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialw58NL3D_1_1CMaterialw4">blendConstantColor</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialw58NL3D_1_1CMaterialw6">blendConstantInvColor</a>,
+<br>
+&nbsp;&nbsp;<a class="el" href="a02839.html#NL3D_1_1CMaterialw58NL3D_1_1CMaterialw3">blendConstantAlpha</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialw58NL3D_1_1CMaterialw5">blendConstantInvAlpha</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialw58NL3D_1_1CMaterialw7">blendCount</a>
+<br>
+ }</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialw65">TShader</a> { <br>
+&nbsp;&nbsp;<a class="el" href="a02839.html#NL3D_1_1CMaterialw65NL3D_1_1CMaterialw41">Normal</a> = 0,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialw65NL3D_1_1CMaterialw8">Bump</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialw65NL3D_1_1CMaterialw68">UserColor</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialw65NL3D_1_1CMaterialw38">LightMap</a>,
+<br>
+&nbsp;&nbsp;<a class="el" href="a02839.html#NL3D_1_1CMaterialw65NL3D_1_1CMaterialw53">Specular</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialw65NL3D_1_1CMaterialw9">Caustics</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialw65NL3D_1_1CMaterialw48">PerPixelLighting</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialw65NL3D_1_1CMaterialw49">PerPixelLightingNoSpec</a>,
+<br>
+&nbsp;&nbsp;<a class="el" href="a02839.html#NL3D_1_1CMaterialw65NL3D_1_1CMaterialw10">Cloud</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialw65NL3D_1_1CMaterialw69">Water</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialw65NL3D_1_1CMaterialw52">shaderCount</a>
+<br>
+ }</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialw66">TTexCoordGenMode</a> { <a class="el" href="a02839.html#NL3D_1_1CMaterialw66NL3D_1_1CMaterialw62">TexCoordGenReflect</a> = 0,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialw66NL3D_1_1CMaterialw61">TexCoordGenObjectSpace</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialw66NL3D_1_1CMaterialw60">TexCoordGenEyeSpace</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialw66NL3D_1_1CMaterialw43">numTexCoordGenMode</a>
+ }</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::vector&lt; <a class="el" href="a02841.html">CLightMap</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialw67">TTexturePtrs</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialw71">ZFunc</a> { <br>
+&nbsp;&nbsp;<a class="el" href="a02839.html#NL3D_1_1CMaterialw71NL3D_1_1CMaterialw2">always</a> = 0,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialw71NL3D_1_1CMaterialw40">never</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialw71NL3D_1_1CMaterialw24">equal</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialw71NL3D_1_1CMaterialw42">notequal</a>,
+<br>
+&nbsp;&nbsp;<a class="el" href="a02839.html#NL3D_1_1CMaterialw71NL3D_1_1CMaterialw36">less</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialw71NL3D_1_1CMaterialw37">lessequal</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialw71NL3D_1_1CMaterialw26">greater</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialw71NL3D_1_1CMaterialw27">greaterequal</a>,
+<br>
+&nbsp;&nbsp;<a class="el" href="a02839.html#NL3D_1_1CMaterialw71NL3D_1_1CMaterialw72">zfuncCount</a>
+<br>
+ }</td></tr>
+
+<tr><td colspan="2"><div class="groupHeader">Texture Addressing Modes. They are valid only with the normal texture shader.</div></td></tr>
+<tr><td colspan="2"><div class="groupText">All modes are not supported everywhere, so you should check for it in the driver. The modes are similar to those introduced with DirectX 8.0 Pixel Shaders and OpenGL TEXTURE_SHADERS_NV <br><br></div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz360_0">TTexAddressingMode</a> { <br>
+&nbsp;&nbsp;<a class="el" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw64">TextureOff</a> = 0,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw25">FetchTexture</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw47">PassThrough</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw12">CullFragment</a>,
+<br>
+&nbsp;&nbsp;<a class="el" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw44">OffsetTexture</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw45">OffsetTextureScale</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw13">DependentARTexture</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw14">DependentGBTexture</a>,
+<br>
+&nbsp;&nbsp;<a class="el" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw16">DP3</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw22">DP3Texture2D</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw18">DP3CubeMap</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw21">DP3ReflectCubeMap</a>,
+<br>
+&nbsp;&nbsp;<a class="el" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw17">DP3ConstEyeReflectCubeMap</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw20">DP3DiffuseCubeMap</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw19">DP3DepthReplace</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw59">TexAddrCount</a>
+<br>
+ }</td></tr>
+
+<tr><td colspan="2"><div class="groupHeader">Texture Env Modes.</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz358_0">TTexOperand</a> { <a class="el" href="a02839.html#NL3D_1_1CMaterialz358_0NL3D_1_1CMaterialw56">SrcColor</a> = 0,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialz358_0NL3D_1_1CMaterialw34">InvSrcColor</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialz358_0NL3D_1_1CMaterialw54">SrcAlpha</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialz358_0NL3D_1_1CMaterialw32">InvSrcAlpha</a>
+ }</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz358_1">TTexOperator</a> { <br>
+&nbsp;&nbsp;<a class="el" href="a02839.html#NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw51">Replace</a> = 0,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw39">Modulate</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw0">Add</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw1">AddSigned</a>,
+<br>
+&nbsp;&nbsp;<a class="el" href="a02839.html#NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw31">InterpolateTexture</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw30">InterpolatePrevious</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw29">InterpolateDiffuse</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw28">InterpolateConstant</a>,
+<br>
+&nbsp;&nbsp;<a class="el" href="a02839.html#NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw23">EMBM</a>
+<br>
+ }</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz358_2">TTexSource</a> { <a class="el" href="a02839.html#NL3D_1_1CMaterialz358_2NL3D_1_1CMaterialw63">Texture</a> = 0,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialz358_2NL3D_1_1CMaterialw50">Previous</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialz358_2NL3D_1_1CMaterialw15">Diffuse</a>,
+<a class="el" href="a02839.html#NL3D_1_1CMaterialz358_2NL3D_1_1CMaterialw11">Constant</a>
+ }</td></tr>
+
+<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMateriala0">clearTouched</a> (<a class="el" href="a04558.html#a11">uint32</a> flag)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMateriala1">flushTextures</a> (<a class="el" href="a02434.html">IDriver</a> &amp;driver, <a class="el" href="a04558.html#a15">uint</a> selectedTexture)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flush textures. Force texture generation. <a href="#NL3D_1_1CMateriala1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMateriala2">getFlags</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a04558.html#a14">sint</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02209.html#NLGEORGES_1_1UTypea8">getRefCount</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02839.html#NL3D_1_1CMaterialw65">TShader</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMateriala4">getShader</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the current material shadertype. <a href="#NL3D_1_1CMateriala4"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMateriala5">getStainedGlassWindow</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMateriala6">getTouched</a> (void) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMateriala7">serial</a> (<a class="el" href="a02270.html">NLMISC::IStream</a> &amp;f)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMateriala8">setShader</a> (<a class="el" href="a02839.html#NL3D_1_1CMaterialw65">TShader</a> val)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMateriala9">setStainedGlassWindow</a> (bool val)</td></tr>
+
+<tr><td colspan="2"><div class="groupHeader">Object.</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz362_0">CMaterial</a> (const <a class="el" href="a02839.html">CMaterial</a> &amp;mat)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">see operator=. <a href="#NL3D_1_1CMaterialz362_0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz362_1">CMaterial</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02839.html">CMaterial</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz362_2">operator=</a> (const <a class="el" href="a02839.html">CMaterial</a> &amp;mat)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Do not copy DrvInfos, copy all infos and set IDRV_TOUCHED_ALL. <a href="#NL3D_1_1CMaterialz362_2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz362_3">~CMaterial</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">dtor. <a href="#NL3D_1_1CMaterialz362_3"></a><br><br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Texture environnement. Normal shader only.</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz378_0">decompUserTexMat</a> (<a class="el" href="a04558.html#a15">uint</a> stage, float &amp;uTrans, float &amp;vTrans, float &amp;wRot, float &amp;uScale, float &amp;vScale)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decompose a user texture matrix, We assume that this is only a matrix for 2d texture. <a href="#NL3D_1_1CMaterialz378_0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz378_1">enableUserTexMat</a> (<a class="el" href="a04558.html#a15">uint</a> stage, bool enabled=true)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decompose a user texture matrix, We assume that this is only a matrix for 2d texture. <a href="#NL3D_1_1CMaterialz378_1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03337.html">CRGBA</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz378_2">getTexConstantColor</a> (<a class="el" href="a04558.html#a15">uint</a> stage)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decompose a user texture matrix, We assume that this is only a matrix for 2d texture. <a href="#NL3D_1_1CMaterialz378_2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz378_3">getTexCoordGen</a> (<a class="el" href="a04558.html#a15">uint</a> stage) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decompose a user texture matrix, We assume that this is only a matrix for 2d texture. <a href="#NL3D_1_1CMaterialz378_3"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02839.html#NL3D_1_1CMaterialw66">TTexCoordGenMode</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz378_4">getTexCoordGenMode</a> (<a class="el" href="a04558.html#a15">uint</a> stage) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decompose a user texture matrix, We assume that this is only a matrix for 2d texture. <a href="#NL3D_1_1CMaterialz378_4"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz378_5">getTexEnvMode</a> (<a class="el" href="a04558.html#a15">uint</a> stage)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">For push/pop only, get the packed version of the environnment mode. <a href="#NL3D_1_1CMaterialz378_5"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz378_6">getUserTexMat</a> (<a class="el" href="a04558.html#a15">uint</a> stage) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz378_7">isUserTexMatEnabled</a> (<a class="el" href="a04558.html#a15">uint</a> stage) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decompose a user texture matrix, We assume that this is only a matrix for 2d texture. <a href="#NL3D_1_1CMaterialz378_7"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz378_8">setTexCoordGen</a> (<a class="el" href="a04558.html#a15">uint</a> stage, bool generate)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decompose a user texture matrix, We assume that this is only a matrix for 2d texture. <a href="#NL3D_1_1CMaterialz378_8"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz378_9">setTexCoordGenMode</a> (<a class="el" href="a04558.html#a15">uint</a> stage, <a class="el" href="a02839.html#NL3D_1_1CMaterialw66">TTexCoordGenMode</a> mode)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decompose a user texture matrix, We assume that this is only a matrix for 2d texture. <a href="#NL3D_1_1CMaterialz378_9"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz378_10">setTexEnvMode</a> (<a class="el" href="a04558.html#a15">uint</a> stage, <a class="el" href="a04558.html#a11">uint32</a> packed)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">For push/pop only, set the packed version of the environnment mode. <a href="#NL3D_1_1CMaterialz378_10"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz378_11">setUserTexMat</a> (<a class="el" href="a04558.html#a15">uint</a> stage, const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp;m)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a new texture matrix for the given stage. <a href="#NL3D_1_1CMaterialz378_11"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz378_12">texConstantColor</a> (<a class="el" href="a04558.html#a15">uint</a> stage, <a class="el" href="a03337.html">CRGBA</a> color)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setup the constant color for a stage. Used for the TTexSource:Constant. <a href="#NL3D_1_1CMaterialz378_12"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz378_13">texEnvArg0Alpha</a> (<a class="el" href="a04558.html#a15">uint</a> stage, <a class="el" href="a02839.html#NL3D_1_1CMaterialz358_2">TTexSource</a> <a class="el" href="a04223.html#a652">src</a>, <a class="el" href="a02839.html#NL3D_1_1CMaterialz358_0">TTexOperand</a> oper)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decompose a user texture matrix, We assume that this is only a matrix for 2d texture. <a href="#NL3D_1_1CMaterialz378_13"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz378_14">texEnvArg0RGB</a> (<a class="el" href="a04558.html#a15">uint</a> stage, <a class="el" href="a02839.html#NL3D_1_1CMaterialz358_2">TTexSource</a> <a class="el" href="a04223.html#a652">src</a>, <a class="el" href="a02839.html#NL3D_1_1CMaterialz358_0">TTexOperand</a> oper)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decompose a user texture matrix, We assume that this is only a matrix for 2d texture. <a href="#NL3D_1_1CMaterialz378_14"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz378_15">texEnvArg1Alpha</a> (<a class="el" href="a04558.html#a15">uint</a> stage, <a class="el" href="a02839.html#NL3D_1_1CMaterialz358_2">TTexSource</a> <a class="el" href="a04223.html#a652">src</a>, <a class="el" href="a02839.html#NL3D_1_1CMaterialz358_0">TTexOperand</a> oper)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decompose a user texture matrix, We assume that this is only a matrix for 2d texture. <a href="#NL3D_1_1CMaterialz378_15"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz378_16">texEnvArg1RGB</a> (<a class="el" href="a04558.html#a15">uint</a> stage, <a class="el" href="a02839.html#NL3D_1_1CMaterialz358_2">TTexSource</a> <a class="el" href="a04223.html#a652">src</a>, <a class="el" href="a02839.html#NL3D_1_1CMaterialz358_0">TTexOperand</a> oper)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decompose a user texture matrix, We assume that this is only a matrix for 2d texture. <a href="#NL3D_1_1CMaterialz378_16"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz378_17">texEnvOpAlpha</a> (<a class="el" href="a04558.html#a15">uint</a> stage, <a class="el" href="a02839.html#NL3D_1_1CMaterialz358_1">TTexOperator</a> ope)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decompose a user texture matrix, We assume that this is only a matrix for 2d texture. <a href="#NL3D_1_1CMaterialz378_17"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz378_18">texEnvOpRGB</a> (<a class="el" href="a04558.html#a15">uint</a> stage, <a class="el" href="a02839.html#NL3D_1_1CMaterialz358_1">TTexOperator</a> ope)</td></tr>
+
+<tr><td colspan="2"><div class="groupHeader">Texture Addressing Mode Method</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz368_0">enableTexAddrMode</a> (bool enable=true)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02839.html#NL3D_1_1CMaterialz360_0">TTexAddressingMode</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz368_1">getTexAddressingMode</a> (<a class="el" href="a04558.html#a7">uint8</a> stage)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the texture addressing mode for the given stage. <a href="#NL3D_1_1CMaterialz368_1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz368_2">setTexAddressingMode</a> (<a class="el" href="a04558.html#a7">uint8</a> stage, <a class="el" href="a02839.html#NL3D_1_1CMaterialz360_0">TTexAddressingMode</a> mode)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz368_3">texAddrEnabled</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">test whether texture addressing mode are enabled <a href="#NL3D_1_1CMaterialz368_3"></a><br><br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Alpha Test</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz372_0">getAlphaTest</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz372_1">getAlphaTestThreshold</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz372_2">setAlphaTest</a> (bool active)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz372_3">setAlphaTestThreshold</a> (float thre)</td></tr>
+
+<tr><td colspan="2"><div class="groupHeader">Color/Lighting..</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03337.html">CRGBA</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz376_0">getAmbient</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03337.html">CRGBA</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz376_1">getColor</a> (void) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03337.html">CRGBA</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz376_2">getDiffuse</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return diffuse part. NB: A==opacity. <a href="#NL3D_1_1CMaterialz376_2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03337.html">CRGBA</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz376_3">getEmissive</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz376_4">getLightedVertexColor</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the lighted vertex color flag. <a href="#NL3D_1_1CMaterialz376_4"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a7">uint8</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz376_5">getOpacity</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz376_6">getShininess</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03337.html">CRGBA</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz376_7">getSpecular</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz376_8">isLighted</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz376_9">isLightedVertexColor</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return true if this material uses color material as diffuse when lighted, else return false if it uses color vertex. <a href="#NL3D_1_1CMaterialz376_9"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz376_10">setAmbient</a> (<a class="el" href="a03337.html">CRGBA</a> ambient=<a class="el" href="a03337.html">CRGBA</a>(0, 0, 0))</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the Ambient part ot material. Usefull only if setLighting(true) has been done. <a href="#NL3D_1_1CMaterialz376_10"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz376_11">setColor</a> (<a class="el" href="a03337.html">CRGBA</a> rgba)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The Color is used only if lighting is disabled. Also, color is replaced by per vertex color (if any). <a href="#NL3D_1_1CMaterialz376_11"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz376_12">setDiffuse</a> (<a class="el" href="a03337.html">CRGBA</a> diffuse=<a class="el" href="a03337.html">CRGBA</a>(0, 0, 0))</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the Diffuse part ot material. Usefull only if setLighting(true) has been done. NB: opacity is NOT copied from diffuse.A. <a href="#NL3D_1_1CMaterialz376_12"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz376_13">setEmissive</a> (<a class="el" href="a03337.html">CRGBA</a> emissive=<a class="el" href="a03337.html">CRGBA</a>(0, 0, 0))</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the emissive part ot material. Usefull only if setLighting(true) has been done. <a href="#NL3D_1_1CMaterialz376_13"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz376_14">setLightedVertexColor</a> (bool useLightedVertexColor)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the color material flag. Used when the material is lighted. True to use the diffuse color of the material when lighted, false to use the color vertex. <a href="#NL3D_1_1CMaterialz376_14"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz376_15">setLighting</a> (bool active, <a class="el" href="a03337.html">CRGBA</a> emissive=<a class="el" href="a03337.html">CRGBA</a>(0, 0, 0), <a class="el" href="a03337.html">CRGBA</a> ambient=<a class="el" href="a03337.html">CRGBA</a>(0, 0, 0), <a class="el" href="a03337.html">CRGBA</a> diffuse=<a class="el" href="a03337.html">CRGBA</a>(0, 0, 0), <a class="el" href="a03337.html">CRGBA</a> specular=<a class="el" href="a03337.html">CRGBA</a>(0, 0, 0), float shininess=10)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Batch setup lighting. Opacity is in diffuse.A. <a href="#NL3D_1_1CMaterialz376_15"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz376_16">setOpacity</a> (<a class="el" href="a04558.html#a7">uint8</a> opa)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the Opacity part ot material. Usefull only if setLighting(true) has been done. <a href="#NL3D_1_1CMaterialz376_16"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz376_17">setShininess</a> (float shininess)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the shininess part ot material. Usefull only if setLighting(true) has been done. <a href="#NL3D_1_1CMaterialz376_17"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz376_18">setSpecular</a> (<a class="el" href="a03337.html">CRGBA</a> specular=<a class="el" href="a03337.html">CRGBA</a>(0, 0, 0))</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the specular part ot material. Usefull only if setLighting(true) has been done. <a href="#NL3D_1_1CMaterialz376_18"></a><br><br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Blending.</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz366_0">getBlend</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02839.html#NL3D_1_1CMaterialw58">TBlend</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz366_1">getDstBlend</a> (void) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02839.html#NL3D_1_1CMaterialw58">TBlend</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz366_2">getSrcBlend</a> (void) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz366_3">setBlend</a> (bool active)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz366_4">setBlendFunc</a> (<a class="el" href="a02839.html#NL3D_1_1CMaterialw58">TBlend</a> <a class="el" href="a04223.html#a652">src</a>, <a class="el" href="a02839.html#NL3D_1_1CMaterialw58">TBlend</a> dst)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz366_5">setDstBlend</a> (<a class="el" href="a02839.html#NL3D_1_1CMaterialw58">TBlend</a> val)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz366_6">setSrcBlend</a> (<a class="el" href="a02839.html#NL3D_1_1CMaterialw58">TBlend</a> val)</td></tr>
+
+<tr><td colspan="2"><div class="groupHeader">Double sided.</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz370_0">getDoubleSided</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz370_1">setDoubleSided</a> (bool active)</td></tr>
+
+<tr><td colspan="2"><div class="groupHeader">LightMap. LightMap shader only.</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03487.html">ITexture</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz382_0">getLightMap</a> (<a class="el" href="a04558.html#a15">uint</a> lmapId) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the ith lightmap. (NULL if none). <a href="#NL3D_1_1CMaterialz382_0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz382_1">setLightMap</a> (<a class="el" href="a04558.html#a15">uint</a> lmapId, <a class="el" href="a03487.html">ITexture</a> *lmap)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the ith lightmap. undef results if holes in lightmap array. <a href="#NL3D_1_1CMaterialz382_1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz382_2">setLightMapColor</a> (<a class="el" href="a04558.html#a15">uint</a> lmapId, <a class="el" href="a03337.html">CRGBA</a> color)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the lightmap color (usefull in 8 bits format) (def : White). <a href="#NL3D_1_1CMaterialz382_2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz382_3">setLightMapFactor</a> (<a class="el" href="a04558.html#a15">uint</a> lmapId, <a class="el" href="a03337.html">CRGBA</a> factor)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the lightmap intensity. (def : White). <a href="#NL3D_1_1CMaterialz382_3"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz382_4">setLightMapMulx2</a> (bool val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the multiply x 2 mode to burn colors (used with lightmaps 8 bits) (def: false). <a href="#NL3D_1_1CMaterialz382_4"></a><br><br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Texture.</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03487.html">ITexture</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz364_0">getTexture</a> (<a class="el" href="a04558.html#a7">uint8</a> stage) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz364_1">setTexture</a> (<a class="el" href="a04558.html#a7">uint8</a> stage, <a class="el" href="a03487.html">ITexture</a> *ptex)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz364_2">texturePresent</a> (<a class="el" href="a04558.html#a7">uint8</a> stage) const </td></tr>
+
+<tr><td colspan="2"><div class="groupHeader">Texture UserColor. UserColor shader only.</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03337.html">CRGBA</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz380_0">getUserColor</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz380_1">setUserColor</a> (<a class="el" href="a03337.html">CRGBA</a> userColor)</td></tr>
+
+<tr><td colspan="2"><div class="groupHeader">ZBuffer.</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz374_0">getZBias</a> (void) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02839.html#NL3D_1_1CMaterialw71">ZFunc</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz374_1">getZFunc</a> (void) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz374_2">getZWrite</a> (void) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz374_3">setZBias</a> (float val)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz374_4">setZFunc</a> (<a class="el" href="a02839.html#NL3D_1_1CMaterialw71">ZFunc</a> val)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz374_5">setZWrite</a> (bool active)</td></tr>
+
+<tr><td colspan="2"><div class="groupHeader">Tools..</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz384_0">initLighted</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz384_1">initUnlit</a> ()</td></tr>
+
+<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz385_0">selectTextureSet</a> (<a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a566">index</a>)</td></tr>
+
+<tr><td colspan=2><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02839.html#NL3D_1_1CMaterialw67">TTexturePtrs</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialo0">_LightMaps</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialo1">_LightMapsMulx2</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a7">uint8</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialo2">_TexAddrMode</a> [<a class="el" href="a05363.html#a83">IDRV_MAT_MAXTEXTURES</a>]</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02842.html">CTexEnv</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialo3">_TexEnvs</a> [<a class="el" href="a05363.html#a83">IDRV_MAT_MAXTEXTURES</a>]</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03408.html">CSmartPtr</a>&lt; <a class="el" href="a03487.html">ITexture</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialo4">_Textures</a> [<a class="el" href="a05363.html#a83">IDRV_MAT_MAXTEXTURES</a>]</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a14">sint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02209.html#NLGEORGES_1_1UTypeo0">crefs</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>CPtrInfo *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02209.html#NLGEORGES_1_1UTypeo1">pinfo</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03321.html">CRefPtr</a>&lt; <a class="el" href="a03877.html">IShader</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialo7">pShader</a></td></tr>
+
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>CPtrInfo&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02209.html#NLGEORGES_1_1UTypes0">NullPtrInfo</a></td></tr>
+
+<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialr0">_AlphaTestThreshold</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03337.html">CRGBA</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialr1">_Ambient</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03337.html">CRGBA</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialr2">_Color</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03337.html">CRGBA</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialr3">_Diffuse</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02839.html#NL3D_1_1CMaterialw58">TBlend</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialr4">_DstBlend</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03337.html">CRGBA</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialr5">_Emissive</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02839.html#NL3D_1_1CMaterialw65">TShader</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialr7">_ShaderType</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialr8">_Shininess</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03337.html">CRGBA</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialr9">_Specular</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02839.html#NL3D_1_1CMaterialw58">TBlend</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialr10">_SrcBlend</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialr11">_StainedGlassWindow</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a9">uint16</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialr12">_TexCoordGenMode</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::auto_ptr&lt; <a class="el" href="a02845.html">CUserTexMat</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialr13">_TexUserMat</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialr15">_ZBias</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02839.html#NL3D_1_1CMaterialw71">ZFunc</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialr16">_ZFunction</a></td></tr>
+
+<tr><td colspan=2><br><h2>Friends</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02209.html#NLGEORGES_1_1UTypen0">CPtrInfo</a></td></tr>
+
+</table>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="NL3D_1_1CMaterialw67" doxytag="NL3D::CMaterial::TTexturePtrs" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef std::vector&lt;<a class="el" href="a02841.html">CLightMap</a>&gt; <a class="el" href="a02839.html#NL3D_1_1CMaterialw67">NL3D::CMaterial::TTexturePtrs</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00609">609</a> of file <a class="el" href="a05969.html">material.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Enumeration Documentation</h2>
+<a class="anchor" name="NL3D_1_1CMaterialw58" doxytag="NL3D::CMaterial::TBlend" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> enum <a class="el" href="a02839.html#NL3D_1_1CMaterialw58">NL3D::CMaterial::TBlend</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Blend enums. see <a class="el" href="a02839.html#NL3D_1_1CMaterialz366_6">setSrcBlend()</a>/setDstBlend()/setBlendFunc(). blendConstant* enums are only valid if dirver-&gt;supportBlendConstantColor(). <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a02434.html#NL3D_1_1IDriverz153_5">IDriver::supportBlendConstantColor()</a></dd></dl>
+<dl compact><dt><b>Enumeration values: </b></dt><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw58NL3D_1_1CMaterialw46" doxytag="one" ></a>one</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw58NL3D_1_1CMaterialw70" doxytag="zero" ></a>zero</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw58NL3D_1_1CMaterialw55" doxytag="srcalpha" ></a>srcalpha</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw58NL3D_1_1CMaterialw33" doxytag="invsrcalpha" ></a>invsrcalpha</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw58NL3D_1_1CMaterialw57" doxytag="srccolor" ></a>srccolor</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw58NL3D_1_1CMaterialw35" doxytag="invsrccolor" ></a>invsrccolor</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw58NL3D_1_1CMaterialw4" doxytag="blendConstantColor" ></a>blendConstantColor</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw58NL3D_1_1CMaterialw6" doxytag="blendConstantInvColor" ></a>blendConstantInvColor</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw58NL3D_1_1CMaterialw3" doxytag="blendConstantAlpha" ></a>blendConstantAlpha</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw58NL3D_1_1CMaterialw5" doxytag="blendConstantInvAlpha" ></a>blendConstantInvAlpha</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw58NL3D_1_1CMaterialw7" doxytag="blendCount" ></a>blendCount</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00129">129</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a05969.html#l00280">getDstBlend()</a>, and <a class="el" href="a05969.html#l00279">getSrcBlend()</a>.
+<p>
+<div class="fragment"><pre>00129 { <a class="code" href="a02839.html#NL3D_1_1CMaterialw58NL3D_1_1CMaterialw46">one</a>=0, <a class="code" href="a02839.html#NL3D_1_1CMaterialw58NL3D_1_1CMaterialw70">zero</a>, <a class="code" href="a02839.html#NL3D_1_1CMaterialw58NL3D_1_1CMaterialw55">srcalpha</a>, <a class="code" href="a02839.html#NL3D_1_1CMaterialw58NL3D_1_1CMaterialw33">invsrcalpha</a>, <a class="code" href="a02839.html#NL3D_1_1CMaterialw58NL3D_1_1CMaterialw57">srccolor</a>, <a class="code" href="a02839.html#NL3D_1_1CMaterialw58NL3D_1_1CMaterialw35">invsrccolor</a>,
+00130 <a class="code" href="a02839.html#NL3D_1_1CMaterialw58NL3D_1_1CMaterialw4">blendConstantColor</a>, <a class="code" href="a02839.html#NL3D_1_1CMaterialw58NL3D_1_1CMaterialw6">blendConstantInvColor</a>, <a class="code" href="a02839.html#NL3D_1_1CMaterialw58NL3D_1_1CMaterialw3">blendConstantAlpha</a>, <a class="code" href="a02839.html#NL3D_1_1CMaterialw58NL3D_1_1CMaterialw5">blendConstantInvAlpha</a>, <a class="code" href="a02839.html#NL3D_1_1CMaterialw58NL3D_1_1CMaterialw7">blendCount</a> };
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialw65" doxytag="NL3D::CMaterial::TShader" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> enum <a class="el" href="a02839.html#NL3D_1_1CMaterialw65">NL3D::CMaterial::TShader</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Normal shader:<ul>
+<li>use simple multitexturing. see texEnv*() methods. Bump:</li><li>not implemented yet. UserColor:</li><li>UserColor (see <a class="el" href="a02839.html#NL3D_1_1CMaterialz380_1">setUserColor()</a>) is blended with precomputed texture/textureAlpha.</li><li>Alpha Blending ignore Alpha of texture (of course :) ), but use Alpha diffuse (vertex/material color). LightMap:</li><li>Texture of stage 0 is blended with sum of lightmaps (see setLightmap()). Vertex Color (or color, or lighting) doesn't affect the final result (neither diffuse part nor specular part). Blending is special. If enabled, Lightmap shader apply a standard transparency srcalpha/invsrcalpha.</li><li>NB: if no texture in stage 0, undefined result.</li><li>UV0 is the UV for decal Texture. UV1 is the UVs for all the lightmaps. Specular:</li></ul>
+<p>
+Texture of stage 0 is added to the multiplication of Texture Alpha of stage 0 and Texture of stage 1<ul>
+<li>This is done in 2 passes PerPixelLighting :</li><li>When not supported by the driver, this is equivalent to the normal shader. This can be querried from the driver</li><li>When supported by the driver, the strongest light is rendered using per pixel lighting. The last tex coordinate must be the S vector of the tangent space basis (oriented in the direction where the s texture coords grows). Other lights are rendered using gouraud shaing. The light setup is done in the driver. PerPixelLighting : The same as PerPixelLighting but with no specular Caustics: NOT IMPLEMENTED Cloud :</li></ul>
+<p>
+Alpha of texture in stage 0 is blended with alpha of texture in stage 1. Blend done with the alpha color of each stage and the whole is multiplied by the alpha in color vertex [AT0*ADiffuseCol+AT1*(1-ADiffuseCol)]*AStage<ul>
+<li>RGB still unchanged</li></ul>
+<dl compact><dt><b>Enumeration values: </b></dt><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw65NL3D_1_1CMaterialw41" doxytag="Normal" ></a>Normal</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw65NL3D_1_1CMaterialw8" doxytag="Bump" ></a>Bump</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw65NL3D_1_1CMaterialw68" doxytag="UserColor" ></a>UserColor</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw65NL3D_1_1CMaterialw38" doxytag="LightMap" ></a>LightMap</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw65NL3D_1_1CMaterialw53" doxytag="Specular" ></a>Specular</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw65NL3D_1_1CMaterialw9" doxytag="Caustics" ></a>Caustics</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw65NL3D_1_1CMaterialw48" doxytag="PerPixelLighting" ></a>PerPixelLighting</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw65NL3D_1_1CMaterialw49" doxytag="PerPixelLightingNoSpec" ></a>PerPixelLightingNoSpec</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw65NL3D_1_1CMaterialw10" doxytag="Cloud" ></a>Cloud</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw65NL3D_1_1CMaterialw69" doxytag="Water" ></a>Water</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw65NL3D_1_1CMaterialw52" doxytag="shaderCount" ></a>shaderCount</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00161">161</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a05969.html#l00254">getShader()</a>.
+<p>
+<div class="fragment"><pre>00161 { <a class="code" href="a02839.html#NL3D_1_1CMaterialw65NL3D_1_1CMaterialw41">Normal</a>=0,
+00162 <a class="code" href="a02839.html#NL3D_1_1CMaterialw65NL3D_1_1CMaterialw8">Bump</a>,
+00163 <a class="code" href="a02839.html#NL3D_1_1CMaterialw65NL3D_1_1CMaterialw68">UserColor</a>,
+00164 <a class="code" href="a02839.html#NL3D_1_1CMaterialw65NL3D_1_1CMaterialw38">LightMap</a>,
+00165 <a class="code" href="a02839.html#NL3D_1_1CMaterialw65NL3D_1_1CMaterialw53">Specular</a>,
+00166 <a class="code" href="a02839.html#NL3D_1_1CMaterialw65NL3D_1_1CMaterialw9">Caustics</a>,
+00167 <a class="code" href="a02839.html#NL3D_1_1CMaterialw65NL3D_1_1CMaterialw48">PerPixelLighting</a>,
+00168 <a class="code" href="a02839.html#NL3D_1_1CMaterialw65NL3D_1_1CMaterialw49">PerPixelLightingNoSpec</a>,
+00169 <a class="code" href="a02839.html#NL3D_1_1CMaterialw65NL3D_1_1CMaterialw10">Cloud</a>,
+00170 <a class="code" href="a02839.html#NL3D_1_1CMaterialw65NL3D_1_1CMaterialw69">Water</a>,
+00171 <a class="code" href="a02839.html#NL3D_1_1CMaterialw65NL3D_1_1CMaterialw52">shaderCount</a>};
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz360_0" doxytag="NL3D::CMaterial::TTexAddressingMode" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> enum <a class="el" href="a02839.html#NL3D_1_1CMaterialz360_0">NL3D::CMaterial::TTexAddressingMode</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<dl compact><dt><b>Enumeration values: </b></dt><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw64" doxytag="TextureOff" ></a>TextureOff</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw25" doxytag="FetchTexture" ></a>FetchTexture</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw47" doxytag="PassThrough" ></a>PassThrough</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw12" doxytag="CullFragment" ></a>CullFragment</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw44" doxytag="OffsetTexture" ></a>OffsetTexture</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw45" doxytag="OffsetTextureScale" ></a>OffsetTextureScale</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw13" doxytag="DependentARTexture" ></a>DependentARTexture</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw14" doxytag="DependentGBTexture" ></a>DependentGBTexture</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw16" doxytag="DP3" ></a>DP3</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw22" doxytag="DP3Texture2D" ></a>DP3Texture2D</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw18" doxytag="DP3CubeMap" ></a>DP3CubeMap</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw21" doxytag="DP3ReflectCubeMap" ></a>DP3ReflectCubeMap</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw17" doxytag="DP3ConstEyeReflectCubeMap" ></a>DP3ConstEyeReflectCubeMap</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw20" doxytag="DP3DiffuseCubeMap" ></a>DP3DiffuseCubeMap</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw19" doxytag="DP3DepthReplace" ></a>DP3DepthReplace</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw59" doxytag="TexAddrCount" ></a>TexAddrCount</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00213">213</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a05968.html#l00515">getTexAddressingMode()</a>.
+<p>
+<div class="fragment"><pre>00213 {
+00214 <a class="code" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw64">TextureOff</a> = 0 <span class="comment">/* no texture */</span>, <a class="code" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw25">FetchTexture</a>, <a class="code" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw47">PassThrough</a>, <a class="code" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw12">CullFragment</a>,
+00215 <a class="code" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw44">OffsetTexture</a>, <a class="code" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw45">OffsetTextureScale</a>,
+00216 <a class="code" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw13">DependentARTexture</a>, <a class="code" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw14">DependentGBTexture</a>,
+00217 <a class="code" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw16">DP3</a>, <a class="code" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw22">DP3Texture2D</a>,
+00218 <a class="code" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw18">DP3CubeMap</a>, <a class="code" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw21">DP3ReflectCubeMap</a>, <a class="code" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw17">DP3ConstEyeReflectCubeMap</a>,
+00219 <a class="code" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw20">DP3DiffuseCubeMap</a>,
+00220 <a class="code" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw19">DP3DepthReplace</a>,
+00221 <a class="code" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw59">TexAddrCount</a>
+00222 };
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialw66" doxytag="NL3D::CMaterial::TTexCoordGenMode" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> enum <a class="el" href="a02839.html#NL3D_1_1CMaterialw66">NL3D::CMaterial::TTexCoordGenMode</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+TexGen Mode. TexCoordGenReflect: For Cube or Spherical EnvMapping. TexCoordGenObjectSpace: The UVW are generated from the XYZ defined in ObjectSpace (before transformation) TexCoordGenEyeSpace: The UVW are generated from the XYZ defined in EyeSpace (after ModelViewMatrix transformation) NB: use the TextureMatrix for more control on the wanted effect (eg: shadowMap projection etc...)<dl compact><dt><b>Enumeration values: </b></dt><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw66NL3D_1_1CMaterialw62" doxytag="TexCoordGenReflect" ></a>TexCoordGenReflect</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw66NL3D_1_1CMaterialw61" doxytag="TexCoordGenObjectSpace" ></a>TexCoordGenObjectSpace</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw66NL3D_1_1CMaterialw60" doxytag="TexCoordGenEyeSpace" ></a>TexCoordGenEyeSpace</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw66NL3D_1_1CMaterialw43" doxytag="numTexCoordGenMode" ></a>numTexCoordGenMode</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00231">231</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a05969.html#l00420">getTexCoordGenMode()</a>.
+<p>
+<div class="fragment"><pre>00231 {<a class="code" href="a02839.html#NL3D_1_1CMaterialw66NL3D_1_1CMaterialw62">TexCoordGenReflect</a>=0, <a class="code" href="a02839.html#NL3D_1_1CMaterialw66NL3D_1_1CMaterialw61">TexCoordGenObjectSpace</a>, <a class="code" href="a02839.html#NL3D_1_1CMaterialw66NL3D_1_1CMaterialw60">TexCoordGenEyeSpace</a>, <a class="code" href="a02839.html#NL3D_1_1CMaterialw66NL3D_1_1CMaterialw43">numTexCoordGenMode</a>};
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz358_0" doxytag="NL3D::CMaterial::TTexOperand" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> enum <a class="el" href="a02839.html#NL3D_1_1CMaterialz358_0">NL3D::CMaterial::TTexOperand</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Operand for the argument. For Alpha arguments, only SrcAlpha and InvSrcAlpha are Valid!! <br>
+ SrcColor: arg= ColorSource. InvSrcColor: arg= 1-ColorSource. SrcAlpha: arg= AlphaSource. InvSrcAlpha: arg= 1-AlphaSource.<dl compact><dt><b>Enumeration values: </b></dt><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz358_0NL3D_1_1CMaterialw56" doxytag="SrcColor" ></a>SrcColor</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz358_0NL3D_1_1CMaterialw34" doxytag="InvSrcColor" ></a>InvSrcColor</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz358_0NL3D_1_1CMaterialw54" doxytag="SrcAlpha" ></a>SrcAlpha</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz358_0NL3D_1_1CMaterialw32" doxytag="InvSrcAlpha" ></a>InvSrcAlpha</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00204">204</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+<div class="fragment"><pre>00204 { <a class="code" href="a02839.html#NL3D_1_1CMaterialz358_0NL3D_1_1CMaterialw56">SrcColor</a>=0, <a class="code" href="a02839.html#NL3D_1_1CMaterialz358_0NL3D_1_1CMaterialw34">InvSrcColor</a>, <a class="code" href="a02839.html#NL3D_1_1CMaterialz358_0NL3D_1_1CMaterialw54">SrcAlpha</a>, <a class="code" href="a02839.html#NL3D_1_1CMaterialz358_0NL3D_1_1CMaterialw32">InvSrcAlpha</a> };
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz358_1" doxytag="NL3D::CMaterial::TTexOperator" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> enum <a class="el" href="a02839.html#NL3D_1_1CMaterialz358_1">NL3D::CMaterial::TTexOperator</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Environements operators: Replace: out= arg0 Modulate: out= arg0 * arg1 Add: out= arg0 + arg1 AddSigned: out= arg0 + arg1 -0.5 Interpolate*: out= arg0*As + arg1*(1-As), where As is taken from the SrcAlpha of Texture/Previous/Diffuse/Constant, respectively if operator is InterpolateTexture/InterpolatePrevious/InterpolateDiffuse/InterpolateConstant. EMBM : apply to both color and alpha : the current texture, whose format is DSDT, is used to offset the texture in the next stage. NB : for EMBM, this must be supported by driver.<dl compact><dt><b>Enumeration values: </b></dt><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw51" doxytag="Replace" ></a>Replace</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw39" doxytag="Modulate" ></a>Modulate</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw0" doxytag="Add" ></a>Add</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw1" doxytag="AddSigned" ></a>AddSigned</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw31" doxytag="InterpolateTexture" ></a>InterpolateTexture</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw30" doxytag="InterpolatePrevious" ></a>InterpolatePrevious</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw29" doxytag="InterpolateDiffuse" ></a>InterpolateDiffuse</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw28" doxytag="InterpolateConstant" ></a>InterpolateConstant</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw23" doxytag="EMBM" ></a>EMBM</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00186">186</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+<div class="fragment"><pre>00186 { <a class="code" href="a02839.html#NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw51">Replace</a>=0, <a class="code" href="a02839.html#NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw39">Modulate</a>, <a class="code" href="a02839.html#NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw0">Add</a>, <a class="code" href="a02839.html#NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw1">AddSigned</a>,
+00187 <a class="code" href="a02839.html#NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw31">InterpolateTexture</a>, <a class="code" href="a02839.html#NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw30">InterpolatePrevious</a>, <a class="code" href="a02839.html#NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw29">InterpolateDiffuse</a>, <a class="code" href="a02839.html#NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw28">InterpolateConstant</a>, <a class="code" href="a02839.html#NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw23">EMBM</a> };
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz358_2" doxytag="NL3D::CMaterial::TTexSource" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> enum <a class="el" href="a02839.html#NL3D_1_1CMaterialz358_2">NL3D::CMaterial::TTexSource</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Source argument. Texture: the arg is taken from the current texture of the stage. Previous: the arg is taken from the previous enabled stage. If stage 0, Previous==Diffuse. Diffuse: the arg is taken from the primary color vertex. Constant: the arg is taken from the constant color setuped for this texture stage.<dl compact><dt><b>Enumeration values: </b></dt><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz358_2NL3D_1_1CMaterialw63" doxytag="Texture" ></a>Texture</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz358_2NL3D_1_1CMaterialw50" doxytag="Previous" ></a>Previous</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz358_2NL3D_1_1CMaterialw15" doxytag="Diffuse" ></a>Diffuse</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz358_2NL3D_1_1CMaterialw11" doxytag="Constant" ></a>Constant</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00195">195</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+<div class="fragment"><pre>00195 { <a class="code" href="a02839.html#NL3D_1_1CMaterialz358_2NL3D_1_1CMaterialw63">Texture</a>=0, <a class="code" href="a02839.html#NL3D_1_1CMaterialz358_2NL3D_1_1CMaterialw50">Previous</a>, <a class="code" href="a02839.html#NL3D_1_1CMaterialz358_2NL3D_1_1CMaterialw15">Diffuse</a>, <a class="code" href="a02839.html#NL3D_1_1CMaterialz358_2NL3D_1_1CMaterialw11">Constant</a> };
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialw71" doxytag="NL3D::CMaterial::ZFunc" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> enum <a class="el" href="a02839.html#NL3D_1_1CMaterialw71">NL3D::CMaterial::ZFunc</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<dl compact><dt><b>Enumeration values: </b></dt><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw71NL3D_1_1CMaterialw2" doxytag="always" ></a>always</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw71NL3D_1_1CMaterialw40" doxytag="never" ></a>never</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw71NL3D_1_1CMaterialw24" doxytag="equal" ></a>equal</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw71NL3D_1_1CMaterialw42" doxytag="notequal" ></a>notequal</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw71NL3D_1_1CMaterialw36" doxytag="less" ></a>less</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw71NL3D_1_1CMaterialw37" doxytag="lessequal" ></a>lessequal</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw71NL3D_1_1CMaterialw26" doxytag="greater" ></a>greater</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw71NL3D_1_1CMaterialw27" doxytag="greaterequal" ></a>greaterequal</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw71NL3D_1_1CMaterialw72" doxytag="zfuncCount" ></a>zfuncCount</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00123">123</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a05969.html#l00334">getZFunc()</a>.
+<p>
+<div class="fragment"><pre>00123 { <a class="code" href="a02839.html#NL3D_1_1CMaterialw71NL3D_1_1CMaterialw2">always</a>=0,<a class="code" href="a02839.html#NL3D_1_1CMaterialw71NL3D_1_1CMaterialw40">never</a>,<a class="code" href="a02839.html#NL3D_1_1CMaterialw71NL3D_1_1CMaterialw24">equal</a>,<a class="code" href="a02839.html#NL3D_1_1CMaterialw71NL3D_1_1CMaterialw42">notequal</a>,<a class="code" href="a02839.html#NL3D_1_1CMaterialw71NL3D_1_1CMaterialw36">less</a>,<a class="code" href="a02839.html#NL3D_1_1CMaterialw71NL3D_1_1CMaterialw37">lessequal</a>,<a class="code" href="a02839.html#NL3D_1_1CMaterialw71NL3D_1_1CMaterialw26">greater</a>,<a class="code" href="a02839.html#NL3D_1_1CMaterialw71NL3D_1_1CMaterialw27">greaterequal</a>, <a class="code" href="a02839.html#NL3D_1_1CMaterialw71NL3D_1_1CMaterialw72">zfuncCount</a> };
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="NL3D_1_1CMaterialz362_1" doxytag="NL3D::CMaterial::CMaterial" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NL3D::CMaterial::CMaterial </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ctor. By default, shader is normal, SrcBlend is srcalpha, dstblend is invsrcalpha, ZFunction is lessequal, ZBias is 0, Color is White: (255,255,255,255), not double sided.
+<p>
+Definition at line <a class="el" href="a05968.html#l00041">41</a> of file <a class="el" href="a05968.html">material.cpp</a>.
+<p>
+References <a class="el" href="a05969.html#l00576">_AlphaTestThreshold</a>, <a class="el" href="a05969.html#l00570">_DstBlend</a>, <a class="el" href="a05969.html#l00569">_Flags</a>, <a class="el" href="a05969.html#l00611">_LightMapsMulx2</a>, <a class="el" href="a05969.html#l00568">_ShaderType</a>, <a class="el" href="a05969.html#l00570">_SrcBlend</a>, <a class="el" href="a05969.html#l00578">_StainedGlassWindow</a>, <a class="el" href="a05969.html#l00580">_TexCoordGenMode</a>, <a class="el" href="a05969.html#l00577">_Touched</a>, <a class="el" href="a05969.html#l00572">_ZBias</a>, <a class="el" href="a05969.html#l00571">_ZFunction</a>, <a class="el" href="a05969.html#l00072">NL3D::IDRV_MAT_ZWRITE</a>, <a class="el" href="a02839.html#NL3D_1_1CMaterialw58NL3D_1_1CMaterialw33">invsrcalpha</a>, <a class="el" href="a02839.html#NL3D_1_1CMaterialw71NL3D_1_1CMaterialw37">lessequal</a>, <a class="el" href="a06339.html#l00066">NLMISC::CRGBA::set()</a>, and <a class="el" href="a02839.html#NL3D_1_1CMaterialw58NL3D_1_1CMaterialw55">srcalpha</a>.
+<p>
+<div class="fragment"><pre>00042 {
+00043 <a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>= 0;
+00044 <a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a>= <a class="code" href="a05363.html#a101">IDRV_MAT_ZWRITE</a>;
+00045 <span class="comment">// Must init All the flags by default.</span>
+00046 <a class="code" href="a02839.html#NL3D_1_1CMaterialr7">_ShaderType</a>= <a class="code" href="a02839.html#NL3D_1_1CMaterialw65NL3D_1_1CMaterialw41">Normal</a>;
+00047 <a class="code" href="a02839.html#NL3D_1_1CMaterialr10">_SrcBlend</a>= <a class="code" href="a02839.html#NL3D_1_1CMaterialw58NL3D_1_1CMaterialw55">srcalpha</a>;
+00048 <a class="code" href="a02839.html#NL3D_1_1CMaterialr4">_DstBlend</a>= <a class="code" href="a02839.html#NL3D_1_1CMaterialw58NL3D_1_1CMaterialw33">invsrcalpha</a>;
+00049 <a class="code" href="a02839.html#NL3D_1_1CMaterialr16">_ZFunction</a>= <a class="code" href="a02839.html#NL3D_1_1CMaterialw71NL3D_1_1CMaterialw37">lessequal</a>;
+00050 <a class="code" href="a02839.html#NL3D_1_1CMaterialr15">_ZBias</a>= 0;
+00051 <a class="code" href="a02839.html#NL3D_1_1CMaterialr2">_Color</a>.<a class="code" href="a03337.html#NLMISC_1_1CRGBAa14">set</a>(255,255,255,255);
+00052 <a class="code" href="a02839.html#NL3D_1_1CMaterialr11">_StainedGlassWindow</a> = <span class="keyword">false</span>;
+00053 <a class="code" href="a02839.html#NL3D_1_1CMaterialr0">_AlphaTestThreshold</a>= 0.5f;
+00054 <a class="code" href="a02839.html#NL3D_1_1CMaterialr12">_TexCoordGenMode</a>= 0;
+00055 <a class="code" href="a02839.html#NL3D_1_1CMaterialo1">_LightMapsMulx2</a>= <span class="keyword">false</span>;
+00056 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz362_0" doxytag="NL3D::CMaterial::CMaterial" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NL3D::CMaterial::CMaterial </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a02839.html">CMaterial</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>mat</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+see operator=.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00242">242</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00569">_Flags</a>, <a class="el" href="a05969.html#l00577">_Touched</a>, and <a class="el" href="a05968.html#l00083">operator=()</a>.
+<p>
+<div class="fragment"><pre>00242 {<a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>= 0;<a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a>=0; <a class="code" href="a02839.html#NL3D_1_1CMaterialz362_2">operator=</a>(mat);}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz362_3" doxytag="NL3D::CMaterial::~CMaterial" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NL3D::CMaterial::~<a class="el" href="a02839.html">CMaterial</a> </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+dtor.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05968.html#l00131">131</a> of file <a class="el" href="a05968.html">material.cpp</a>.
+<p>
+References <a class="el" href="a03321.html#NLMISC_1_1CRefPtra3">NLMISC::CRefPtr&lt; IShader &gt;::kill()</a>, and <a class="el" href="a05969.html#l00592">pShader</a>.
+<p>
+<div class="fragment"><pre>00132 {
+00133 <span class="comment">// Must kill the drv mirror of this material.</span>
+00134 <a class="code" href="a02839.html#NL3D_1_1CMaterialo7">pShader</a>.<a class="code" href="a03321.html#NLMISC_1_1CRefPtra3">kill</a>();
+00135 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NL3D_1_1CMateriala0" doxytag="NL3D::CMaterial::clearTouched" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::clearTouched </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>flag</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00616">616</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00577">_Touched</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a05648.html#l00257">NL3D::CDriverGL::setupMaterial()</a>.
+<p>
+<div class="fragment"><pre>00616 { <a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>&amp;=~flag; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz378_0" doxytag="NL3D::CMaterial::decompUserTexMat" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::decompUserTexMat </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>stage</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>uTrans</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>vTrans</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>wRot</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>uScale</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>vScale</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Decompose a user texture matrix, We assume that this is only a matrix for 2d texture.
+<p>
+find the rotation around w
+<p>
+Definition at line <a class="el" href="a05968.html#l00523">523</a> of file <a class="el" href="a05968.html">material.cpp</a>.
+<p>
+References <a class="el" href="a05969.html#l00585">_TexUserMat</a>, <a class="el" href="a05972.html#l00419">NLMISC::CMatrix::getI()</a>, <a class="el" href="a05972.html#l00427">NLMISC::CMatrix::getJ()</a>, <a class="el" href="a05972.html#l00435">NLMISC::CMatrix::getK()</a>, <a class="el" href="a05973.html#l00198">NLMISC::CMatrix::getPos()</a>, <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a05972.html#l00914">NLMISC::CMatrix::invert()</a>, <a class="el" href="a05641.html#l00362">isUserTexMatEnabled()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06682.html#l00115">NLMISC::CVector::norm()</a>, <a class="el" href="a06682.html#l00119">NLMISC::CVector::normalize()</a>, <a class="el" href="a05646.html#l00645">offset</a>, <a class="el" href="a05972.html#l00267">NLMISC::CMatrix::setPos()</a>, <a class="el" href="a05972.html#l00209">NLMISC::CMatrix::setRot()</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::x</a>, and <a class="el" href="a06673.html#l00051">NLMISC::CVector::y</a>.
+<p>
+Referenced by <a class="el" href="a05437.html#l00099">NL3D::CMaterialBase::copyFromMaterial()</a>.
+<p>
+<div class="fragment"><pre>00524 {
+00525 <a class="code" href="a04199.html#a6">nlassert</a>(stage &lt; IDRV_MAT_MAXTEXTURES);
+00526 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a02839.html#NL3D_1_1CMaterialz378_7">isUserTexMatEnabled</a>(stage)); <span class="comment">// must activate animated texture matrix for this stage</span>
+00527 CMatrix convMat; <span class="comment">// exported v are already inverted (todo: optim this...)</span>
+00528 convMat.setRot(CVector::I, -CVector::J, CVector::K);
+00529 convMat.setPos(CVector::J);
+00530
+00531 <span class="keyword">const</span> <a class="code" href="a02851.html">NLMISC::CMatrix</a> texMat = convMat * <a class="code" href="a02839.html#NL3D_1_1CMaterialr13">_TexUserMat</a>-&gt;TexMat[stage] * convMat;
+00533 <a class="code" href="a03128.html">NLMISC::CVector</a> i = texMat.<a class="code" href="a02851.html#NLMISC_1_1CMatrixz1963_2">getI</a>();
+00534 <a class="code" href="a03128.html">NLMISC::CVector</a> j = texMat.<a class="code" href="a02851.html#NLMISC_1_1CMatrixz1963_3">getJ</a>();
+00535 uScale = sqrtf(i.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a> * i.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a> + j.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a> * j.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a>);
+00536 vScale = sqrtf(i.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a> * i.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a> + j.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a> * j.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>);
+00537 <span class="comment">//</span>
+00538 i.<a class="code" href="a03128.html#NLMISC_1_1CVectorz2049_1">normalize</a>();
+00539 <span class="comment">// </span>
+00540 <span class="keywordtype">float</span> angle = acosf(i.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a> / i.<a class="code" href="a03128.html#NLMISC_1_1CVectorz2049_0">norm</a>());
+00541 <span class="keywordflow">if</span> (i.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a> &lt; 0)
+00542 {
+00543 angle = 2.f * (<span class="keywordtype">float</span>) NLMISC::Pi - angle;
+00544 }
+00545 wRot = angle;
+00546
+00547 <span class="comment">// compute position</span>
+00548 CMatrix InvSR;
+00549 InvSR.setRot(texMat.<a class="code" href="a02851.html#NLMISC_1_1CMatrixz1963_2">getI</a>(), texMat.<a class="code" href="a02851.html#NLMISC_1_1CMatrixz1963_3">getJ</a>(), texMat.<a class="code" href="a02851.html#NLMISC_1_1CMatrixz1963_4">getK</a>());
+00550 InvSR.invert();
+00551 CVector half(0.5f, 0.5f, 0.f);
+00552 CVector <a class="code" href="a04223.html#a586">offset</a> = half + InvSR * (texMat.<a class="code" href="a02851.html#NLMISC_1_1CMatrixz1963_6">getPos</a>() -half);
+00553 uTrans = - <a class="code" href="a04223.html#a586">offset</a>.x;
+00554 vTrans = - <a class="code" href="a04223.html#a586">offset</a>.y;
+00555 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz368_0" doxytag="NL3D::CMaterial::enableTexAddrMode" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::enableTexAddrMode </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>enable</em> = true </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+enable / disable the use of special texture addressing modes When enabled, all texture addressing modes are set to 'None'
+<p>
+Definition at line <a class="el" href="a05968.html#l00479">479</a> of file <a class="el" href="a05968.html">material.cpp</a>.
+<p>
+References <a class="el" href="a05969.html#l00569">_Flags</a>, <a class="el" href="a05969.html#l00590">_TexAddrMode</a>, <a class="el" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw25">FetchTexture</a>, <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a05969.html#l00080">NL3D::IDRV_MAT_TEX_ADDR</a>, <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+Referenced by <a class="el" href="a06257.html#l00812">NL3D::CPSMultiTexturedParticle::setupMultiTexEnv()</a>.
+<p>
+<div class="fragment"><pre>00480 {
+00481 <span class="keywordflow">if</span> (enable)
+00482 {
+00483 <span class="keywordflow">if</span> (!(<a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a> &amp; <a class="code" href="a05363.html#a109">IDRV_MAT_TEX_ADDR</a>))
+00484 {
+00485 <a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a> |= <a class="code" href="a05363.html#a109">IDRV_MAT_TEX_ADDR</a>;
+00486 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a11">uint32</a> k = 0; k &lt; <a class="code" href="a05363.html#a83">IDRV_MAT_MAXTEXTURES</a>; ++k)
+00487 {
+00488 <a class="code" href="a02839.html#NL3D_1_1CMaterialo2">_TexAddrMode</a>[k] = (<a class="code" href="a04558.html#a7">uint8</a>) <a class="code" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw25">FetchTexture</a>;
+00489 }
+00490 }
+00491 }
+00492 <span class="keywordflow">else</span>
+00493 {
+00494 <a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a> &amp;= ~<a class="code" href="a05363.html#a109">IDRV_MAT_TEX_ADDR</a>;
+00495 }
+00496 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz378_1" doxytag="NL3D::CMaterial::enableUserTexMat" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::enableUserTexMat </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>stage</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>enabled</em> = true</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Decompose a user texture matrix, We assume that this is only a matrix for 2d texture.
+<p>
+find the rotation around w
+<p>
+Definition at line <a class="el" href="a05641.html#l00337">337</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00569">_Flags</a>, <a class="el" href="a05969.html#l00585">_TexUserMat</a>, <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a05969.html#l00092">NL3D::IDRV_MAT_USER_TEX_0_MAT</a>, <a class="el" href="a05969.html#l00100">NL3D::IDRV_MAT_USER_TEX_MAT_ALL</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06372.html#l00059">NL3D::CShadowMapManager::CShadowMapManager()</a>, <a class="el" href="a05827.html#l00292">NL3D::CInstanceMaterialUser::enableUserTexMat()</a>, <a class="el" href="a06360.html#l00243">NL3D::CSegRemanenceShape::setupMaterial()</a>, <a class="el" href="a06250.html#l01729">NL3D::CPSConstraintMesh::setupRenderPasses()</a>, <a class="el" href="a06273.html#l01107">NL3D::CPSRibbon::setupTextureMatrix()</a>, and <a class="el" href="a06279.html#l00267">NL3D::CPSShockWave::setupUFactor()</a>.
+<p>
+<div class="fragment"><pre>00338 {
+00339 <a class="code" href="a04199.html#a6">nlassert</a>(stage &lt; IDRV_MAT_MAXTEXTURES);
+00340 <span class="keywordflow">if</span> (enabled)
+00341 {
+00342 <span class="keywordflow">if</span> (!(<a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a> &amp; <a class="code" href="a05363.html#a127">IDRV_MAT_USER_TEX_MAT_ALL</a>)) <span class="comment">// not usr tex mat setupped before?</span>
+00343 {
+00344 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a02839.html#NL3D_1_1CMaterialr13">_TexUserMat</a>.get() == NULL);
+00345 <a class="code" href="a02839.html#NL3D_1_1CMaterialr13">_TexUserMat</a>.reset(<span class="keyword">new</span> CUserTexMat);
+00346 }
+00347 <a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a> |= (<a class="code" href="a05363.html#a119">IDRV_MAT_USER_TEX_0_MAT</a> &lt;&lt; stage);
+00348 <a class="code" href="a02839.html#NL3D_1_1CMaterialr13">_TexUserMat</a>-&gt;TexMat[stage].identity();
+00349 }
+00350 <span class="keywordflow">else</span>
+00351 {
+00352 <span class="keywordflow">if</span> (!(<a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a> &amp; <a class="code" href="a05363.html#a127">IDRV_MAT_USER_TEX_MAT_ALL</a>)) <span class="keywordflow">return</span>; <span class="comment">// nothing to do</span>
+00353 <a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a> &amp;= ~(<a class="code" href="a05363.html#a119">IDRV_MAT_USER_TEX_0_MAT</a> &lt;&lt; stage); <span class="comment">// clear the stage flag</span>
+00354 <span class="keywordflow">if</span> (!(<a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a> &amp; <a class="code" href="a05363.html#a127">IDRV_MAT_USER_TEX_MAT_ALL</a>)) <span class="comment">// no more user textures used ?</span>
+00355 {
+00356 <a class="code" href="a02839.html#NL3D_1_1CMaterialr13">_TexUserMat</a>.reset();
+00357 }
+00358 }
+00359 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMateriala1" doxytag="NL3D::CMaterial::flushTextures" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::flushTextures </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02434.html">IDriver</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>driver</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>selectedTexture</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Flush textures. Force texture generation.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05968.html#l00355">355</a> of file <a class="el" href="a05968.html">material.cpp</a>.
+<p>
+References <a class="el" href="a05969.html#l00610">_LightMaps</a>, <a class="el" href="a05969.html#l00568">_ShaderType</a>, <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a02839.html#NL3D_1_1CMaterialw65NL3D_1_1CMaterialw38">LightMap</a>, <a class="el" href="a02434.html#NL3D_1_1IDrivera70">NL3D::IDriver::setupTexture()</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06360.html#l00144">NL3D::CSegRemanenceShape::flushTextures()</a>.
+<p>
+<div class="fragment"><pre>00356 {
+00357 <span class="comment">// For each textures</span>
+00358 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> tex=0; tex&lt;<a class="code" href="a05363.html#a83">IDRV_MAT_MAXTEXTURES</a>; tex++)
+00359 {
+00360 <span class="comment">// Texture exist ?</span>
+00361 <span class="keywordflow">if</span> (<a class="code" href="a02839.html#NL3D_1_1CMaterialo4">_Textures</a>[tex])
+00362 {
+00363 <span class="comment">// Select the good texture</span>
+00364 <a class="code" href="a02839.html#NL3D_1_1CMaterialo4">_Textures</a>[tex]-&gt;selectTexture (selectedTexture);
+00365
+00366 <span class="comment">// Force setup texture</span>
+00367 driver.setupTexture (*_Textures[tex]);
+00368 }
+00369 }
+00370
+00371 <span class="comment">// If Lightmap material</span>
+00372 <span class="keywordflow">if</span>(<a class="code" href="a02839.html#NL3D_1_1CMaterialr7">_ShaderType</a>==<a class="code" href="a02839.html#NL3D_1_1CMaterialw65NL3D_1_1CMaterialw38">LightMap</a>)
+00373 {
+00374 <span class="comment">// For each lightmap</span>
+00375 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> lmap=0; lmap&lt;<a class="code" href="a02839.html#NL3D_1_1CMaterialo0">_LightMaps</a>.size(); lmap++)
+00376 {
+00377 <span class="comment">// Texture exist?</span>
+00378 <span class="keywordflow">if</span>(<a class="code" href="a02839.html#NL3D_1_1CMaterialo0">_LightMaps</a>[lmap].Texture)
+00379 {
+00380 <span class="comment">// Force setup texture</span>
+00381 driver.setupTexture (*_LightMaps[lmap].Texture);
+00382 }
+00383 }
+00384 }
+00385
+00386 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz372_0" doxytag="NL3D::CMaterial::getAlphaTest" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CMaterial::getAlphaTest </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00314">314</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00569">_Flags</a>, and <a class="el" href="a05969.html#l00079">NL3D::IDRV_MAT_ALPHA_TEST</a>.
+<p>
+Referenced by <a class="el" href="a06768.html#l01820">NL3D::CZoneLighter::getTexture()</a>, <a class="el" href="a05995.html#l00037">NL3D::CMeshBlender::prepareRenderForGlobalAlpha()</a>, and <a class="el" href="a05995.html#l00099">NL3D::CMeshBlender::restoreRender()</a>.
+<p>
+<div class="fragment"><pre>00314 { <span class="keywordflow">return</span> (<a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a>&amp;<a class="code" href="a05363.html#a108">IDRV_MAT_ALPHA_TEST</a>)!=0; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz372_1" doxytag="NL3D::CMaterial::getAlphaTestThreshold" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float NL3D::CMaterial::getAlphaTestThreshold </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00320">320</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00576">_AlphaTestThreshold</a>.
+<p>
+Referenced by <a class="el" href="a06768.html#l01820">NL3D::CZoneLighter::getTexture()</a>, <a class="el" href="a05995.html#l00037">NL3D::CMeshBlender::prepareRenderForGlobalAlpha()</a>, and <a class="el" href="a05648.html#l00257">NL3D::CDriverGL::setupMaterial()</a>.
+<p>
+<div class="fragment"><pre>00320 { <span class="keywordflow">return</span> <a class="code" href="a02839.html#NL3D_1_1CMaterialr0">_AlphaTestThreshold</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz376_0" doxytag="NL3D::CMaterial::getAmbient" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03337.html">CRGBA</a> NL3D::CMaterial::getAmbient </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00378">378</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00653">NL3D::CRenderTrav::changeVPLightSetupMaterial()</a>, <a class="el" href="a05437.html#l00099">NL3D::CMaterialBase::copyFromMaterial()</a>, <a class="el" href="a05827.html#l00127">NL3D::CInstanceMaterialUser::getAmbient()</a>, and <a class="el" href="a05648.html#l00257">NL3D::CDriverGL::setupMaterial()</a>.
+<p>
+<div class="fragment"><pre>00378 { <span class="keywordflow">return</span> <a class="code" href="a02839.html#NL3D_1_1CMaterialr1">_Ambient</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz366_0" doxytag="NL3D::CMaterial::getBlend" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CMaterial::getBlend </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00278">278</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00569">_Flags</a>, and <a class="el" href="a05969.html#l00077">NL3D::IDRV_MAT_BLEND</a>.
+<p>
+Referenced by <a class="el" href="a05971.html#l00140">NL3D::CMaterialUser::getBlend()</a>, <a class="el" href="a05827.html#l00271">NL3D::CInstanceMaterialUser::getBlend()</a>, <a class="el" href="a06257.html#l00551">NL3D::CPSMaterial::getBlendingMode()</a>, <a class="el" href="a06768.html#l01820">NL3D::CZoneLighter::getTexture()</a>, <a class="el" href="a05995.html#l00037">NL3D::CMeshBlender::prepareRenderForGlobalAlpha()</a>, <a class="el" href="a06360.html#l00125">NL3D::CSegRemanenceShape::render()</a>, <a class="el" href="a05648.html#l00670">NL3D::CDriverGL::setupLightMapPass()</a>, and <a class="el" href="a06358.html#l00415">NL3D::CSegRemanence::updateOpacityFromShape()</a>.
+<p>
+<div class="fragment"><pre>00278 { <span class="keywordflow">return</span> (<a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a>&amp;<a class="code" href="a05363.html#a106">IDRV_MAT_BLEND</a>)!=0; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz376_1" doxytag="NL3D::CMaterial::getColor" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03337.html">CRGBA</a> NL3D::CMaterial::getColor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00376">376</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a05971.html#l00242">NL3D::CMaterialUser::getColor()</a>, <a class="el" href="a05827.html#l00163">NL3D::CInstanceMaterialUser::getColor()</a>, <a class="el" href="a05995.html#l00132">NL3D::CMeshBlender::prepareRenderForGlobalAlphaCoarseMesh()</a>, <a class="el" href="a05648.html#l01733">NL3D::CDriverGL::setupCloudPass()</a>, and <a class="el" href="a05648.html#l00257">NL3D::CDriverGL::setupMaterial()</a>.
+<p>
+<div class="fragment"><pre>00376 { <span class="keywordflow">return</span>(<a class="code" href="a02839.html#NL3D_1_1CMaterialr2">_Color</a>); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz376_2" doxytag="NL3D::CMaterial::getDiffuse" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03337.html">CRGBA</a> NL3D::CMaterial::getDiffuse </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return diffuse part. NB: A==opacity.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00380">380</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00653">NL3D::CRenderTrav::changeVPLightSetupMaterial()</a>, <a class="el" href="a05437.html#l00099">NL3D::CMaterialBase::copyFromMaterial()</a>, <a class="el" href="a05827.html#l00132">NL3D::CInstanceMaterialUser::getDiffuse()</a>, and <a class="el" href="a05648.html#l00257">NL3D::CDriverGL::setupMaterial()</a>.
+<p>
+<div class="fragment"><pre>00380 { <span class="keywordflow">return</span> <a class="code" href="a02839.html#NL3D_1_1CMaterialr3">_Diffuse</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz370_0" doxytag="NL3D::CMaterial::getDoubleSided" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CMaterial::getDoubleSided </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00308">308</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00569">_Flags</a>, and <a class="el" href="a05969.html#l00078">NL3D::IDRV_MAT_DOUBLE_SIDED</a>.
+<p>
+Referenced by <a class="el" href="a05971.html#l00256">NL3D::CMaterialUser::getDoubleSided()</a>, and <a class="el" href="a06768.html#l01820">NL3D::CZoneLighter::getTexture()</a>.
+<p>
+<div class="fragment"><pre>00308 { <span class="keywordflow">return</span> (<a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a>&amp;<a class="code" href="a05363.html#a107">IDRV_MAT_DOUBLE_SIDED</a>)!=0; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz366_1" doxytag="NL3D::CMaterial::getDstBlend" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02839.html#NL3D_1_1CMaterialw58">TBlend</a> NL3D::CMaterial::getDstBlend </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00280">280</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00570">_DstBlend</a>, and <a class="el" href="a05969.html#l00129">TBlend</a>.
+<p>
+Referenced by <a class="el" href="a06257.html#l00551">NL3D::CPSMaterial::getBlendingMode()</a>, <a class="el" href="a05971.html#l00150">NL3D::CMaterialUser::getDstBlend()</a>, <a class="el" href="a05827.html#l00281">NL3D::CInstanceMaterialUser::getDstBlend()</a>, <a class="el" href="a05995.html#l00037">NL3D::CMeshBlender::prepareRenderForGlobalAlpha()</a>, <a class="el" href="a05995.html#l00132">NL3D::CMeshBlender::prepareRenderForGlobalAlphaCoarseMesh()</a>, and <a class="el" href="a05648.html#l00257">NL3D::CDriverGL::setupMaterial()</a>.
+<p>
+<div class="fragment"><pre>00280 { <span class="keywordflow">return</span>(<a class="code" href="a02839.html#NL3D_1_1CMaterialr4">_DstBlend</a>); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz376_3" doxytag="NL3D::CMaterial::getEmissive" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03337.html">CRGBA</a> NL3D::CMaterial::getEmissive </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00377">377</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00653">NL3D::CRenderTrav::changeVPLightSetupMaterial()</a>, <a class="el" href="a05437.html#l00099">NL3D::CMaterialBase::copyFromMaterial()</a>, <a class="el" href="a05827.html#l00122">NL3D::CInstanceMaterialUser::getEmissive()</a>, and <a class="el" href="a05648.html#l00257">NL3D::CDriverGL::setupMaterial()</a>.
+<p>
+<div class="fragment"><pre>00377 { <span class="keywordflow">return</span> <a class="code" href="a02839.html#NL3D_1_1CMaterialr5">_Emissive</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMateriala2" doxytag="NL3D::CMaterial::getFlags" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> NL3D::CMaterial::getFlags </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00614">614</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00569">_Flags</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a05648.html#l00257">NL3D::CDriverGL::setupMaterial()</a>, and <a class="el" href="a05648.html#l00160">NL3D::CDriverGL::setupUserTextureMatrix()</a>.
+<p>
+<div class="fragment"><pre>00614 {<span class="keywordflow">return</span> <a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz376_4" doxytag="NL3D::CMaterial::getLightedVertexColor" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CMaterial::getLightedVertexColor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get the lighted vertex color flag.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05641.html#l00201">201</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00569">_Flags</a>, and <a class="el" href="a05969.html#l00081">NL3D::IDRV_MAT_LIGHTED_VERTEX_COLOR</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l01729">NL3D::CPSConstraintMesh::setupRenderPasses()</a>.
+<p>
+<div class="fragment"><pre>00202 {
+00203 <span class="keywordflow">return</span> (<a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a> &amp; <a class="code" href="a05363.html#a110">IDRV_MAT_LIGHTED_VERTEX_COLOR</a>) != 0;
+00204 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz382_0" doxytag="NL3D::CMaterial::getLightMap" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03487.html">ITexture</a> * NL3D::CMaterial::getLightMap </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>lmapId</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get the ith lightmap. (NULL if none).
+<p>
+
+<p>
+Definition at line <a class="el" href="a05968.html#l00401">401</a> of file <a class="el" href="a05968.html">material.cpp</a>.
+<p>
+References <a class="el" href="a05969.html#l00610">_LightMaps</a>, <a class="el" href="a05969.html#l00568">_ShaderType</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06378.html#l00134">NL3D::CShapeBank::processWaitingShapes()</a>, and <a class="el" href="a05457.html#l00231">NL3D::CAsyncFileManager3D::CMeshLoad::run()</a>.
+<p>
+<div class="fragment"><pre>00402 {
+00403 <a class="code" href="a04199.html#a6">nlassert</a>(_ShaderType==CMaterial::LightMap);
+00404 <span class="keywordflow">if</span>(lmapId&lt;<a class="code" href="a02839.html#NL3D_1_1CMaterialo0">_LightMaps</a>.size())
+00405 <span class="keywordflow">return</span> <a class="code" href="a02839.html#NL3D_1_1CMaterialo0">_LightMaps</a>[lmapId].Texture;
+00406 <span class="keywordflow">else</span>
+00407 <span class="keywordflow">return</span> NULL;
+00408 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz376_5" doxytag="NL3D::CMaterial::getOpacity" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a7">uint8</a> NL3D::CMaterial::getOpacity </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00381">381</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+References <a class="el" href="a06340.html#l00340">NLMISC::CRGBA::A</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+Referenced by <a class="el" href="a05827.html#l00137">NL3D::CInstanceMaterialUser::getOpacity()</a>, and <a class="el" href="a05995.html#l00037">NL3D::CMeshBlender::prepareRenderForGlobalAlpha()</a>.
+<p>
+<div class="fragment"><pre>00381 { <span class="keywordflow">return</span> <a class="code" href="a02839.html#NL3D_1_1CMaterialr3">_Diffuse</a>.<a class="code" href="a03337.html#NLMISC_1_1CRGBAo0">A</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLGEORGES_1_1UTypea8" doxytag="NL3D::CMaterial::getRefCount" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a04558.html#a14">sint</a>&amp; NLMISC::CRefCount::getRefCount </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06402.html#l00070">70</a> of file <a class="el" href="a06402.html">smart_ptr.h</a>.
+<p>
+References <a class="el" href="a06402.html#l00079">NLMISC::CRefCount::crefs</a>, and <a class="el" href="a05981.html#l00104">sint</a>.
+<p>
+<div class="fragment"><pre>00071 {
+00072 <span class="keywordflow">return</span> <a class="code" href="a02209.html#NLGEORGES_1_1UTypeo0">crefs</a>;
+00073 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMateriala4" doxytag="NL3D::CMaterial::getShader" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02839.html#NL3D_1_1CMaterialw65">TShader</a> NL3D::CMaterial::getShader </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the current material shadertype.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00254">254</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00568">_ShaderType</a>, and <a class="el" href="a05969.html#l00161">TShader</a>.
+<p>
+Referenced by <a class="el" href="a05648.html#l01726">NL3D::CDriverGL::beginCloudMultiPass()</a>, <a class="el" href="a05648.html#l01866">NL3D::CDriverGL::beginWaterMultiPass()</a>, <a class="el" href="a05648.html#l01859">NL3D::CDriverGL::endCloudMultiPass()</a>, <a class="el" href="a05648.html#l02179">NL3D::CDriverGL::endWaterMultiPass()</a>, <a class="el" href="a05827.html#l00080">NL3D::CInstanceMaterialUser::isUserColor()</a>, <a class="el" href="a06378.html#l00134">NL3D::CShapeBank::processWaitingShapes()</a>, <a class="el" href="a06011.html#l00795">NL3D::CMeshMRMSkinnedGeom::renderSkinGroupPrimitives()</a>, <a class="el" href="a06005.html#l01406">NL3D::CMeshMRMGeom::renderSkinGroupPrimitives()</a>, <a class="el" href="a05457.html#l00231">NL3D::CAsyncFileManager3D::CMeshLoad::run()</a>, <a class="el" href="a05648.html#l01733">NL3D::CDriverGL::setupCloudPass()</a>, <a class="el" href="a06022.html#l00544">NL3D::CMeshVPPerPixelLight::setupForMaterial()</a>, <a class="el" href="a05648.html#l00257">NL3D::CDriverGL::setupMaterial()</a>, <a class="el" href="a06250.html#l01696">NL3D::CPSConstraintMesh::setupMaterialColor()</a>, and <a class="el" href="a05648.html#l02155">NL3D::CDriverGL::setupWaterPass()</a>.
+<p>
+<div class="fragment"><pre>00254 {<span class="keywordflow">return</span> <a class="code" href="a02839.html#NL3D_1_1CMaterialr7">_ShaderType</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz376_6" doxytag="NL3D::CMaterial::getShininess" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float NL3D::CMaterial::getShininess </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00383">383</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00653">NL3D::CRenderTrav::changeVPLightSetupMaterial()</a>, <a class="el" href="a05437.html#l00099">NL3D::CMaterialBase::copyFromMaterial()</a>, <a class="el" href="a05827.html#l00147">NL3D::CInstanceMaterialUser::getShininess()</a>, <a class="el" href="a06022.html#l00544">NL3D::CMeshVPPerPixelLight::setupForMaterial()</a>, <a class="el" href="a05648.html#l00257">NL3D::CDriverGL::setupMaterial()</a>, and <a class="el" href="a05648.html#l01376">NL3D::CDriverGL::setupPPLPass()</a>.
+<p>
+<div class="fragment"><pre>00383 { <span class="keywordflow">return</span> <a class="code" href="a02839.html#NL3D_1_1CMaterialr8">_Shininess</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz376_7" doxytag="NL3D::CMaterial::getSpecular" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03337.html">CRGBA</a> NL3D::CMaterial::getSpecular </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00382">382</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00653">NL3D::CRenderTrav::changeVPLightSetupMaterial()</a>, <a class="el" href="a05437.html#l00099">NL3D::CMaterialBase::copyFromMaterial()</a>, <a class="el" href="a05827.html#l00142">NL3D::CInstanceMaterialUser::getSpecular()</a>, and <a class="el" href="a05648.html#l00257">NL3D::CDriverGL::setupMaterial()</a>.
+<p>
+<div class="fragment"><pre>00382 { <span class="keywordflow">return</span> <a class="code" href="a02839.html#NL3D_1_1CMaterialr9">_Specular</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz366_2" doxytag="NL3D::CMaterial::getSrcBlend" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02839.html#NL3D_1_1CMaterialw58">TBlend</a> NL3D::CMaterial::getSrcBlend </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00279">279</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00570">_SrcBlend</a>, and <a class="el" href="a05969.html#l00129">TBlend</a>.
+<p>
+Referenced by <a class="el" href="a06257.html#l00551">NL3D::CPSMaterial::getBlendingMode()</a>, <a class="el" href="a05971.html#l00145">NL3D::CMaterialUser::getSrcBlend()</a>, <a class="el" href="a05827.html#l00276">NL3D::CInstanceMaterialUser::getSrcBlend()</a>, <a class="el" href="a05995.html#l00037">NL3D::CMeshBlender::prepareRenderForGlobalAlpha()</a>, <a class="el" href="a05995.html#l00132">NL3D::CMeshBlender::prepareRenderForGlobalAlphaCoarseMesh()</a>, and <a class="el" href="a05648.html#l00257">NL3D::CDriverGL::setupMaterial()</a>.
+<p>
+<div class="fragment"><pre>00279 { <span class="keywordflow">return</span>(<a class="code" href="a02839.html#NL3D_1_1CMaterialr10">_SrcBlend</a>); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMateriala5" doxytag="NL3D::CMaterial::getStainedGlassWindow" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CMaterial::getStainedGlassWindow </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00480">480</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00578">_StainedGlassWindow</a>.
+<p>
+<div class="fragment"><pre>00480 { <span class="keywordflow">return</span> <a class="code" href="a02839.html#NL3D_1_1CMaterialr11">_StainedGlassWindow</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz368_1" doxytag="NL3D::CMaterial::getTexAddressingMode" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02839.html#NL3D_1_1CMaterialz360_0">CMaterial::TTexAddressingMode</a> NL3D::CMaterial::getTexAddressingMode </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a7">uint8</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>stage</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get the texture addressing mode for the given stage.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05968.html#l00515">515</a> of file <a class="el" href="a05968.html">material.cpp</a>.
+<p>
+References <a class="el" href="a05969.html#l00569">_Flags</a>, <a class="el" href="a05969.html#l00590">_TexAddrMode</a>, <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a05969.html#l00080">NL3D::IDRV_MAT_TEX_ADDR</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05969.html#l00213">TTexAddressingMode</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+<div class="fragment"><pre>00516 {
+00517 <a class="code" href="a04199.html#a6">nlassert</a>(_Flags &amp; IDRV_MAT_TEX_ADDR);
+00518 <a class="code" href="a04199.html#a6">nlassert</a>(stage &lt; IDRV_MAT_MAXTEXTURES);
+00519 <span class="keywordflow">return</span> (<a class="code" href="a02839.html#NL3D_1_1CMaterialz360_0">TTexAddressingMode</a>) <a class="code" href="a02839.html#NL3D_1_1CMaterialo2">_TexAddrMode</a>[stage];
+00520 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz378_2" doxytag="NL3D::CMaterial::getTexConstantColor" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03337.html">CRGBA</a> NL3D::CMaterial::getTexConstantColor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>stage</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Decompose a user texture matrix, We assume that this is only a matrix for 2d texture.
+<p>
+find the rotation around w
+<p>
+Definition at line <a class="el" href="a05641.html#l00291">291</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00568">_ShaderType</a>, <a class="el" href="a05969.html#l00591">_TexEnvs</a>, <a class="el" href="a05969.html#l00520">NL3D::CMaterial::CTexEnv::ConstantColor</a>, <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05827.html#l00201">NL3D::CInstanceMaterialUser::getConstantColor()</a>.
+<p>
+<div class="fragment"><pre>00292 {
+00293 <a class="code" href="a04199.html#a6">nlassert</a>(_ShaderType==CMaterial::Normal);
+00294 <a class="code" href="a04199.html#a6">nlassert</a>(stage&lt;IDRV_MAT_MAXTEXTURES);
+00295 <span class="keywordflow">return</span> <a class="code" href="a02839.html#NL3D_1_1CMaterialo3">_TexEnvs</a>[stage].<a class="code" href="a02842.html#NL3D_1_1CMaterial_1_1CTexEnvo0">ConstantColor</a>;
+00296 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz378_3" doxytag="NL3D::CMaterial::getTexCoordGen" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CMaterial::getTexCoordGen </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>stage</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Decompose a user texture matrix, We assume that this is only a matrix for 2d texture.
+<p>
+find the rotation around w
+<p>
+Definition at line <a class="el" href="a05641.html#l00298">298</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00569">_Flags</a>, <a class="el" href="a05969.html#l00083">NL3D::IDRV_MAT_GEN_TEX_0</a>, <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05648.html#l00117">NL3D::CDriverGL::setTextureEnvFunction()</a>.
+<p>
+<div class="fragment"><pre>00299 {
+00300 <a class="code" href="a04199.html#a6">nlassert</a>(stage&lt;IDRV_MAT_MAXTEXTURES);
+00301 <span class="keywordflow">return</span> (<a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a>&amp;(<a class="code" href="a05363.html#a111">IDRV_MAT_GEN_TEX_0</a>&lt;&lt;stage))!=0;
+00302 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz378_4" doxytag="NL3D::CMaterial::getTexCoordGenMode" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02839.html#NL3D_1_1CMaterialw66">TTexCoordGenMode</a> NL3D::CMaterial::getTexCoordGenMode </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>stage</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Decompose a user texture matrix, We assume that this is only a matrix for 2d texture.
+<p>
+find the rotation around w
+<p>
+Definition at line <a class="el" href="a05969.html#l00420">420</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00580">_TexCoordGenMode</a>, <a class="el" href="a05969.html#l00106">NL3D::IDRV_MAT_TEX_GEN_MASK</a>, <a class="el" href="a05969.html#l00105">NL3D::IDRV_MAT_TEX_GEN_SHIFT</a>, <a class="el" href="a05969.html#l00231">TTexCoordGenMode</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05648.html#l00117">NL3D::CDriverGL::setTextureEnvFunction()</a>.
+<p>
+<div class="fragment"><pre>00420 {<span class="keywordflow">return</span> (<a class="code" href="a02839.html#NL3D_1_1CMaterialw66">TTexCoordGenMode</a>)((<a class="code" href="a02839.html#NL3D_1_1CMaterialr12">_TexCoordGenMode</a> &gt;&gt; (stage*<a class="code" href="a05363.html#a129">IDRV_MAT_TEX_GEN_SHIFT</a>))&amp;<a class="code" href="a05363.html#a130">IDRV_MAT_TEX_GEN_MASK</a>);}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz378_5" doxytag="NL3D::CMaterial::getTexEnvMode" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> NL3D::CMaterial::getTexEnvMode </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>stage</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+For push/pop only, get the packed version of the environnment mode.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05641.html#l00277">277</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00568">_ShaderType</a>, <a class="el" href="a05969.html#l00591">_TexEnvs</a>, <a class="el" href="a05969.html#l00504">NL3D::CMaterial::CTexEnv::EnvPacked</a>, <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a05862.html#l00939">NL3D::CLandscape::render()</a>, and <a class="el" href="a06250.html#l01696">NL3D::CPSConstraintMesh::setupMaterialColor()</a>.
+<p>
+<div class="fragment"><pre>00278 {
+00279 <a class="code" href="a04199.html#a6">nlassert</a>(_ShaderType==CMaterial::Normal);
+00280 <a class="code" href="a04199.html#a6">nlassert</a>(stage&lt;IDRV_MAT_MAXTEXTURES);
+00281 <span class="keywordflow">return</span> <a class="code" href="a02839.html#NL3D_1_1CMaterialo3">_TexEnvs</a>[stage].<a class="code" href="a02842.html#NL3D_1_1CMaterial_1_1CTexEnvo2">EnvPacked</a>;
+00282 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz364_0" doxytag="NL3D::CMaterial::getTexture" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03487.html">ITexture</a> * NL3D::CMaterial::getTexture </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a7">uint8</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>stage</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05641.html#l00046">46</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+Referenced by <a class="el" href="a05648.html#l01035">NL3D::CDriverGL::beginSpecularMultiPass()</a>, <a class="el" href="a05567.html#l00070">NL3D::CCoarseMeshBuild::buildBitmap()</a>, <a class="el" href="a05722.html#l00088">NL3D::CFontManager::computeString()</a>, <a class="el" href="a05722.html#l00229">NL3D::CFontManager::computeStringInfo()</a>, <a class="el" href="a06257.html#l00573">NL3D::CPSMaterial::forceModulateConstantColor()</a>, <a class="el" href="a06257.html#l00598">NL3D::CPSMaterial::forceTexturedMaterialStages()</a>, <a class="el" href="a05827.html#l00224">NL3D::CInstanceMaterialUser::getLastTextureStage()</a>, <a class="el" href="a06768.html#l01820">NL3D::CZoneLighter::getTexture()</a>, <a class="el" href="a05826.html#l00050">NL3D::CInstanceMaterialUser::getTextureFileName()</a>, <a class="el" href="a05826.html#l00038">NL3D::CInstanceMaterialUser::isTextureFile()</a>, <a class="el" href="a06378.html#l00134">NL3D::CShapeBank::processWaitingShapes()</a>, <a class="el" href="a05567.html#l00430">NL3D::CCoarseMeshBuild::remapCoordinates()</a>, <a class="el" href="a06358.html#l00141">NL3D::CSegRemanence::render()</a>, <a class="el" href="a06011.html#l00795">NL3D::CMeshMRMSkinnedGeom::renderSkinGroupPrimitives()</a>, <a class="el" href="a06005.html#l01406">NL3D::CMeshMRMGeom::renderSkinGroupPrimitives()</a>, <a class="el" href="a05457.html#l00231">NL3D::CAsyncFileManager3D::CMeshLoad::run()</a>, <a class="el" href="a05993.html#l00268">NL3D::CMeshBaseInstance::selectTextureSet()</a>, <a class="el" href="a05648.html#l00117">NL3D::CDriverGL::setTextureEnvFunction()</a>, <a class="el" href="a05826.html#l00074">NL3D::CInstanceMaterialUser::setTextureFileName()</a>, <a class="el" href="a05648.html#l01733">NL3D::CDriverGL::setupCloudPass()</a>, <a class="el" href="a05648.html#l00670">NL3D::CDriverGL::setupLightMapPass()</a>, <a class="el" href="a06360.html#l00243">NL3D::CSegRemanenceShape::setupMaterial()</a>, <a class="el" href="a05648.html#l00257">NL3D::CDriverGL::setupMaterial()</a>, <a class="el" href="a05648.html#l01561">NL3D::CDriverGL::setupPPLNoSpecPass()</a>, <a class="el" href="a05648.html#l01376">NL3D::CDriverGL::setupPPLPass()</a>, <a class="el" href="a06250.html#l01729">NL3D::CPSConstraintMesh::setupRenderPasses()</a>, <a class="el" href="a05648.html#l01067">NL3D::CDriverGL::setupSpecularPass()</a>, <a class="el" href="a05648.html#l01956">NL3D::CDriverGL::setupWaterPassARB()</a>, <a class="el" href="a05648.html#l02064">NL3D::CDriverGL::setupWaterPassNV20()</a>, and <a class="el" href="a05648.html#l01876">NL3D::CDriverGL::setupWaterPassR200()</a>.
+<p>
+<div class="fragment"><pre>00047 {
+00048 <a class="code" href="a04199.html#a6">nlassert</a>(n&lt;IDRV_MAT_MAXTEXTURES);
+00049 <span class="keywordflow">return</span>(<a class="code" href="a02839.html#NL3D_1_1CMaterialo4">_Textures</a>[n]);
+00050 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMateriala6" doxytag="NL3D::CMaterial::getTouched" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> NL3D::CMaterial::getTouched </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00615">615</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00577">_Touched</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a05648.html#l00257">NL3D::CDriverGL::setupMaterial()</a>.
+<p>
+<div class="fragment"><pre>00615 { <span class="keywordflow">return</span>(<a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz380_0" doxytag="NL3D::CMaterial::getUserColor" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03337.html">CRGBA</a> NL3D::CMaterial::getUserColor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05641.html#l00329">329</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00568">_ShaderType</a>, <a class="el" href="a05969.html#l00591">_TexEnvs</a>, <a class="el" href="a05969.html#l00520">NL3D::CMaterial::CTexEnv::ConstantColor</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+Referenced by <a class="el" href="a05827.html#l00179">NL3D::CInstanceMaterialUser::getUserColor()</a>.
+<p>
+<div class="fragment"><pre>00330 {
+00331 <a class="code" href="a04199.html#a6">nlassert</a>(_ShaderType==CMaterial::UserColor);
+00332 <span class="comment">// setup stage 0 constant color (don't use getTexConstantColor() because of assert).</span>
+00333 <span class="keywordflow">return</span> <a class="code" href="a02839.html#NL3D_1_1CMaterialo3">_TexEnvs</a>[0].<a class="code" href="a02842.html#NL3D_1_1CMaterial_1_1CTexEnvo0">ConstantColor</a>;
+00334 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz378_6" doxytag="NL3D::CMaterial::getUserTexMat" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp; NL3D::CMaterial::getUserTexMat </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>stage</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get a const ref. on the texture matrix of the n-th stage. User texture matrix must be enabled for that stage, otherwise an assertion is raised.
+<p>
+Definition at line <a class="el" href="a05641.html#l00377">377</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00585">_TexUserMat</a>, <a class="el" href="a05641.html#l00362">isUserTexMatEnabled()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05827.html#l00326">NL3D::CInstanceMaterialUser::getUserTexMat()</a>, and <a class="el" href="a05648.html#l00160">NL3D::CDriverGL::setupUserTextureMatrix()</a>.
+<p>
+<div class="fragment"><pre>00378 {
+00379 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a02839.html#NL3D_1_1CMaterialz378_7">isUserTexMatEnabled</a>(stage));
+00380 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a02839.html#NL3D_1_1CMaterialr13">_TexUserMat</a>.get() != NULL);
+00381 <span class="keywordflow">return</span> <a class="code" href="a02839.html#NL3D_1_1CMaterialr13">_TexUserMat</a>-&gt;TexMat[stage];
+00382 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz374_0" doxytag="NL3D::CMaterial::getZBias" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float NL3D::CMaterial::getZBias </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00336">336</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00572">_ZBias</a>.
+<p>
+Referenced by <a class="el" href="a05971.html#l00225">NL3D::CMaterialUser::getZBias()</a>, and <a class="el" href="a05648.html#l00257">NL3D::CDriverGL::setupMaterial()</a>.
+<p>
+<div class="fragment"><pre>00336 { <span class="keywordflow">return</span>(<a class="code" href="a02839.html#NL3D_1_1CMaterialr15">_ZBias</a>); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz374_1" doxytag="NL3D::CMaterial::getZFunc" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02839.html#NL3D_1_1CMaterialw71">ZFunc</a> NL3D::CMaterial::getZFunc </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00334">334</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00571">_ZFunction</a>, and <a class="el" href="a05969.html#l00123">ZFunc</a>.
+<p>
+Referenced by <a class="el" href="a05971.html#l00215">NL3D::CMaterialUser::getZFunc()</a>, <a class="el" href="a06257.html#l00514">NL3D::CPSMaterial::isZTestEnabled()</a>, and <a class="el" href="a05648.html#l00257">NL3D::CDriverGL::setupMaterial()</a>.
+<p>
+<div class="fragment"><pre>00334 { <span class="keywordflow">return</span>(<a class="code" href="a02839.html#NL3D_1_1CMaterialr16">_ZFunction</a>); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz374_2" doxytag="NL3D::CMaterial::getZWrite" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CMaterial::getZWrite </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00335">335</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00569">_Flags</a>, and <a class="el" href="a05969.html#l00072">NL3D::IDRV_MAT_ZWRITE</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l00480">NL3D::CheckForOpaqueAndTransparentFacesInMesh()</a>, <a class="el" href="a06250.html#l01802">NL3D::CPSConstraintMesh::doRenderPasses()</a>, <a class="el" href="a05971.html#l00220">NL3D::CMaterialUser::getZWrite()</a>, <a class="el" href="a05995.html#l00037">NL3D::CMeshBlender::prepareRenderForGlobalAlpha()</a>, and <a class="el" href="a06250.html#l01729">NL3D::CPSConstraintMesh::setupRenderPasses()</a>.
+<p>
+<div class="fragment"><pre>00335 { <span class="keywordflow">return</span> (<a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a>&amp;<a class="code" href="a05363.html#a101">IDRV_MAT_ZWRITE</a>)!=0; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz384_0" doxytag="NL3D::CMaterial::initLighted" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::initLighted </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Init the material as default white lighted material. normal shader, lighting .... Default to: normal shader, full black lighting, no texture, ZBias=0, ZFunc= lessequal, ZWrite==true, no blend. All other states are undefined (such as blend function, since blend is disabled).
+<p>
+Definition at line <a class="el" href="a05968.html#l00075">75</a> of file <a class="el" href="a05968.html">material.cpp</a>.
+<p>
+References <a class="el" href="a05968.html#l00059">initUnlit()</a>, and <a class="el" href="a05641.html#l00127">setLighting()</a>.
+<p>
+<div class="fragment"><pre>00076 {
+00077 <a class="code" href="a02839.html#NL3D_1_1CMaterialz384_1">initUnlit</a>();
+00078 <a class="code" href="a02839.html#NL3D_1_1CMaterialz376_15">setLighting</a>(<span class="keyword">true</span>);
+00079 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz384_1" doxytag="NL3D::CMaterial::initUnlit" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::initUnlit </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Init the material as unlit. normal shader, no lighting .... Default to: normal shader, no lighting, color to White(1,1,1,1), no texture, ZBias=0, ZFunc= lessequal, ZWrite==true, no blend. All other states are undefined (such as blend function, since blend is disabled).
+<p>
+Definition at line <a class="el" href="a05968.html#l00059">59</a> of file <a class="el" href="a05968.html">material.cpp</a>.
+<p>
+References <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a02839.html#NL3D_1_1CMaterialw71NL3D_1_1CMaterialw37">lessequal</a>, <a class="el" href="a05641.html#l00085">setAlphaTestThreshold()</a>, <a class="el" href="a05641.html#l00064">setBlend()</a>, <a class="el" href="a05641.html#l00118">setColor()</a>, <a class="el" href="a05641.html#l00127">setLighting()</a>, <a class="el" href="a05968.html#l00282">setShader()</a>, <a class="el" href="a05968.html#l00322">setTexture()</a>, <a class="el" href="a05641.html#l00112">setZBias()</a>, <a class="el" href="a05641.html#l00099">setZFunc()</a>, <a class="el" href="a05641.html#l00105">setZWrite()</a>, <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+Referenced by <a class="el" href="a05559.html#l00217">NL3D::CCloudScape::CCloudScape()</a>, <a class="el" href="a05935.html#l00068">NL3D::CLodCharacterManager::CLodCharacterManager()</a>, <a class="el" href="a05971.html#l00060">NL3D::CMaterialUser::CMaterialUser()</a>, <a class="el" href="a06372.html#l00059">NL3D::CShadowMapManager::CShadowMapManager()</a>, <a class="el" href="a06698.html#l00058">NL3D::CVegetableManager::CVegetableManager()</a>, <a class="el" href="a05557.html#l00328">NL3D::CCloud::disp()</a>, <a class="el" href="a06350.html#l01224">NL3D::CInstanceGroup::displayDebugClusters()</a>, <a class="el" href="a06725.html#l00612">NL3D::CVisualCollisionEntity::displayDebugGrid()</a>, <a class="el" href="a05660.html#l00136">NL3D::CDRU::drawBitmap()</a>, <a class="el" href="a05660.html#l00173">NL3D::CDRU::drawLine()</a>, <a class="el" href="a05660.html#l00241">NL3D::CDRU::drawQuad()</a>, <a class="el" href="a05660.html#l00206">NL3D::CDRU::drawTriangle()</a>, <a class="el" href="a05722.html#l00049">NL3D::CFontManager::getFontMaterial()</a>, <a class="el" href="a06103.html#l00055">NL3D::CNoise3d::init()</a>, <a class="el" href="a05862.html#l00288">NL3D::CLandscape::init()</a>, <a class="el" href="a05968.html#l00075">initLighted()</a>, <a class="el" href="a05971.html#l00269">NL3D::CMaterialUser::initUnlit()</a>, <a class="el" href="a05559.html#l00051">NL3D::SCloudTexture3D::SCloudTexture3D()</a>, and <a class="el" href="a05559.html#l00126">NL3D::SCloudTextureClamp::SCloudTextureClamp()</a>.
+<p>
+<div class="fragment"><pre>00060 {
+00061 <a class="code" href="a02839.html#NL3D_1_1CMateriala8">setShader</a>(Normal);
+00062 <a class="code" href="a02839.html#NL3D_1_1CMaterialz376_15">setLighting</a>(<span class="keyword">false</span>);
+00063 <a class="code" href="a02839.html#NL3D_1_1CMaterialz376_11">setColor</a>(<a class="code" href="a03337.html">CRGBA</a>(255,255,255,255));
+00064 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a11">uint32</a> i=0;i&lt;<a class="code" href="a05363.html#a83">IDRV_MAT_MAXTEXTURES</a>;i++)
+00065 <a class="code" href="a02839.html#NL3D_1_1CMaterialz364_1">setTexture</a>((<a class="code" href="a04558.html#a7">uint8</a>)i ,NULL);
+00066 <a class="code" href="a02839.html#NL3D_1_1CMaterialz374_3">setZBias</a>(0);
+00067 <a class="code" href="a02839.html#NL3D_1_1CMaterialz374_4">setZFunc</a>(lessequal);
+00068 <a class="code" href="a02839.html#NL3D_1_1CMaterialz374_5">setZWrite</a>(<span class="keyword">true</span>);
+00069 <a class="code" href="a02839.html#NL3D_1_1CMaterialz366_3">setBlend</a>(<span class="keyword">false</span>);
+00070 <a class="code" href="a02839.html#NL3D_1_1CMaterialz372_3">setAlphaTestThreshold</a>(0.5f);
+00071 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz376_8" doxytag="NL3D::CMaterial::isLighted" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CMaterial::isLighted </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00371">371</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00569">_Flags</a>, and <a class="el" href="a05969.html#l00074">NL3D::IDRV_MAT_LIGHTING</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l00501">NL3D::CheckForLightableFacesInMesh()</a>, <a class="el" href="a05827.html#l00075">NL3D::CInstanceMaterialUser::isLighted()</a>, and <a class="el" href="a06250.html#l01696">NL3D::CPSConstraintMesh::setupMaterialColor()</a>.
+<p>
+<div class="fragment"><pre>00371 {<span class="keywordflow">return</span> (<a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a>&amp;<a class="code" href="a05363.html#a103">IDRV_MAT_LIGHTING</a>)!=0;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz376_9" doxytag="NL3D::CMaterial::isLightedVertexColor" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CMaterial::isLightedVertexColor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return true if this material uses color material as diffuse when lighted, else return false if it uses color vertex.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00374">374</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00569">_Flags</a>, and <a class="el" href="a05969.html#l00081">NL3D::IDRV_MAT_LIGHTED_VERTEX_COLOR</a>.
+<p>
+Referenced by <a class="el" href="a05648.html#l00257">NL3D::CDriverGL::setupMaterial()</a>.
+<p>
+<div class="fragment"><pre>00374 { <span class="keywordflow">return</span> (<a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a>&amp;<a class="code" href="a05363.html#a110">IDRV_MAT_LIGHTED_VERTEX_COLOR</a>)!=0;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz378_7" doxytag="NL3D::CMaterial::isUserTexMatEnabled" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CMaterial::isUserTexMatEnabled </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>stage</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Decompose a user texture matrix, We assume that this is only a matrix for 2d texture.
+<p>
+find the rotation around w
+<p>
+Definition at line <a class="el" href="a05641.html#l00362">362</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00569">_Flags</a>, <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a05969.html#l00092">NL3D::IDRV_MAT_USER_TEX_0_MAT</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05437.html#l00099">NL3D::CMaterialBase::copyFromMaterial()</a>, <a class="el" href="a05968.html#l00523">decompUserTexMat()</a>, <a class="el" href="a05827.html#l00326">NL3D::CInstanceMaterialUser::getUserTexMat()</a>, <a class="el" href="a05641.html#l00377">getUserTexMat()</a>, <a class="el" href="a05827.html#l00302">NL3D::CInstanceMaterialUser::isUserTexMatEnabled()</a>, <a class="el" href="a05968.html#l00139">serial()</a>, <a class="el" href="a05827.html#l00312">NL3D::CInstanceMaterialUser::setUserTexMat()</a>, and <a class="el" href="a05641.html#l00369">setUserTexMat()</a>.
+<p>
+<div class="fragment"><pre>00363 {
+00364 <a class="code" href="a04199.html#a6">nlassert</a>(stage &lt; IDRV_MAT_MAXTEXTURES);
+00365 <span class="keywordflow">return</span> (<a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a> &amp; (<a class="code" href="a05363.html#a119">IDRV_MAT_USER_TEX_0_MAT</a> &lt;&lt; stage)) != 0;
+00366 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz362_2" doxytag="NL3D::CMaterial::operator=" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02839.html">CMaterial</a> &amp; NL3D::CMaterial::operator= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a02839.html">CMaterial</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>mat</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Do not copy DrvInfos, copy all infos and set IDRV_TOUCHED_ALL.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05968.html#l00083">83</a> of file <a class="el" href="a05968.html">material.cpp</a>.
+<p>
+References <a class="el" href="a05969.html#l00576">_AlphaTestThreshold</a>, <a class="el" href="a05969.html#l00574">_Ambient</a>, <a class="el" href="a05969.html#l00573">_Color</a>, <a class="el" href="a05969.html#l00574">_Diffuse</a>, <a class="el" href="a05969.html#l00570">_DstBlend</a>, <a class="el" href="a05969.html#l00574">_Emissive</a>, <a class="el" href="a05969.html#l00569">_Flags</a>, <a class="el" href="a05969.html#l00610">_LightMaps</a>, <a class="el" href="a05969.html#l00611">_LightMapsMulx2</a>, <a class="el" href="a05969.html#l00568">_ShaderType</a>, <a class="el" href="a05969.html#l00575">_Shininess</a>, <a class="el" href="a05969.html#l00574">_Specular</a>, <a class="el" href="a05969.html#l00570">_SrcBlend</a>, <a class="el" href="a05969.html#l00590">_TexAddrMode</a>, <a class="el" href="a05969.html#l00591">_TexEnvs</a>, <a class="el" href="a05969.html#l00589">_Textures</a>, <a class="el" href="a05969.html#l00585">_TexUserMat</a>, <a class="el" href="a05969.html#l00577">_Touched</a>, <a class="el" href="a05969.html#l00572">_ZBias</a>, <a class="el" href="a05969.html#l00571">_ZFunction</a>, <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a05969.html#l00067">NL3D::IDRV_TOUCHED_ALL</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a05969.html#l00242">CMaterial()</a>.
+<p>
+<div class="fragment"><pre>00084 {
+00085 <a class="code" href="a02839.html#NL3D_1_1CMaterialr7">_ShaderType</a>= mat._ShaderType;
+00086 <a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a>= mat._Flags;
+00087 <a class="code" href="a02839.html#NL3D_1_1CMaterialr10">_SrcBlend</a>= mat._SrcBlend;
+00088 <a class="code" href="a02839.html#NL3D_1_1CMaterialr4">_DstBlend</a>= mat._DstBlend;
+00089 <a class="code" href="a02839.html#NL3D_1_1CMaterialr16">_ZFunction</a>= mat._ZFunction;
+00090 <a class="code" href="a02839.html#NL3D_1_1CMaterialr15">_ZBias</a>= mat._ZBias;
+00091 <a class="code" href="a02839.html#NL3D_1_1CMaterialr2">_Color</a>= mat._Color;
+00092 <a class="code" href="a02839.html#NL3D_1_1CMaterialr5">_Emissive</a>= mat._Emissive;
+00093 <a class="code" href="a02839.html#NL3D_1_1CMaterialr1">_Ambient</a>= mat._Ambient;
+00094 <a class="code" href="a02839.html#NL3D_1_1CMaterialr3">_Diffuse</a>= mat._Diffuse;
+00095 <a class="code" href="a02839.html#NL3D_1_1CMaterialr9">_Specular</a>= mat._Specular;
+00096 <a class="code" href="a02839.html#NL3D_1_1CMaterialr8">_Shininess</a>= mat._Shininess;
+00097 <a class="code" href="a02839.html#NL3D_1_1CMaterialr0">_AlphaTestThreshold</a>= mat._AlphaTestThreshold;
+00098
+00099 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a11">uint32</a> i=0;i&lt;<a class="code" href="a05363.html#a83">IDRV_MAT_MAXTEXTURES</a>;i++)
+00100 {
+00101 <a class="code" href="a02839.html#NL3D_1_1CMaterialo4">_Textures</a>[i]= mat._Textures[i];
+00102 <a class="code" href="a02839.html#NL3D_1_1CMaterialo3">_TexEnvs</a>[i]= mat._TexEnvs[i];
+00103 <a class="code" href="a02839.html#NL3D_1_1CMaterialo2">_TexAddrMode</a>[i] = mat._TexAddrMode[i];
+00104 }
+00105
+00106 <span class="comment">// copy lightmaps.</span>
+00107 <a class="code" href="a02839.html#NL3D_1_1CMaterialo0">_LightMaps</a>= mat._LightMaps;
+00108 <a class="code" href="a02839.html#NL3D_1_1CMaterialo1">_LightMapsMulx2</a>= mat._LightMapsMulx2;
+00109
+00110 <span class="comment">// copy texture matrix if there.</span>
+00111 <span class="keywordflow">if</span> (mat._TexUserMat.get())
+00112 {
+00113 std::auto_ptr&lt;CUserTexMat&gt; texMatClone( <span class="keyword">new</span> CUserTexMat(*(mat._TexUserMat))); <span class="comment">// make cpy</span>
+00114 std::swap(texMatClone, _TexUserMat); <span class="comment">// swap with old</span>
+00115 }
+00116 <span class="keywordflow">else</span>
+00117 {
+00118 <a class="code" href="a02839.html#NL3D_1_1CMaterialr13">_TexUserMat</a>.reset();
+00119 }
+00120
+00121 <span class="comment">// Must do not copy drv info.</span>
+00122
+00123 <span class="comment">// All states of material is modified.</span>
+00124 <a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>= <a class="code" href="a05363.html#a98">IDRV_TOUCHED_ALL</a>;
+00125
+00126 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+00127 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz385_0" doxytag="NL3D::CMaterial::selectTextureSet" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::selectTextureSet </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>index</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Select one texture set for all the textures of this material. This is useful only if textures of this material support selection of course (such as <a class="el" href="a03512.html">CTextureMultiFile</a>)
+<p>
+Definition at line <a class="el" href="a05968.html#l00558">558</a> of file <a class="el" href="a05968.html">material.cpp</a>.
+<p>
+References <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a05646.html#l00225">index</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05971.html#l00108">NL3D::CMaterialUser::selectTextureSet()</a>.
+<p>
+<div class="fragment"><pre>00559 {
+00560 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> k = 0; k &lt; <a class="code" href="a05363.html#a83">IDRV_MAT_MAXTEXTURES</a>; ++k)
+00561 {
+00562 <span class="keywordflow">if</span> (<a class="code" href="a02839.html#NL3D_1_1CMaterialo4">_Textures</a>[k] != NULL) <a class="code" href="a02839.html#NL3D_1_1CMaterialo4">_Textures</a>[k]-&gt;selectTexture(index);
+00563 }
+00564 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMateriala7" doxytag="NL3D::CMaterial::serial" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::serial </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02270.html">NLMISC::IStream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>f</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05968.html#l00139">139</a> of file <a class="el" href="a05968.html">material.cpp</a>.
+<p>
+References <a class="el" href="a05969.html#l00576">_AlphaTestThreshold</a>, <a class="el" href="a05969.html#l00570">_DstBlend</a>, <a class="el" href="a05969.html#l00569">_Flags</a>, <a class="el" href="a05969.html#l00610">_LightMaps</a>, <a class="el" href="a05969.html#l00611">_LightMapsMulx2</a>, <a class="el" href="a05969.html#l00568">_ShaderType</a>, <a class="el" href="a05969.html#l00570">_SrcBlend</a>, <a class="el" href="a05969.html#l00590">_TexAddrMode</a>, <a class="el" href="a05969.html#l00591">_TexEnvs</a>, <a class="el" href="a05969.html#l00585">_TexUserMat</a>, <a class="el" href="a05969.html#l00577">_Touched</a>, <a class="el" href="a05969.html#l00572">_ZBias</a>, <a class="el" href="a05969.html#l00571">_ZFunction</a>, <a class="el" href="a05969.html#l00076">NL3D::IDRV_MAT_DEFMAT</a>, <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a05969.html#l00080">NL3D::IDRV_MAT_TEX_ADDR</a>, <a class="el" href="a05969.html#l00100">NL3D::IDRV_MAT_USER_TEX_MAT_ALL</a>, <a class="el" href="a05969.html#l00067">NL3D::IDRV_TOUCHED_ALL</a>, <a class="el" href="a06463.html#l00064">NLMISC::IStream::isReading()</a>, <a class="el" href="a05641.html#l00362">isUserTexMatEnabled()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06462.html#l00232">NLMISC::IStream::serial()</a>, <a class="el" href="a06462.html#l00324">NLMISC::IStream::serialCont()</a>, <a class="el" href="a06462.html#l00261">NLMISC::IStream::serialEnum()</a>, <a class="el" href="a06462.html#l00492">NLMISC::IStream::serialPolyPtr()</a>, <a class="el" href="a06461.html#l00266">NLMISC::IStream::serialVersion()</a>, <a class="el" href="a05641.html#l00158">setAmbient()</a>, <a class="el" href="a05969.html#l00522">NL3D::CMaterial::CTexEnv::setDefault()</a>, <a class="el" href="a05641.html#l00164">setDiffuse()</a>, <a class="el" href="a05641.html#l00152">setEmissive()</a>, <a class="el" href="a05641.html#l00179">setSpecular()</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00140 {
+00141 <span class="comment">/*</span>
+00142 <span class="comment"> Version 7:</span>
+00143 <span class="comment"> - Lightmap color and Mulx2</span>
+00144 <span class="comment"> Version 6:</span>
+00145 <span class="comment"> - Texture matrix animation</span>
+00146 <span class="comment"> Version 5:</span>
+00147 <span class="comment"> - AlphaTest threshold</span>
+00148 <span class="comment"> Version 4:</span>
+00149 <span class="comment"> - Texture Addressing modes</span>
+00150 <span class="comment"> Version 3:</span>
+00151 <span class="comment"> - LightMaps.</span>
+00152 <span class="comment"> Version 2:</span>
+00153 <span class="comment"> - Shininess.</span>
+00154 <span class="comment"> Version 1:</span>
+00155 <span class="comment"> - texture environement.</span>
+00156 <span class="comment"> Version 0:</span>
+00157 <span class="comment"> - base version.</span>
+00158 <span class="comment"> */</span>
+00159
+00160 <a class="code" href="a04558.html#a14">sint</a> ver= f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_8">serialVersion</a>(7);
+00161 <span class="comment">// For the version &lt;=1:</span>
+00162 <a class="code" href="a04199.html#a6">nlassert</a>(IDRV_MAT_MAXTEXTURES==4);
+00163
+00164 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama7">serialEnum</a>(_ShaderType);
+00165 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_Flags);
+00166 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama7">serialEnum</a>(_SrcBlend);
+00167 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama7">serialEnum</a>(_DstBlend);
+00168 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama7">serialEnum</a>(_ZFunction);
+00169 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_ZBias);
+00170 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_Color);
+00171 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_Emissive, _Ambient, _Diffuse, _Specular);
+00172 <span class="keywordflow">if</span>(ver&gt;=2)
+00173 {
+00174 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_Shininess);
+00175 }
+00176 <span class="keywordflow">if</span>(ver&gt;=5)
+00177 {
+00178 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_AlphaTestThreshold);
+00179 }
+00180
+00181
+00182 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a11">uint32</a> i=0;i&lt;<a class="code" href="a05363.html#a83">IDRV_MAT_MAXTEXTURES</a>;i++)
+00183 {
+00184 <span class="comment">// Serial texture descriptor.</span>
+00185 ITexture* text;
+00186 <span class="keywordflow">if</span>(f.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>())
+00187 {
+00188 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_6">serialPolyPtr</a>(text);
+00189 <a class="code" href="a02839.html#NL3D_1_1CMaterialo4">_Textures</a>[i]= text;
+00190 }
+00191 <span class="keywordflow">else</span>
+00192 {
+00193 text= <a class="code" href="a02839.html#NL3D_1_1CMaterialo4">_Textures</a>[i];
+00194 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_6">serialPolyPtr</a>(text);
+00195 }
+00196
+00197 <span class="comment">// Read texture environnement, or setup them.</span>
+00198 <span class="keywordflow">if</span>(ver&gt;=1)
+00199 {
+00200 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_TexEnvs[i]);
+00201 }
+00202 <span class="keywordflow">else</span>
+00203 {
+00204 <span class="comment">// Else setup as default behavior, like before...</span>
+00205 <span class="keywordflow">if</span>(f.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>())
+00206 <a class="code" href="a02839.html#NL3D_1_1CMaterialo3">_TexEnvs</a>[i].<a class="code" href="a02842.html#NL3D_1_1CMaterial_1_1CTexEnva2">setDefault</a>();
+00207 }
+00208 }
+00209
+00210 <span class="keywordflow">if</span>(ver&gt;=3)
+00211 {
+00212 <span class="keywordflow">if</span>(ver&gt;=7)
+00213 {
+00214 <a class="code" href="a04558.html#a11">uint32</a> n;
+00215 <span class="keywordflow">if</span> (f.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>())
+00216 {
+00217 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(n);
+00218 <a class="code" href="a02839.html#NL3D_1_1CMaterialo0">_LightMaps</a>.resize(n);
+00219 }
+00220 <span class="keywordflow">else</span>
+00221 {
+00222 n = <a class="code" href="a02839.html#NL3D_1_1CMaterialo0">_LightMaps</a>.size();
+00223 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(n);
+00224 }
+00225 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a11">uint32</a> i = 0; i &lt; n; ++i)
+00226 <a class="code" href="a02839.html#NL3D_1_1CMaterialo0">_LightMaps</a>[i].serial2(f);
+00227 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_LightMapsMulx2);
+00228 }
+00229 <span class="keywordflow">else</span>
+00230 {
+00231 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2033_9">serialCont</a>(_LightMaps);
+00232 }
+00233 }
+00234
+00235 <span class="keywordflow">if</span> (ver &gt;= 4)
+00236 {
+00237 <span class="keywordflow">if</span> (<a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a> &amp; <a class="code" href="a05363.html#a109">IDRV_MAT_TEX_ADDR</a>)
+00238 {
+00239 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a11">uint32</a> i=0;i&lt;<a class="code" href="a05363.html#a83">IDRV_MAT_MAXTEXTURES</a>;i++)
+00240 {
+00241 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_TexAddrMode[i]);
+00242 }
+00243 }
+00244 }
+00245
+00246 <span class="keywordflow">if</span>(f.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>())
+00247 {
+00248 <span class="comment">// Converte Deprecated DEFMAT to std Mat.</span>
+00249 <span class="keywordflow">if</span>(<a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a> &amp; <a class="code" href="a05363.html#a105">IDRV_MAT_DEFMAT</a>)
+00250 {
+00251 <a class="code" href="a02839.html#NL3D_1_1CMaterialz376_13">setEmissive</a>(CRGBA::Black);
+00252 <a class="code" href="a02839.html#NL3D_1_1CMaterialz376_10">setAmbient</a>(CRGBA::White);
+00253 <a class="code" href="a02839.html#NL3D_1_1CMaterialz376_12">setDiffuse</a>(CRGBA::White);
+00254 <a class="code" href="a02839.html#NL3D_1_1CMaterialz376_18">setSpecular</a>(CRGBA::Black);
+00255 }
+00256
+00257 <span class="comment">// All states of material are modified.</span>
+00258 <a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>= <a class="code" href="a05363.html#a98">IDRV_TOUCHED_ALL</a>;
+00259
+00260 <span class="keywordflow">if</span> ((<a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a> &amp; <a class="code" href="a05363.html#a127">IDRV_MAT_USER_TEX_MAT_ALL</a>)) <span class="comment">// are there user textrue coordinates matrix ?</span>
+00261 {
+00262 std::auto_ptr&lt;CUserTexMat&gt; newPtr(<span class="keyword">new</span> CUserTexMat); <span class="comment">// create new </span>
+00263 std::swap(_TexUserMat, newPtr); <span class="comment">// replace old</span>
+00264 }
+00265 }
+00266
+00267 <span class="keywordflow">if</span> (ver &gt;= 6)
+00268 {
+00269 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> i=0; i &lt; <a class="code" href="a05363.html#a83">IDRV_MAT_MAXTEXTURES</a>; ++i)
+00270 {
+00271 <span class="keywordflow">if</span> (<a class="code" href="a02839.html#NL3D_1_1CMaterialz378_7">isUserTexMatEnabled</a>(i))
+00272 {
+00273 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(<a class="code" href="a02839.html#NL3D_1_1CMaterialr13">_TexUserMat</a>-&gt;TexMat[i]);
+00274 }
+00275 }
+00276 }
+00277
+00278 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz372_2" doxytag="NL3D::CMaterial::setAlphaTest" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setAlphaTest </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>active</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05641.html#l00078">78</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00569">_Flags</a>, <a class="el" href="a05969.html#l00577">_Touched</a>, <a class="el" href="a05969.html#l00079">NL3D::IDRV_MAT_ALPHA_TEST</a>, and <a class="el" href="a05969.html#l00060">NL3D::IDRV_TOUCHED_ALPHA_TEST</a>.
+<p>
+Referenced by <a class="el" href="a05559.html#l00217">NL3D::CCloudScape::CCloudScape()</a>, <a class="el" href="a05935.html#l00068">NL3D::CLodCharacterManager::CLodCharacterManager()</a>, <a class="el" href="a06372.html#l00059">NL3D::CShadowMapManager::CShadowMapManager()</a>, <a class="el" href="a06698.html#l00058">NL3D::CVegetableManager::CVegetableManager()</a>, and <a class="el" href="a06257.html#l00520">NL3D::CPSMaterial::setBlendingMode()</a>.
+<p>
+<div class="fragment"><pre>00079 {
+00080 <span class="keywordflow">if</span> (active) <a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a>|=<a class="code" href="a05363.html#a108">IDRV_MAT_ALPHA_TEST</a>;
+00081 <span class="keywordflow">else</span> <a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a>&amp;=~<a class="code" href="a05363.html#a108">IDRV_MAT_ALPHA_TEST</a>;
+00082 <a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>|=<a class="code" href="a05363.html#a95">IDRV_TOUCHED_ALPHA_TEST</a>;
+00083 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz372_3" doxytag="NL3D::CMaterial::setAlphaTestThreshold" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setAlphaTestThreshold </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>thre</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+change the threshold against alpha is tested. Default is 0.5f. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>thre</em>&nbsp;</td><td>threshold, should be in [0..1], not clamped.</td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05641.html#l00085">85</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00576">_AlphaTestThreshold</a>, <a class="el" href="a05969.html#l00577">_Touched</a>, and <a class="el" href="a05969.html#l00061">NL3D::IDRV_TOUCHED_ALPHA_TEST_THRE</a>.
+<p>
+Referenced by <a class="el" href="a05559.html#l00217">NL3D::CCloudScape::CCloudScape()</a>, <a class="el" href="a06372.html#l00059">NL3D::CShadowMapManager::CShadowMapManager()</a>, <a class="el" href="a05968.html#l00059">initUnlit()</a>, <a class="el" href="a05995.html#l00037">NL3D::CMeshBlender::prepareRenderForGlobalAlpha()</a>, <a class="el" href="a05995.html#l00132">NL3D::CMeshBlender::prepareRenderForGlobalAlphaCoarseMesh()</a>, <a class="el" href="a06698.html#l01713">NL3D::CVegetableManager::render()</a>, <a class="el" href="a05995.html#l00099">NL3D::CMeshBlender::restoreRender()</a>, <a class="el" href="a05995.html#l00181">NL3D::CMeshBlender::restoreRenderCoarseMesh()</a>, and <a class="el" href="a05827.html#l00260">NL3D::CInstanceMaterialUser::setAlphaTestThreshold()</a>.
+<p>
+<div class="fragment"><pre>00086 {
+00087 <a class="code" href="a02839.html#NL3D_1_1CMaterialr0">_AlphaTestThreshold</a>= thre;
+00088 <a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>|=<a class="code" href="a05363.html#a96">IDRV_TOUCHED_ALPHA_TEST_THRE</a>;
+00089 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz376_10" doxytag="NL3D::CMaterial::setAmbient" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setAmbient </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>ambient</em> = <a class="el" href="a03337.html">CRGBA</a>(0, 0, 0) </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set the Ambient part ot material. Usefull only if setLighting(true) has been done.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05641.html#l00158">158</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00577">_Touched</a>, and <a class="el" href="a05969.html#l00055">NL3D::IDRV_TOUCHED_LIGHTING</a>.
+<p>
+Referenced by <a class="el" href="a05968.html#l00139">serial()</a>, and <a class="el" href="a05827.html#l00096">NL3D::CInstanceMaterialUser::setAmbient()</a>.
+<p>
+<div class="fragment"><pre>00159 {
+00160 <a class="code" href="a02839.html#NL3D_1_1CMaterialr1">_Ambient</a>= ambient;
+00161 <a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>|=<a class="code" href="a05363.html#a90">IDRV_TOUCHED_LIGHTING</a>;
+00162 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz366_3" doxytag="NL3D::CMaterial::setBlend" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setBlend </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>active</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05641.html#l00064">64</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00569">_Flags</a>, <a class="el" href="a05969.html#l00577">_Touched</a>, <a class="el" href="a05969.html#l00077">NL3D::IDRV_MAT_BLEND</a>, and <a class="el" href="a05969.html#l00050">NL3D::IDRV_TOUCHED_BLEND</a>.
+<p>
+Referenced by <a class="el" href="a05559.html#l00217">NL3D::CCloudScape::CCloudScape()</a>, <a class="el" href="a06257.html#l00485">NL3D::CPSMaterial::CPSMaterial()</a>, <a class="el" href="a06372.html#l00059">NL3D::CShadowMapManager::CShadowMapManager()</a>, <a class="el" href="a05557.html#l00328">NL3D::CCloud::disp()</a>, <a class="el" href="a05557.html#l00606">NL3D::CCloud::dispBill()</a>, <a class="el" href="a06285.html#l00169">NL3D::CPSUtil::displayArrow()</a>, <a class="el" href="a06285.html#l00118">NL3D::CPSUtil::displayBBox()</a>, <a class="el" href="a06350.html#l01224">NL3D::CInstanceGroup::displayDebugClusters()</a>, <a class="el" href="a06246.html#l02038">NL3D::CPSLocatedBindable::displayIcon2d()</a>, <a class="el" href="a06737.html#l01170">NL3D::CWaterModel::doSimpleRender()</a>, <a class="el" href="a05660.html#l00136">NL3D::CDRU::drawBitmap()</a>, <a class="el" href="a05660.html#l00173">NL3D::CDRU::drawLine()</a>, <a class="el" href="a05660.html#l00241">NL3D::CDRU::drawQuad()</a>, <a class="el" href="a05660.html#l00206">NL3D::CDRU::drawTriangle()</a>, <a class="el" href="a05722.html#l00049">NL3D::CFontManager::getFontMaterial()</a>, <a class="el" href="a06103.html#l00055">NL3D::CNoise3d::init()</a>, <a class="el" href="a05968.html#l00059">initUnlit()</a>, <a class="el" href="a05557.html#l00182">NL3D::CCloud::light()</a>, <a class="el" href="a06040.html#l00062">NL3D::CMotionBlur::performMotionBlur()</a>, <a class="el" href="a05995.html#l00037">NL3D::CMeshBlender::prepareRenderForGlobalAlpha()</a>, <a class="el" href="a05995.html#l00132">NL3D::CMeshBlender::prepareRenderForGlobalAlphaCoarseMesh()</a>, <a class="el" href="a06698.html#l01713">NL3D::CVegetableManager::render()</a>, <a class="el" href="a05862.html#l00939">NL3D::CLandscape::render()</a>, <a class="el" href="a05995.html#l00099">NL3D::CMeshBlender::restoreRender()</a>, <a class="el" href="a05995.html#l00181">NL3D::CMeshBlender::restoreRenderCoarseMesh()</a>, <a class="el" href="a05559.html#l00051">NL3D::SCloudTexture3D::SCloudTexture3D()</a>, <a class="el" href="a05559.html#l00126">NL3D::SCloudTextureClamp::SCloudTextureClamp()</a>, <a class="el" href="a05971.html#l00119">NL3D::CMaterialUser::setBlend()</a>, <a class="el" href="a05827.html#l00240">NL3D::CInstanceMaterialUser::setBlend()</a>, <a class="el" href="a06257.html#l00520">NL3D::CPSMaterial::setBlendingMode()</a>, <a class="el" href="a06737.html#l00831">NL3D::CWaterModel::setupMaterialNVertexShader()</a>, <a class="el" href="a06239.html#l00413">NL3D::CPSGravity::show()</a>, <a class="el" href="a06229.html#l00447">NL3D::CPSEmitter::showTool()</a>, and <a class="el" href="a05712.html#l00063">NL3D::CFlareModel::traverseRender()</a>.
+<p>
+<div class="fragment"><pre>00065 {
+00066 <span class="keywordflow">if</span> (active) <a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a>|=<a class="code" href="a05363.html#a106">IDRV_MAT_BLEND</a>;
+00067 <span class="keywordflow">else</span> <a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a>&amp;=~<a class="code" href="a05363.html#a106">IDRV_MAT_BLEND</a>;
+00068 <a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>|=<a class="code" href="a05363.html#a85">IDRV_TOUCHED_BLEND</a>;
+00069 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz366_4" doxytag="NL3D::CMaterial::setBlendFunc" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setBlendFunc </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02839.html#NL3D_1_1CMaterialw58">TBlend</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>src</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02839.html#NL3D_1_1CMaterialw58">TBlend</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>dst</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05641.html#l00091">91</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00570">_DstBlend</a>, <a class="el" href="a05969.html#l00570">_SrcBlend</a>, <a class="el" href="a05969.html#l00577">_Touched</a>, <a class="el" href="a05969.html#l00049">NL3D::IDRV_TOUCHED_BLENDFUNC</a>, and <a class="el" href="a05646.html#l01124">src</a>.
+<p>
+Referenced by <a class="el" href="a05559.html#l00217">NL3D::CCloudScape::CCloudScape()</a>, <a class="el" href="a06257.html#l00485">NL3D::CPSMaterial::CPSMaterial()</a>, <a class="el" href="a06372.html#l00059">NL3D::CShadowMapManager::CShadowMapManager()</a>, <a class="el" href="a06698.html#l00058">NL3D::CVegetableManager::CVegetableManager()</a>, <a class="el" href="a06285.html#l00169">NL3D::CPSUtil::displayArrow()</a>, <a class="el" href="a06285.html#l00118">NL3D::CPSUtil::displayBBox()</a>, <a class="el" href="a06350.html#l01224">NL3D::CInstanceGroup::displayDebugClusters()</a>, <a class="el" href="a06246.html#l02038">NL3D::CPSLocatedBindable::displayIcon2d()</a>, <a class="el" href="a06103.html#l00055">NL3D::CNoise3d::init()</a>, <a class="el" href="a06040.html#l00062">NL3D::CMotionBlur::performMotionBlur()</a>, <a class="el" href="a05862.html#l00939">NL3D::CLandscape::render()</a>, <a class="el" href="a05559.html#l00051">NL3D::SCloudTexture3D::SCloudTexture3D()</a>, <a class="el" href="a05559.html#l00126">NL3D::SCloudTextureClamp::SCloudTextureClamp()</a>, <a class="el" href="a05971.html#l00124">NL3D::CMaterialUser::setBlendFunc()</a>, <a class="el" href="a05827.html#l00245">NL3D::CInstanceMaterialUser::setBlendFunc()</a>, <a class="el" href="a06257.html#l00520">NL3D::CPSMaterial::setBlendingMode()</a>, <a class="el" href="a06239.html#l00413">NL3D::CPSGravity::show()</a>, <a class="el" href="a06229.html#l00447">NL3D::CPSEmitter::showTool()</a>, and <a class="el" href="a05712.html#l00063">NL3D::CFlareModel::traverseRender()</a>.
+<p>
+<div class="fragment"><pre>00092 {
+00093 <a class="code" href="a02839.html#NL3D_1_1CMaterialr10">_SrcBlend</a>=<a class="code" href="a04223.html#a652">src</a>;
+00094 <a class="code" href="a02839.html#NL3D_1_1CMaterialr4">_DstBlend</a>=dst;
+00095 <a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>|=<a class="code" href="a05363.html#a84">IDRV_TOUCHED_BLENDFUNC</a>;
+00096 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz376_11" doxytag="NL3D::CMaterial::setColor" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setColor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>rgba</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The Color is used only if lighting is disabled. Also, color is replaced by per vertex color (if any).
+<p>
+
+<p>
+Definition at line <a class="el" href="a05641.html#l00118">118</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00577">_Touched</a>, and <a class="el" href="a05969.html#l00054">NL3D::IDRV_TOUCHED_COLOR</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l00092">NL3D::CreateDummyMesh()</a>, <a class="el" href="a06372.html#l00059">NL3D::CShadowMapManager::CShadowMapManager()</a>, <a class="el" href="a05557.html#l00606">NL3D::CCloud::dispBill()</a>, <a class="el" href="a06285.html#l00169">NL3D::CPSUtil::displayArrow()</a>, <a class="el" href="a06285.html#l00118">NL3D::CPSUtil::displayBBox()</a>, <a class="el" href="a06350.html#l01224">NL3D::CInstanceGroup::displayDebugClusters()</a>, <a class="el" href="a06246.html#l02038">NL3D::CPSLocatedBindable::displayIcon2d()</a>, <a class="el" href="a06277.html#l00319">NL3D::CPSRibbonLookAt::displayRibbons()</a>, <a class="el" href="a06737.html#l01170">NL3D::CWaterModel::doSimpleRender()</a>, <a class="el" href="a06279.html#l00286">NL3D::CPSShockWave::draw()</a>, <a class="el" href="a06226.html#l00122">NL3D::CPSDot::draw()</a>, <a class="el" href="a05660.html#l00173">NL3D::CDRU::drawLine()</a>, <a class="el" href="a05660.html#l00241">NL3D::CDRU::drawQuad()</a>, <a class="el" href="a05660.html#l00206">NL3D::CDRU::drawTriangle()</a>, <a class="el" href="a06372.html#l00669">NL3D::CShadowMapManager::fillBlackBorder()</a>, <a class="el" href="a06103.html#l00421">NL3D::CNoise3d::flush()</a>, <a class="el" href="a05557.html#l00509">NL3D::CCloud::genBill()</a>, <a class="el" href="a05557.html#l00110">NL3D::CCloud::generate()</a>, <a class="el" href="a06235.html#l00442">NL3D::CPSFanLight::init()</a>, <a class="el" href="a06103.html#l00055">NL3D::CNoise3d::init()</a>, <a class="el" href="a05968.html#l00059">initUnlit()</a>, <a class="el" href="a05557.html#l00182">NL3D::CCloud::light()</a>, <a class="el" href="a06040.html#l00062">NL3D::CMotionBlur::performMotionBlur()</a>, <a class="el" href="a05995.html#l00132">NL3D::CMeshBlender::prepareRenderForGlobalAlphaCoarseMesh()</a>, <a class="el" href="a05595.html#l00084">NL3D::CComputedString::render2D()</a>, <a class="el" href="a05595.html#l00151">NL3D::CComputedString::render3D()</a>, <a class="el" href="a06372.html#l00445">NL3D::CShadowMapManager::renderProject()</a>, <a class="el" href="a05557.html#l00251">NL3D::CCloud::reset()</a>, <a class="el" href="a05995.html#l00181">NL3D::CMeshBlender::restoreRenderCoarseMesh()</a>, <a class="el" href="a05559.html#l00051">NL3D::SCloudTexture3D::SCloudTexture3D()</a>, <a class="el" href="a05559.html#l00126">NL3D::SCloudTextureClamp::SCloudTextureClamp()</a>, <a class="el" href="a05971.html#l00236">NL3D::CMaterialUser::setColor()</a>, <a class="el" href="a05827.html#l00158">NL3D::CInstanceMaterialUser::setColor()</a>, <a class="el" href="a06283.html#l00508">NL3D::CPSTailDot::setupGlobalColor()</a>, <a class="el" href="a06250.html#l01696">NL3D::CPSConstraintMesh::setupMaterialColor()</a>, <a class="el" href="a06737.html#l00831">NL3D::CWaterModel::setupMaterialNVertexShader()</a>, <a class="el" href="a06273.html#l01026">NL3D::CPSRibbon::setupTexturedGlobalColor()</a>, <a class="el" href="a06273.html#l00984">NL3D::CPSRibbon::setupUntexturedGlobalColor()</a>, <a class="el" href="a06239.html#l00413">NL3D::CPSGravity::show()</a>, <a class="el" href="a06229.html#l00447">NL3D::CPSEmitter::showTool()</a>, <a class="el" href="a06283.html#l00165">NL3D::CPSTailDot::step()</a>, <a class="el" href="a06277.html#l00119">NL3D::CPSRibbonLookAt::step()</a>, <a class="el" href="a06273.html#l00266">NL3D::CPSRibbon::step()</a>, <a class="el" href="a05712.html#l00063">NL3D::CFlareModel::traverseRender()</a>, and <a class="el" href="a06262.html#l00520">NL3D::CPSQuad::updateMatBeforeRendering()</a>.
+<p>
+<div class="fragment"><pre>00119 {
+00120 <span class="keywordflow">if</span> (<a class="code" href="a02839.html#NL3D_1_1CMaterialr2">_Color</a> != rgba)
+00121 {
+00122 <a class="code" href="a02839.html#NL3D_1_1CMaterialr2">_Color</a>=rgba;
+00123 <a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>|=<a class="code" href="a05363.html#a89">IDRV_TOUCHED_COLOR</a>;
+00124 }
+00125 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz376_12" doxytag="NL3D::CMaterial::setDiffuse" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setDiffuse </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>diffuse</em> = <a class="el" href="a03337.html">CRGBA</a>(0, 0, 0) </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set the Diffuse part ot material. Usefull only if setLighting(true) has been done. NB: opacity is NOT copied from diffuse.A.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05641.html#l00164">164</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00577">_Touched</a>, <a class="el" href="a06340.html#l00338">NLMISC::CRGBA::B</a>, <a class="el" href="a06340.html#l00336">NLMISC::CRGBA::G</a>, <a class="el" href="a05969.html#l00055">NL3D::IDRV_TOUCHED_LIGHTING</a>, and <a class="el" href="a06340.html#l00334">NLMISC::CRGBA::R</a>.
+<p>
+Referenced by <a class="el" href="a05968.html#l00139">serial()</a>, <a class="el" href="a05827.html#l00101">NL3D::CInstanceMaterialUser::setDiffuse()</a>, and <a class="el" href="a06250.html#l01696">NL3D::CPSConstraintMesh::setupMaterialColor()</a>.
+<p>
+<div class="fragment"><pre>00165 {
+00166 <span class="comment">// Keep opacity.</span>
+00167 <a class="code" href="a02839.html#NL3D_1_1CMaterialr3">_Diffuse</a>.<a class="code" href="a03337.html#NLMISC_1_1CRGBAo3">R</a>= diffuse.<a class="code" href="a03337.html#NLMISC_1_1CRGBAo3">R</a>;
+00168 <a class="code" href="a02839.html#NL3D_1_1CMaterialr3">_Diffuse</a>.<a class="code" href="a03337.html#NLMISC_1_1CRGBAo2">G</a>= diffuse.<a class="code" href="a03337.html#NLMISC_1_1CRGBAo2">G</a>;
+00169 <a class="code" href="a02839.html#NL3D_1_1CMaterialr3">_Diffuse</a>.<a class="code" href="a03337.html#NLMISC_1_1CRGBAo1">B</a>= diffuse.<a class="code" href="a03337.html#NLMISC_1_1CRGBAo1">B</a>;
+00170 <a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>|=<a class="code" href="a05363.html#a90">IDRV_TOUCHED_LIGHTING</a>;
+00171 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz370_1" doxytag="NL3D::CMaterial::setDoubleSided" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setDoubleSided </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>active</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05641.html#l00071">71</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00569">_Flags</a>, <a class="el" href="a05969.html#l00577">_Touched</a>, <a class="el" href="a05969.html#l00078">NL3D::IDRV_MAT_DOUBLE_SIDED</a>, and <a class="el" href="a05969.html#l00058">NL3D::IDRV_TOUCHED_DOUBLE_SIDED</a>.
+<p>
+Referenced by <a class="el" href="a05559.html#l00217">NL3D::CCloudScape::CCloudScape()</a>, <a class="el" href="a05935.html#l00068">NL3D::CLodCharacterManager::CLodCharacterManager()</a>, <a class="el" href="a06273.html#l00233">NL3D::CPSRibbon::CPSRibbon()</a>, <a class="el" href="a06372.html#l00059">NL3D::CShadowMapManager::CShadowMapManager()</a>, <a class="el" href="a05557.html#l00328">NL3D::CCloud::disp()</a>, <a class="el" href="a05557.html#l00606">NL3D::CCloud::dispBill()</a>, <a class="el" href="a06285.html#l00169">NL3D::CPSUtil::displayArrow()</a>, <a class="el" href="a06350.html#l01224">NL3D::CInstanceGroup::displayDebugClusters()</a>, <a class="el" href="a05623.html#l00085">NL3D::CDeform2d::doDeform()</a>, <a class="el" href="a06737.html#l01170">NL3D::CWaterModel::doSimpleRender()</a>, <a class="el" href="a06279.html#l00371">NL3D::CPSShockWave::init()</a>, <a class="el" href="a06262.html#l00238">NL3D::CPSQuad::init()</a>, <a class="el" href="a06235.html#l00442">NL3D::CPSFanLight::init()</a>, <a class="el" href="a06040.html#l00062">NL3D::CMotionBlur::performMotionBlur()</a>, <a class="el" href="a06698.html#l01713">NL3D::CVegetableManager::render()</a>, <a class="el" href="a05559.html#l00051">NL3D::SCloudTexture3D::SCloudTexture3D()</a>, <a class="el" href="a05971.html#l00251">NL3D::CMaterialUser::setDoubleSided()</a>, <a class="el" href="a06360.html#l00243">NL3D::CSegRemanenceShape::setupMaterial()</a>, <a class="el" href="a06737.html#l00831">NL3D::CWaterModel::setupMaterialNVertexShader()</a>, and <a class="el" href="a05712.html#l00063">NL3D::CFlareModel::traverseRender()</a>.
+<p>
+<div class="fragment"><pre>00072 {
+00073 <span class="keywordflow">if</span> (active) <a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a>|=<a class="code" href="a05363.html#a107">IDRV_MAT_DOUBLE_SIDED</a>;
+00074 <span class="keywordflow">else</span> <a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a>&amp;=~<a class="code" href="a05363.html#a107">IDRV_MAT_DOUBLE_SIDED</a>;
+00075 <a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>|=<a class="code" href="a05363.html#a93">IDRV_TOUCHED_DOUBLE_SIDED</a>;
+00076 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz366_5" doxytag="NL3D::CMaterial::setDstBlend" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setDstBlend </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02839.html#NL3D_1_1CMaterialw58">TBlend</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>val</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05641.html#l00058">58</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00570">_DstBlend</a>, <a class="el" href="a05969.html#l00577">_Touched</a>, and <a class="el" href="a05969.html#l00049">NL3D::IDRV_TOUCHED_BLENDFUNC</a>.
+<p>
+Referenced by <a class="el" href="a06737.html#l01170">NL3D::CWaterModel::doSimpleRender()</a>, <a class="el" href="a05660.html#l00173">NL3D::CDRU::drawLine()</a>, <a class="el" href="a05660.html#l00241">NL3D::CDRU::drawQuad()</a>, <a class="el" href="a05660.html#l00206">NL3D::CDRU::drawTriangle()</a>, <a class="el" href="a05722.html#l00049">NL3D::CFontManager::getFontMaterial()</a>, <a class="el" href="a05862.html#l00288">NL3D::CLandscape::init()</a>, <a class="el" href="a05995.html#l00037">NL3D::CMeshBlender::prepareRenderForGlobalAlpha()</a>, <a class="el" href="a05995.html#l00132">NL3D::CMeshBlender::prepareRenderForGlobalAlphaCoarseMesh()</a>, <a class="el" href="a05995.html#l00099">NL3D::CMeshBlender::restoreRender()</a>, <a class="el" href="a05995.html#l00181">NL3D::CMeshBlender::restoreRenderCoarseMesh()</a>, <a class="el" href="a05971.html#l00134">NL3D::CMaterialUser::setDstBlend()</a>, <a class="el" href="a05827.html#l00255">NL3D::CInstanceMaterialUser::setDstBlend()</a>, and <a class="el" href="a06737.html#l00831">NL3D::CWaterModel::setupMaterialNVertexShader()</a>.
+<p>
+<div class="fragment"><pre>00059 {
+00060 <a class="code" href="a02839.html#NL3D_1_1CMaterialr4">_DstBlend</a>=val;
+00061 <a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>|=<a class="code" href="a05363.html#a84">IDRV_TOUCHED_BLENDFUNC</a>;
+00062 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz376_13" doxytag="NL3D::CMaterial::setEmissive" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setEmissive </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>emissive</em> = <a class="el" href="a03337.html">CRGBA</a>(0, 0, 0) </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set the emissive part ot material. Usefull only if setLighting(true) has been done.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05641.html#l00152">152</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00577">_Touched</a>, and <a class="el" href="a05969.html#l00055">NL3D::IDRV_TOUCHED_LIGHTING</a>.
+<p>
+Referenced by <a class="el" href="a05968.html#l00139">serial()</a>, and <a class="el" href="a05827.html#l00091">NL3D::CInstanceMaterialUser::setEmissive()</a>.
+<p>
+<div class="fragment"><pre>00153 {
+00154 <a class="code" href="a02839.html#NL3D_1_1CMaterialr5">_Emissive</a>= emissive;
+00155 <a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>|=<a class="code" href="a05363.html#a90">IDRV_TOUCHED_LIGHTING</a>;
+00156 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz376_14" doxytag="NL3D::CMaterial::setLightedVertexColor" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setLightedVertexColor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>useLightedVertexColor</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set the color material flag. Used when the material is lighted. True to use the diffuse color of the material when lighted, false to use the color vertex.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05641.html#l00191">191</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00569">_Flags</a>, <a class="el" href="a05969.html#l00577">_Touched</a>, <a class="el" href="a05969.html#l00081">NL3D::IDRV_MAT_LIGHTED_VERTEX_COLOR</a>, and <a class="el" href="a05969.html#l00055">NL3D::IDRV_TOUCHED_LIGHTING</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l01729">NL3D::CPSConstraintMesh::setupRenderPasses()</a>.
+<p>
+<div class="fragment"><pre>00192 {
+00193 <span class="keywordflow">if</span> (useLightedVertexColor)
+00194 <a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a> |= <a class="code" href="a05363.html#a110">IDRV_MAT_LIGHTED_VERTEX_COLOR</a>;
+00195 <span class="keywordflow">else</span>
+00196 <a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a> &amp;= ~<a class="code" href="a05363.html#a110">IDRV_MAT_LIGHTED_VERTEX_COLOR</a>;
+00197 <a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>|=<a class="code" href="a05363.html#a90">IDRV_TOUCHED_LIGHTING</a>;
+00198 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz376_15" doxytag="NL3D::CMaterial::setLighting" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setLighting </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>active</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03337.html">CRGBA</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>emissive</em> = <a class="el" href="a03337.html">CRGBA</a>(0, 0, 0), </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03337.html">CRGBA</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>ambient</em> = <a class="el" href="a03337.html">CRGBA</a>(0, 0, 0), </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03337.html">CRGBA</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>diffuse</em> = <a class="el" href="a03337.html">CRGBA</a>(0, 0, 0), </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03337.html">CRGBA</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>specular</em> = <a class="el" href="a03337.html">CRGBA</a>(0, 0, 0), </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>shininess</em> = 10</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Batch setup lighting. Opacity is in diffuse.A.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05641.html#l00127">127</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00569">_Flags</a>, <a class="el" href="a05969.html#l00577">_Touched</a>, <a class="el" href="a05969.html#l00074">NL3D::IDRV_MAT_LIGHTING</a>, and <a class="el" href="a05969.html#l00055">NL3D::IDRV_TOUCHED_LIGHTING</a>.
+<p>
+Referenced by <a class="el" href="a06250.html#l00092">NL3D::CreateDummyMesh()</a>, <a class="el" href="a06285.html#l00169">NL3D::CPSUtil::displayArrow()</a>, <a class="el" href="a06285.html#l00118">NL3D::CPSUtil::displayBBox()</a>, <a class="el" href="a06246.html#l02038">NL3D::CPSLocatedBindable::displayIcon2d()</a>, <a class="el" href="a05623.html#l00085">NL3D::CDeform2d::doDeform()</a>, <a class="el" href="a06737.html#l01170">NL3D::CWaterModel::doSimpleRender()</a>, <a class="el" href="a06279.html#l00371">NL3D::CPSShockWave::init()</a>, <a class="el" href="a06262.html#l00238">NL3D::CPSQuad::init()</a>, <a class="el" href="a06235.html#l00442">NL3D::CPSFanLight::init()</a>, <a class="el" href="a06226.html#l00217">NL3D::CPSDot::init()</a>, <a class="el" href="a05968.html#l00075">initLighted()</a>, <a class="el" href="a05968.html#l00059">initUnlit()</a>, <a class="el" href="a06360.html#l00243">NL3D::CSegRemanenceShape::setupMaterial()</a>, <a class="el" href="a06737.html#l00831">NL3D::CWaterModel::setupMaterialNVertexShader()</a>, <a class="el" href="a06239.html#l00413">NL3D::CPSGravity::show()</a>, <a class="el" href="a06229.html#l00447">NL3D::CPSEmitter::showTool()</a>, and <a class="el" href="a05712.html#l00063">NL3D::CFlareModel::traverseRender()</a>.
+<p>
+<div class="fragment"><pre>00133 {
+00134 <span class="keywordflow">if</span> (active)
+00135 {
+00136 <a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a>|=<a class="code" href="a05363.html#a103">IDRV_MAT_LIGHTING</a>;
+00137 }
+00138 <span class="keywordflow">else</span>
+00139 {
+00140 <a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a>&amp;=~<a class="code" href="a05363.html#a103">IDRV_MAT_LIGHTING</a>;
+00141 }
+00142 <a class="code" href="a02839.html#NL3D_1_1CMaterialr5">_Emissive</a>=emissive;
+00143 <a class="code" href="a02839.html#NL3D_1_1CMaterialr1">_Ambient</a>=ambient;
+00144 <a class="code" href="a02839.html#NL3D_1_1CMaterialr3">_Diffuse</a>=diffuse;
+00145 <a class="code" href="a02839.html#NL3D_1_1CMaterialr9">_Specular</a>=specular;
+00146 <a class="code" href="a02839.html#NL3D_1_1CMaterialr8">_Shininess</a>= shininess;
+00147 <a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>|=<a class="code" href="a05363.html#a90">IDRV_TOUCHED_LIGHTING</a>;
+00148 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz382_1" doxytag="NL3D::CMaterial::setLightMap" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setLightMap </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>lmapId</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03487.html">ITexture</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>lmap</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set the ith lightmap. undef results if holes in lightmap array.
+<p>
+This part is valid for LightMap shaders (nlassert). <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a02839.html#NL3D_1_1CMaterialw65">TShader</a>.</dd></dl>
+
+<p>
+Definition at line <a class="el" href="a05968.html#l00390">390</a> of file <a class="el" href="a05968.html">material.cpp</a>.
+<p>
+References <a class="el" href="a05969.html#l00610">_LightMaps</a>, <a class="el" href="a05969.html#l00568">_ShaderType</a>, <a class="el" href="a05969.html#l00577">_Touched</a>, <a class="el" href="a05969.html#l00059">NL3D::IDRV_TOUCHED_LIGHTMAP</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00391 {
+00392 <a class="code" href="a04199.html#a6">nlassert</a>(_ShaderType==CMaterial::LightMap);
+00393 <span class="keywordflow">if</span>(lmapId&gt;=<a class="code" href="a02839.html#NL3D_1_1CMaterialo0">_LightMaps</a>.size())
+00394 <a class="code" href="a02839.html#NL3D_1_1CMaterialo0">_LightMaps</a>.resize(lmapId+1);
+00395 <a class="code" href="a02839.html#NL3D_1_1CMaterialo0">_LightMaps</a>[lmapId].Texture= lmap;
+00396
+00397 <a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>|=<a class="code" href="a05363.html#a94">IDRV_TOUCHED_LIGHTMAP</a>;
+00398 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz382_2" doxytag="NL3D::CMaterial::setLightMapColor" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setLightMapColor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>lmapId</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03337.html">CRGBA</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>color</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set the lightmap color (usefull in 8 bits format) (def : White).
+<p>
+
+<p>
+Definition at line <a class="el" href="a05968.html#l00424">424</a> of file <a class="el" href="a05968.html">material.cpp</a>.
+<p>
+References <a class="el" href="a05969.html#l00610">_LightMaps</a>, <a class="el" href="a05969.html#l00568">_ShaderType</a>, <a class="el" href="a05969.html#l00577">_Touched</a>, <a class="el" href="a05969.html#l00059">NL3D::IDRV_TOUCHED_LIGHTMAP</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00425 {
+00426 <span class="keywordflow">if</span> (<a class="code" href="a02839.html#NL3D_1_1CMaterialr7">_ShaderType</a>==CMaterial::LightMap)
+00427 {
+00428 <span class="keywordflow">if</span>(lmapId&gt;=<a class="code" href="a02839.html#NL3D_1_1CMaterialo0">_LightMaps</a>.size())
+00429 <a class="code" href="a02839.html#NL3D_1_1CMaterialo0">_LightMaps</a>.resize(lmapId+1);
+00430 <a class="code" href="a02839.html#NL3D_1_1CMaterialo0">_LightMaps</a>[lmapId].Color= color;
+00431
+00432 <a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>|=<a class="code" href="a05363.html#a94">IDRV_TOUCHED_LIGHTMAP</a>;
+00433 }
+00434 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz382_3" doxytag="NL3D::CMaterial::setLightMapFactor" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setLightMapFactor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>lmapId</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03337.html">CRGBA</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>factor</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set the lightmap intensity. (def : White).
+<p>
+
+<p>
+Definition at line <a class="el" href="a05968.html#l00411">411</a> of file <a class="el" href="a05968.html">material.cpp</a>.
+<p>
+References <a class="el" href="a05969.html#l00610">_LightMaps</a>, <a class="el" href="a05969.html#l00568">_ShaderType</a>, <a class="el" href="a05969.html#l00577">_Touched</a>, <a class="el" href="a05969.html#l00059">NL3D::IDRV_TOUCHED_LIGHTMAP</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00412 {
+00413 <span class="keywordflow">if</span> (<a class="code" href="a02839.html#NL3D_1_1CMaterialr7">_ShaderType</a>==CMaterial::LightMap)
+00414 {
+00415 <span class="keywordflow">if</span>(lmapId&gt;=<a class="code" href="a02839.html#NL3D_1_1CMaterialo0">_LightMaps</a>.size())
+00416 <a class="code" href="a02839.html#NL3D_1_1CMaterialo0">_LightMaps</a>.resize(lmapId+1);
+00417 <a class="code" href="a02839.html#NL3D_1_1CMaterialo0">_LightMaps</a>[lmapId].Factor= factor;
+00418
+00419 <a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>|=<a class="code" href="a05363.html#a94">IDRV_TOUCHED_LIGHTMAP</a>;
+00420 }
+00421 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz382_4" doxytag="NL3D::CMaterial::setLightMapMulx2" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setLightMapMulx2 </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>val</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set the multiply x 2 mode to burn colors (used with lightmaps 8 bits) (def: false).
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00461">461</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00611">_LightMapsMulx2</a>.
+<p>
+<div class="fragment"><pre>00461 { <a class="code" href="a02839.html#NL3D_1_1CMaterialo1">_LightMapsMulx2</a> = val; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz376_16" doxytag="NL3D::CMaterial::setOpacity" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setOpacity </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a7">uint8</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>opa</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set the Opacity part ot material. Usefull only if setLighting(true) has been done.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05641.html#l00173">173</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00577">_Touched</a>, <a class="el" href="a06340.html#l00340">NLMISC::CRGBA::A</a>, <a class="el" href="a05969.html#l00055">NL3D::IDRV_TOUCHED_LIGHTING</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+Referenced by <a class="el" href="a05995.html#l00037">NL3D::CMeshBlender::prepareRenderForGlobalAlpha()</a>, <a class="el" href="a05995.html#l00099">NL3D::CMeshBlender::restoreRender()</a>, and <a class="el" href="a05827.html#l00106">NL3D::CInstanceMaterialUser::setOpacity()</a>.
+<p>
+<div class="fragment"><pre>00174 {
+00175 <a class="code" href="a02839.html#NL3D_1_1CMaterialr3">_Diffuse</a>.<a class="code" href="a03337.html#NLMISC_1_1CRGBAo0">A</a>= opa;
+00176 <a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>|=<a class="code" href="a05363.html#a90">IDRV_TOUCHED_LIGHTING</a>;
+00177 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMateriala8" doxytag="NL3D::CMaterial::setShader" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setShader </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02839.html#NL3D_1_1CMaterialw65">TShader</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>val</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set the shader for this material. All textures are reseted!!
+<p>
+Definition at line <a class="el" href="a05968.html#l00282">282</a> of file <a class="el" href="a05968.html">material.cpp</a>.
+<p>
+References <a class="el" href="a05969.html#l00568">_ShaderType</a>, <a class="el" href="a05969.html#l00577">_Touched</a>, <a class="el" href="a02839.html#NL3D_1_1CMaterialz358_2NL3D_1_1CMaterialw11">Constant</a>, <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a05969.html#l00051">NL3D::IDRV_TOUCHED_SHADER</a>, <a class="el" href="a02839.html#NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw31">InterpolateTexture</a>, <a class="el" href="a02839.html#NL3D_1_1CMaterialw65NL3D_1_1CMaterialw38">LightMap</a>, <a class="el" href="a02839.html#NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw39">Modulate</a>, <a class="el" href="a02839.html#NL3D_1_1CMaterialz358_2NL3D_1_1CMaterialw50">Previous</a>, <a class="el" href="a02839.html#NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw51">Replace</a>, <a class="el" href="a05968.html#l00322">setTexture()</a>, <a class="el" href="a02839.html#NL3D_1_1CMaterialz358_0NL3D_1_1CMaterialw54">SrcAlpha</a>, <a class="el" href="a02839.html#NL3D_1_1CMaterialz358_0NL3D_1_1CMaterialw56">SrcColor</a>, <a class="el" href="a05641.html#l00247">texEnvArg0Alpha()</a>, <a class="el" href="a05641.html#l00221">texEnvArg0RGB()</a>, <a class="el" href="a05641.html#l00229">texEnvArg1RGB()</a>, <a class="el" href="a05641.html#l00240">texEnvOpAlpha()</a>, <a class="el" href="a05641.html#l00214">texEnvOpRGB()</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a02839.html#NL3D_1_1CMaterialw65NL3D_1_1CMaterialw68">UserColor</a>.
+<p>
+Referenced by <a class="el" href="a05559.html#l00217">NL3D::CCloudScape::CCloudScape()</a>, <a class="el" href="a06737.html#l01170">NL3D::CWaterModel::doSimpleRender()</a>, <a class="el" href="a06103.html#l00055">NL3D::CNoise3d::init()</a>, <a class="el" href="a05968.html#l00059">initUnlit()</a>, <a class="el" href="a05559.html#l00051">NL3D::SCloudTexture3D::SCloudTexture3D()</a>, <a class="el" href="a05559.html#l00126">NL3D::SCloudTextureClamp::SCloudTextureClamp()</a>, and <a class="el" href="a06737.html#l00831">NL3D::CWaterModel::setupMaterialNVertexShader()</a>.
+<p>
+<div class="fragment"><pre>00283 {
+00284 <span class="comment">// First, reset all textures.</span>
+00285 <a class="code" href="a04558.html#a15">uint</a> nTexts= <a class="code" href="a05363.html#a83">IDRV_MAT_MAXTEXTURES</a>;
+00286 <span class="comment">// If user color or lightmap, set only the 1st.</span>
+00287 <span class="keywordflow">if</span>(<a class="code" href="a02839.html#NL3D_1_1CMaterialr7">_ShaderType</a>==<a class="code" href="a02839.html#NL3D_1_1CMaterialw65NL3D_1_1CMaterialw38">LightMap</a> || <a class="code" href="a02839.html#NL3D_1_1CMaterialr7">_ShaderType</a>==<a class="code" href="a02839.html#NL3D_1_1CMaterialw65NL3D_1_1CMaterialw68">UserColor</a>)
+00288 nTexts=1;
+00289 <span class="comment">// reset all needed</span>
+00290 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> i=0;i&lt;nTexts;i++)
+00291 <a class="code" href="a02839.html#NL3D_1_1CMaterialz364_1">setTexture</a>(i ,NULL);
+00292
+00293 <span class="comment">// If userColor, use TexEnv caps (we got it, so use it :) ).</span>
+00294 <span class="keywordflow">if</span>(val== CMaterial::UserColor)
+00295 {
+00296 <span class="comment">// force normal, to setup TexEnvMode correclty. </span>
+00297 <a class="code" href="a02839.html#NL3D_1_1CMaterialr7">_ShaderType</a>=CMaterial::Normal;
+00298
+00299 <span class="comment">// First stage, interpolate Constant and texture with Alpha of texture.</span>
+00300 <a class="code" href="a02839.html#NL3D_1_1CMaterialz378_18">texEnvOpRGB</a>(0, InterpolateTexture);
+00301 <a class="code" href="a02839.html#NL3D_1_1CMaterialz378_14">texEnvArg0RGB</a>(0, Texture, SrcColor);
+00302 <a class="code" href="a02839.html#NL3D_1_1CMaterialz378_16">texEnvArg1RGB</a>(0, Constant, SrcColor);
+00303 <span class="comment">// And just use Alpha Diffuse.</span>
+00304 <a class="code" href="a02839.html#NL3D_1_1CMaterialz378_17">texEnvOpAlpha</a>(0, Replace);
+00305 <a class="code" href="a02839.html#NL3D_1_1CMaterialz378_13">texEnvArg0Alpha</a>(0, Previous, SrcAlpha);
+00306
+00307 <span class="comment">// Second stage, modulate result with diffuse color.</span>
+00308 <a class="code" href="a02839.html#NL3D_1_1CMaterialz378_18">texEnvOpRGB</a>(1, Modulate);
+00309 <a class="code" href="a02839.html#NL3D_1_1CMaterialz378_14">texEnvArg0RGB</a>(1, Previous, SrcColor);
+00310 <a class="code" href="a02839.html#NL3D_1_1CMaterialz378_16">texEnvArg1RGB</a>(1, Diffuse, SrcColor);
+00311 <span class="comment">// And just use Alpha Diffuse.</span>
+00312 <a class="code" href="a02839.html#NL3D_1_1CMaterialz378_17">texEnvOpAlpha</a>(1, Replace);
+00313 <a class="code" href="a02839.html#NL3D_1_1CMaterialz378_13">texEnvArg0Alpha</a>(1, Previous, SrcAlpha);
+00314 }
+00315
+00316 <a class="code" href="a02839.html#NL3D_1_1CMaterialr7">_ShaderType</a>= val;
+00317 <a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>|=<a class="code" href="a05363.html#a86">IDRV_TOUCHED_SHADER</a>;
+00318 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz376_17" doxytag="NL3D::CMaterial::setShininess" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setShininess </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>shininess</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set the shininess part ot material. Usefull only if setLighting(true) has been done.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05641.html#l00185">185</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00577">_Touched</a>, and <a class="el" href="a05969.html#l00055">NL3D::IDRV_TOUCHED_LIGHTING</a>.
+<p>
+Referenced by <a class="el" href="a05827.html#l00116">NL3D::CInstanceMaterialUser::setShininess()</a>.
+<p>
+<div class="fragment"><pre>00186 {
+00187 <a class="code" href="a02839.html#NL3D_1_1CMaterialr8">_Shininess</a>= shininess;
+00188 <a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>|=<a class="code" href="a05363.html#a90">IDRV_TOUCHED_LIGHTING</a>;
+00189 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz376_18" doxytag="NL3D::CMaterial::setSpecular" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setSpecular </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>specular</em> = <a class="el" href="a03337.html">CRGBA</a>(0, 0, 0) </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set the specular part ot material. Usefull only if setLighting(true) has been done.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05641.html#l00179">179</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00577">_Touched</a>, and <a class="el" href="a05969.html#l00055">NL3D::IDRV_TOUCHED_LIGHTING</a>.
+<p>
+Referenced by <a class="el" href="a05968.html#l00139">serial()</a>, and <a class="el" href="a05827.html#l00111">NL3D::CInstanceMaterialUser::setSpecular()</a>.
+<p>
+<div class="fragment"><pre>00180 {
+00181 <a class="code" href="a02839.html#NL3D_1_1CMaterialr9">_Specular</a>= specular;
+00182 <a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>|=<a class="code" href="a05363.html#a90">IDRV_TOUCHED_LIGHTING</a>;
+00183 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz366_6" doxytag="NL3D::CMaterial::setSrcBlend" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setSrcBlend </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02839.html#NL3D_1_1CMaterialw58">TBlend</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>val</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05641.html#l00052">52</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00570">_SrcBlend</a>, <a class="el" href="a05969.html#l00577">_Touched</a>, and <a class="el" href="a05969.html#l00049">NL3D::IDRV_TOUCHED_BLENDFUNC</a>.
+<p>
+Referenced by <a class="el" href="a06737.html#l01170">NL3D::CWaterModel::doSimpleRender()</a>, <a class="el" href="a05660.html#l00173">NL3D::CDRU::drawLine()</a>, <a class="el" href="a05660.html#l00241">NL3D::CDRU::drawQuad()</a>, <a class="el" href="a05660.html#l00206">NL3D::CDRU::drawTriangle()</a>, <a class="el" href="a05722.html#l00049">NL3D::CFontManager::getFontMaterial()</a>, <a class="el" href="a05862.html#l00288">NL3D::CLandscape::init()</a>, <a class="el" href="a05995.html#l00037">NL3D::CMeshBlender::prepareRenderForGlobalAlpha()</a>, <a class="el" href="a05995.html#l00132">NL3D::CMeshBlender::prepareRenderForGlobalAlphaCoarseMesh()</a>, <a class="el" href="a05995.html#l00099">NL3D::CMeshBlender::restoreRender()</a>, <a class="el" href="a05995.html#l00181">NL3D::CMeshBlender::restoreRenderCoarseMesh()</a>, <a class="el" href="a05971.html#l00129">NL3D::CMaterialUser::setSrcBlend()</a>, <a class="el" href="a05827.html#l00250">NL3D::CInstanceMaterialUser::setSrcBlend()</a>, and <a class="el" href="a06737.html#l00831">NL3D::CWaterModel::setupMaterialNVertexShader()</a>.
+<p>
+<div class="fragment"><pre>00053 {
+00054 <a class="code" href="a02839.html#NL3D_1_1CMaterialr10">_SrcBlend</a>=val;
+00055 <a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>|=<a class="code" href="a05363.html#a84">IDRV_TOUCHED_BLENDFUNC</a>;
+00056 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMateriala9" doxytag="NL3D::CMaterial::setStainedGlassWindow" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setStainedGlassWindow </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>val</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00481">481</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00578">_StainedGlassWindow</a>.
+<p>
+<div class="fragment"><pre>00481 { <a class="code" href="a02839.html#NL3D_1_1CMaterialr11">_StainedGlassWindow</a> = val; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz368_2" doxytag="NL3D::CMaterial::setTexAddressingMode" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setTexAddressingMode </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a7">uint8</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>stage</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02839.html#NL3D_1_1CMaterialz360_0">TTexAddressingMode</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>mode</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set a texture addressing mode for the given stage. You should test if this mode is supported in the driver you plane to use. Texture addressing modes should have been enabled otherwise an assertion is raised
+<p>
+Definition at line <a class="el" href="a05968.html#l00505">505</a> of file <a class="el" href="a05968.html">material.cpp</a>.
+<p>
+References <a class="el" href="a05969.html#l00569">_Flags</a>, <a class="el" href="a05969.html#l00590">_TexAddrMode</a>, <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a05969.html#l00080">NL3D::IDRV_MAT_TEX_ADDR</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a02839.html#NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw59">TexAddrCount</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+Referenced by <a class="el" href="a06257.html#l00812">NL3D::CPSMultiTexturedParticle::setupMultiTexEnv()</a>.
+<p>
+<div class="fragment"><pre>00506 {
+00507 <a class="code" href="a04199.html#a6">nlassert</a>(_Flags &amp; IDRV_MAT_TEX_ADDR);
+00508 <a class="code" href="a04199.html#a6">nlassert</a>(stage &lt; IDRV_MAT_MAXTEXTURES);
+00509 <a class="code" href="a04199.html#a6">nlassert</a>(mode &lt; TexAddrCount);
+00510 <a class="code" href="a02839.html#NL3D_1_1CMaterialo2">_TexAddrMode</a>[stage] = (<a class="code" href="a04558.html#a7">uint8</a>) mode;
+00511 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz378_8" doxytag="NL3D::CMaterial::setTexCoordGen" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setTexCoordGen </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>stage</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>generate</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Decompose a user texture matrix, We assume that this is only a matrix for 2d texture.
+<p>
+find the rotation around w
+<p>
+Definition at line <a class="el" href="a05641.html#l00304">304</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00569">_Flags</a>, <a class="el" href="a05969.html#l00083">NL3D::IDRV_MAT_GEN_TEX_0</a>, <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06372.html#l00059">NL3D::CShadowMapManager::CShadowMapManager()</a>.
+<p>
+<div class="fragment"><pre>00305 {
+00306 <a class="code" href="a04199.html#a6">nlassert</a>(stage&lt;IDRV_MAT_MAXTEXTURES);
+00307 <span class="keywordflow">if</span> (generate)
+00308 <a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a>|=(<a class="code" href="a05363.html#a111">IDRV_MAT_GEN_TEX_0</a>&lt;&lt;stage);
+00309 <span class="keywordflow">else</span>
+00310 <a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a>&amp;=~(<a class="code" href="a05363.html#a111">IDRV_MAT_GEN_TEX_0</a>&lt;&lt;stage);
+00311 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz378_9" doxytag="NL3D::CMaterial::setTexCoordGenMode" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setTexCoordGenMode </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>stage</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02839.html#NL3D_1_1CMaterialw66">TTexCoordGenMode</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>mode</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Decompose a user texture matrix, We assume that this is only a matrix for 2d texture.
+<p>
+find the rotation around w
+<p>
+Definition at line <a class="el" href="a05968.html#l00567">567</a> of file <a class="el" href="a05968.html">material.cpp</a>.
+<p>
+References <a class="el" href="a05969.html#l00580">_TexCoordGenMode</a>, <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a05969.html#l00106">NL3D::IDRV_MAT_TEX_GEN_MASK</a>, <a class="el" href="a05969.html#l00105">NL3D::IDRV_MAT_TEX_GEN_SHIFT</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06372.html#l00059">NL3D::CShadowMapManager::CShadowMapManager()</a>.
+<p>
+<div class="fragment"><pre>00568 {
+00569 <span class="keywordflow">if</span>(stage&gt;=<a class="code" href="a05363.html#a83">IDRV_MAT_MAXTEXTURES</a>)
+00570 <span class="keywordflow">return</span>;
+00571 <a class="code" href="a02839.html#NL3D_1_1CMaterialr12">_TexCoordGenMode</a>&amp;= ~ (<a class="code" href="a05363.html#a130">IDRV_MAT_TEX_GEN_MASK</a> &lt;&lt; (stage*<a class="code" href="a05363.html#a129">IDRV_MAT_TEX_GEN_SHIFT</a>));
+00572 <a class="code" href="a02839.html#NL3D_1_1CMaterialr12">_TexCoordGenMode</a>|= ((mode&amp;<a class="code" href="a05363.html#a130">IDRV_MAT_TEX_GEN_MASK</a>) &lt;&lt; (stage*<a class="code" href="a05363.html#a129">IDRV_MAT_TEX_GEN_SHIFT</a>));
+00573 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz378_10" doxytag="NL3D::CMaterial::setTexEnvMode" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setTexEnvMode </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>stage</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>packed</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+For push/pop only, set the packed version of the environnment mode.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05641.html#l00284">284</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00568">_ShaderType</a>, <a class="el" href="a05969.html#l00591">_TexEnvs</a>, <a class="el" href="a05969.html#l00504">NL3D::CMaterial::CTexEnv::EnvPacked</a>, <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a05862.html#l00939">NL3D::CLandscape::render()</a>, and <a class="el" href="a06250.html#l01696">NL3D::CPSConstraintMesh::setupMaterialColor()</a>.
+<p>
+<div class="fragment"><pre>00285 {
+00286 <a class="code" href="a04199.html#a6">nlassert</a>(_ShaderType==CMaterial::Normal);
+00287 <a class="code" href="a04199.html#a6">nlassert</a>(stage&lt;IDRV_MAT_MAXTEXTURES);
+00288 <a class="code" href="a02839.html#NL3D_1_1CMaterialo3">_TexEnvs</a>[stage].<a class="code" href="a02842.html#NL3D_1_1CMaterial_1_1CTexEnvo2">EnvPacked</a>= packed;
+00289 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz364_1" doxytag="NL3D::CMaterial::setTexture" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setTexture </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a7">uint8</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>stage</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03487.html">ITexture</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>ptex</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+set a texture for a special stage. Different usage according to shader:<ul>
+<li>Normal shader do multitexturing (see texEnv*() methods).</li><li>UserColor assert if stage!=0. (NB: internal only: UserColor setup texture to stage 0 and 1).</li><li>LightMap assert if stage!=0.</li></ul>
+
+<p>
+Definition at line <a class="el" href="a05968.html#l00322">322</a> of file <a class="el" href="a05968.html">material.cpp</a>.
+<p>
+References <a class="el" href="a05969.html#l00568">_ShaderType</a>, <a class="el" href="a05969.html#l00577">_Touched</a>, <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a05969.html#l00065">NL3D::IDRV_TOUCHED_TEX</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+Referenced by <a class="el" href="a05935.html#l00068">NL3D::CLodCharacterManager::CLodCharacterManager()</a>, <a class="el" href="a06250.html#l00092">NL3D::CreateDummyMesh()</a>, <a class="el" href="a06372.html#l00059">NL3D::CShadowMapManager::CShadowMapManager()</a>, <a class="el" href="a05557.html#l00328">NL3D::CCloud::disp()</a>, <a class="el" href="a05557.html#l00606">NL3D::CCloud::dispBill()</a>, <a class="el" href="a05623.html#l00085">NL3D::CDeform2d::doDeform()</a>, <a class="el" href="a06737.html#l01170">NL3D::CWaterModel::doSimpleRender()</a>, <a class="el" href="a05660.html#l00136">NL3D::CDRU::drawBitmap()</a>, <a class="el" href="a05826.html#l00112">NL3D::CInstanceMaterialUser::emptyTexture()</a>, <a class="el" href="a06257.html#l00573">NL3D::CPSMaterial::forceModulateConstantColor()</a>, <a class="el" href="a06257.html#l00598">NL3D::CPSMaterial::forceTexturedMaterialStages()</a>, <a class="el" href="a05722.html#l00049">NL3D::CFontManager::getFontMaterial()</a>, <a class="el" href="a06103.html#l00055">NL3D::CNoise3d::init()</a>, <a class="el" href="a05559.html#l00143">NL3D::SCloudTextureClamp::init()</a>, <a class="el" href="a05559.html#l00091">NL3D::SCloudTexture3D::init()</a>, <a class="el" href="a05968.html#l00059">initUnlit()</a>, <a class="el" href="a06698.html#l01604">NL3D::CVegetableManager::loadTexture()</a>, <a class="el" href="a06040.html#l00062">NL3D::CMotionBlur::performMotionBlur()</a>, <a class="el" href="a06698.html#l01713">NL3D::CVegetableManager::render()</a>, <a class="el" href="a05862.html#l00939">NL3D::CLandscape::render()</a>, <a class="el" href="a06372.html#l00445">NL3D::CShadowMapManager::renderProject()</a>, <a class="el" href="a05968.html#l00282">setShader()</a>, <a class="el" href="a05971.html#l00082">NL3D::CMaterialUser::setTexture()</a>, <a class="el" href="a05826.html#l00074">NL3D::CInstanceMaterialUser::setTextureFileName()</a>, <a class="el" href="a06257.html#l00733">NL3D::CPSMultiTexturedParticle::setupMaterial()</a>, <a class="el" href="a06235.html#l00286">NL3D::CPSFanLight::setupMaterial()</a>, <a class="el" href="a06257.html#l00812">NL3D::CPSMultiTexturedParticle::setupMultiTexEnv()</a>, <a class="el" href="a05712.html#l00063">NL3D::CFlareModel::traverseRender()</a>, <a class="el" href="a06372.html#l00745">NL3D::CShadowMapManager::updateBlurTexture()</a>, <a class="el" href="a06277.html#l00190">NL3D::CPSRibbonLookAt::updateMatAndVbForColor()</a>, <a class="el" href="a06279.html#l00445">NL3D::CPSShockWave::updateMatAndVbForTexture()</a>, <a class="el" href="a06262.html#l00249">NL3D::CPSQuad::updateMatAndVbForTexture()</a>, <a class="el" href="a06283.html#l00443">NL3D::CPSTailDot::updateMaterial()</a>, <a class="el" href="a06273.html#l00890">NL3D::CPSRibbon::updateTexturedMaterial()</a>, and <a class="el" href="a06273.html#l00824">NL3D::CPSRibbon::updateUntexturedMaterial()</a>.
+<p>
+<div class="fragment"><pre>00323 {
+00324 <a class="code" href="a04199.html#a6">nlassert</a>(n&lt;IDRV_MAT_MAXTEXTURES);
+00325
+00326 <span class="comment">// User Color material?</span>
+00327 <span class="keywordflow">if</span>( <a class="code" href="a02839.html#NL3D_1_1CMaterialr7">_ShaderType</a>== CMaterial::UserColor)
+00328 {
+00329 <span class="comment">// user color. Only texture 0 can be set.</span>
+00330 <a class="code" href="a04199.html#a6">nlassert</a>( n==0 );
+00331
+00332 <span class="comment">// Affect the 2 first textures.</span>
+00333 <a class="code" href="a02839.html#NL3D_1_1CMaterialo4">_Textures</a>[0]=ptex;
+00334 <a class="code" href="a02839.html#NL3D_1_1CMaterialo4">_Textures</a>[1]=ptex;
+00335 <a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>|=<a class="code" href="a05363.html#a97">IDRV_TOUCHED_TEX</a>[0];
+00336 <a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>|=<a class="code" href="a05363.html#a97">IDRV_TOUCHED_TEX</a>[1];
+00337 }
+00338 <span class="keywordflow">else</span> <span class="keywordflow">if</span>( <a class="code" href="a02839.html#NL3D_1_1CMaterialr7">_ShaderType</a>== CMaterial::LightMap)
+00339 {
+00340 <span class="comment">// Only texture 0 can be set.</span>
+00341 <a class="code" href="a04199.html#a6">nlassert</a>( n==0 );
+00342 <a class="code" href="a02839.html#NL3D_1_1CMaterialo4">_Textures</a>[n]=ptex;
+00343 <a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>|=<a class="code" href="a05363.html#a97">IDRV_TOUCHED_TEX</a>[n];
+00344 }
+00345 <span class="comment">// Normal material?</span>
+00346 <span class="keywordflow">else</span>
+00347 {
+00348 <a class="code" href="a02839.html#NL3D_1_1CMaterialo4">_Textures</a>[n]=ptex;
+00349 <a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>|=<a class="code" href="a05363.html#a97">IDRV_TOUCHED_TEX</a>[n];
+00350 }
+00351 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz380_1" doxytag="NL3D::CMaterial::setUserColor" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setUserColor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>userColor</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This part is valid for Normal shaders (nlassert). <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a02839.html#NL3D_1_1CMaterialw65">TShader</a>.</dd></dl>
+
+<p>
+Definition at line <a class="el" href="a05641.html#l00321">321</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00568">_ShaderType</a>, <a class="el" href="a05969.html#l00591">_TexEnvs</a>, <a class="el" href="a05969.html#l00520">NL3D::CMaterial::CTexEnv::ConstantColor</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+Referenced by <a class="el" href="a05827.html#l00173">NL3D::CInstanceMaterialUser::setUserColor()</a>.
+<p>
+<div class="fragment"><pre>00322 {
+00323 <a class="code" href="a04199.html#a6">nlassert</a>(_ShaderType==CMaterial::UserColor);
+00324 <span class="comment">// setup stage 0 constant color (don't use texConstantColor() because of assert).</span>
+00325 <a class="code" href="a02839.html#NL3D_1_1CMaterialo3">_TexEnvs</a>[0].<a class="code" href="a02842.html#NL3D_1_1CMaterial_1_1CTexEnvo0">ConstantColor</a>= userColor;
+00326 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz378_11" doxytag="NL3D::CMaterial::setUserTexMat" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setUserTexMat </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>stage</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>m</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set a new texture matrix for the given stage.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05641.html#l00369">369</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00585">_TexUserMat</a>, <a class="el" href="a05641.html#l00362">isUserTexMatEnabled()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06358.html#l00141">NL3D::CSegRemanence::render()</a>, <a class="el" href="a06372.html#l00445">NL3D::CShadowMapManager::renderProject()</a>, <a class="el" href="a06250.html#l01729">NL3D::CPSConstraintMesh::setupRenderPasses()</a>, <a class="el" href="a06273.html#l01107">NL3D::CPSRibbon::setupTextureMatrix()</a>, <a class="el" href="a06279.html#l00267">NL3D::CPSShockWave::setupUFactor()</a>, and <a class="el" href="a05827.html#l00312">NL3D::CInstanceMaterialUser::setUserTexMat()</a>.
+<p>
+<div class="fragment"><pre>00370 {
+00371 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a02839.html#NL3D_1_1CMaterialz378_7">isUserTexMatEnabled</a>(stage));
+00372 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a02839.html#NL3D_1_1CMaterialr13">_TexUserMat</a>.get() != NULL);
+00373 <a class="code" href="a02839.html#NL3D_1_1CMaterialr13">_TexUserMat</a>-&gt;TexMat[stage] = m;
+00374 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz374_3" doxytag="NL3D::CMaterial::setZBias" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setZBias </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>val</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The z bias is a z dispacement of the object to solve z precision problem. The bias is gived in world coordinate units. Positive bias give a lower z priority, negative bias give a higher bias priority.
+<p>
+Definition at line <a class="el" href="a05641.html#l00112">112</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00577">_Touched</a>, <a class="el" href="a05969.html#l00572">_ZBias</a>, and <a class="el" href="a05969.html#l00053">NL3D::IDRV_TOUCHED_ZBIAS</a>.
+<p>
+Referenced by <a class="el" href="a05968.html#l00059">initUnlit()</a>, <a class="el" href="a06258.html#l00841">NL3D::CPSMaterial::setZBias()</a>, and <a class="el" href="a05971.html#l00210">NL3D::CMaterialUser::setZBias()</a>.
+<p>
+<div class="fragment"><pre>00113 {
+00114 <a class="code" href="a02839.html#NL3D_1_1CMaterialr15">_ZBias</a>=val;
+00115 <a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>|=<a class="code" href="a05363.html#a88">IDRV_TOUCHED_ZBIAS</a>;
+00116 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz374_4" doxytag="NL3D::CMaterial::setZFunc" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setZFunc </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02839.html#NL3D_1_1CMaterialw71">ZFunc</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>val</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05641.html#l00099">99</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00577">_Touched</a>, <a class="el" href="a05969.html#l00571">_ZFunction</a>, and <a class="el" href="a05969.html#l00052">NL3D::IDRV_TOUCHED_ZFUNC</a>.
+<p>
+Referenced by <a class="el" href="a05559.html#l00217">NL3D::CCloudScape::CCloudScape()</a>, <a class="el" href="a06372.html#l00059">NL3D::CShadowMapManager::CShadowMapManager()</a>, <a class="el" href="a05557.html#l00328">NL3D::CCloud::disp()</a>, <a class="el" href="a06350.html#l01224">NL3D::CInstanceGroup::displayDebugClusters()</a>, <a class="el" href="a06246.html#l02038">NL3D::CPSLocatedBindable::displayIcon2d()</a>, <a class="el" href="a05623.html#l00085">NL3D::CDeform2d::doDeform()</a>, <a class="el" href="a05660.html#l00136">NL3D::CDRU::drawBitmap()</a>, <a class="el" href="a05660.html#l00173">NL3D::CDRU::drawLine()</a>, <a class="el" href="a05660.html#l00241">NL3D::CDRU::drawQuad()</a>, <a class="el" href="a05660.html#l00206">NL3D::CDRU::drawTriangle()</a>, <a class="el" href="a06257.html#l00508">NL3D::CPSMaterial::enableZTest()</a>, <a class="el" href="a05595.html#l00605">NL3D::CRenderStringBuffer::flush()</a>, <a class="el" href="a05595.html#l00637">NL3D::CRenderStringBuffer::flushUnProjected()</a>, <a class="el" href="a06279.html#l00371">NL3D::CPSShockWave::init()</a>, <a class="el" href="a06235.html#l00442">NL3D::CPSFanLight::init()</a>, <a class="el" href="a06226.html#l00217">NL3D::CPSDot::init()</a>, <a class="el" href="a06103.html#l00055">NL3D::CNoise3d::init()</a>, <a class="el" href="a05968.html#l00059">initUnlit()</a>, <a class="el" href="a06040.html#l00062">NL3D::CMotionBlur::performMotionBlur()</a>, <a class="el" href="a05595.html#l00084">NL3D::CComputedString::render2D()</a>, <a class="el" href="a05595.html#l00151">NL3D::CComputedString::render3D()</a>, <a class="el" href="a05559.html#l00051">NL3D::SCloudTexture3D::SCloudTexture3D()</a>, <a class="el" href="a05559.html#l00126">NL3D::SCloudTextureClamp::SCloudTextureClamp()</a>, <a class="el" href="a05971.html#l00200">NL3D::CMaterialUser::setZFunc()</a>, <a class="el" href="a06229.html#l00447">NL3D::CPSEmitter::showTool()</a>, and <a class="el" href="a05712.html#l00063">NL3D::CFlareModel::traverseRender()</a>.
+<p>
+<div class="fragment"><pre>00100 {
+00101 <a class="code" href="a02839.html#NL3D_1_1CMaterialr16">_ZFunction</a>=val;
+00102 <a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>|=<a class="code" href="a05363.html#a87">IDRV_TOUCHED_ZFUNC</a>;
+00103 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz374_5" doxytag="NL3D::CMaterial::setZWrite" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::setZWrite </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>active</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05641.html#l00105">105</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00569">_Flags</a>, <a class="el" href="a05969.html#l00577">_Touched</a>, <a class="el" href="a05969.html#l00072">NL3D::IDRV_MAT_ZWRITE</a>, and <a class="el" href="a05969.html#l00057">NL3D::IDRV_TOUCHED_ZWRITE</a>.
+<p>
+Referenced by <a class="el" href="a05559.html#l00217">NL3D::CCloudScape::CCloudScape()</a>, <a class="el" href="a06257.html#l00485">NL3D::CPSMaterial::CPSMaterial()</a>, <a class="el" href="a06372.html#l00059">NL3D::CShadowMapManager::CShadowMapManager()</a>, <a class="el" href="a05557.html#l00328">NL3D::CCloud::disp()</a>, <a class="el" href="a06285.html#l00169">NL3D::CPSUtil::displayArrow()</a>, <a class="el" href="a06285.html#l00118">NL3D::CPSUtil::displayBBox()</a>, <a class="el" href="a06350.html#l01224">NL3D::CInstanceGroup::displayDebugClusters()</a>, <a class="el" href="a06246.html#l02038">NL3D::CPSLocatedBindable::displayIcon2d()</a>, <a class="el" href="a06737.html#l01170">NL3D::CWaterModel::doSimpleRender()</a>, <a class="el" href="a05595.html#l00605">NL3D::CRenderStringBuffer::flush()</a>, <a class="el" href="a05595.html#l00637">NL3D::CRenderStringBuffer::flushUnProjected()</a>, <a class="el" href="a06103.html#l00055">NL3D::CNoise3d::init()</a>, <a class="el" href="a05968.html#l00059">initUnlit()</a>, <a class="el" href="a06040.html#l00062">NL3D::CMotionBlur::performMotionBlur()</a>, <a class="el" href="a05995.html#l00037">NL3D::CMeshBlender::prepareRenderForGlobalAlpha()</a>, <a class="el" href="a05995.html#l00132">NL3D::CMeshBlender::prepareRenderForGlobalAlphaCoarseMesh()</a>, <a class="el" href="a06698.html#l01713">NL3D::CVegetableManager::render()</a>, <a class="el" href="a05595.html#l00084">NL3D::CComputedString::render2D()</a>, <a class="el" href="a05595.html#l00151">NL3D::CComputedString::render3D()</a>, <a class="el" href="a05995.html#l00099">NL3D::CMeshBlender::restoreRender()</a>, <a class="el" href="a05995.html#l00181">NL3D::CMeshBlender::restoreRenderCoarseMesh()</a>, <a class="el" href="a05559.html#l00051">NL3D::SCloudTexture3D::SCloudTexture3D()</a>, <a class="el" href="a05559.html#l00126">NL3D::SCloudTextureClamp::SCloudTextureClamp()</a>, <a class="el" href="a06257.html#l00520">NL3D::CPSMaterial::setBlendingMode()</a>, <a class="el" href="a06737.html#l00831">NL3D::CWaterModel::setupMaterialNVertexShader()</a>, <a class="el" href="a05971.html#l00205">NL3D::CMaterialUser::setZWrite()</a>, <a class="el" href="a05827.html#l00265">NL3D::CInstanceMaterialUser::setZWrite()</a>, <a class="el" href="a06239.html#l00413">NL3D::CPSGravity::show()</a>, <a class="el" href="a06229.html#l00447">NL3D::CPSEmitter::showTool()</a>, and <a class="el" href="a05712.html#l00063">NL3D::CFlareModel::traverseRender()</a>.
+<p>
+<div class="fragment"><pre>00106 {
+00107 <span class="keywordflow">if</span> (active) <a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a>|=<a class="code" href="a05363.html#a101">IDRV_MAT_ZWRITE</a>;
+00108 <span class="keywordflow">else</span> <a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a>&amp;=~<a class="code" href="a05363.html#a101">IDRV_MAT_ZWRITE</a>;
+00109 <a class="code" href="a02839.html#NL3D_1_1CMaterialr14">_Touched</a>|=<a class="code" href="a05363.html#a92">IDRV_TOUCHED_ZWRITE</a>;
+00110 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz368_3" doxytag="NL3D::CMaterial::texAddrEnabled" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CMaterial::texAddrEnabled </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+test whether texture addressing mode are enabled
+<p>
+
+<p>
+Definition at line <a class="el" href="a05968.html#l00499">499</a> of file <a class="el" href="a05968.html">material.cpp</a>.
+<p>
+References <a class="el" href="a05969.html#l00569">_Flags</a>, and <a class="el" href="a05969.html#l00080">NL3D::IDRV_MAT_TEX_ADDR</a>.
+<p>
+<div class="fragment"><pre>00500 {
+00501 <span class="keywordflow">return</span>( <a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a> &amp; <a class="code" href="a05363.html#a109">IDRV_MAT_TEX_ADDR</a>) != 0;
+00502 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz378_12" doxytag="NL3D::CMaterial::texConstantColor" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::texConstantColor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>stage</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03337.html">CRGBA</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>color</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Setup the constant color for a stage. Used for the TTexSource:Constant.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05641.html#l00268">268</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00568">_ShaderType</a>, <a class="el" href="a05969.html#l00591">_TexEnvs</a>, <a class="el" href="a05969.html#l00520">NL3D::CMaterial::CTexEnv::ConstantColor</a>, <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06372.html#l00059">NL3D::CShadowMapManager::CShadowMapManager()</a>, <a class="el" href="a06226.html#l00122">NL3D::CPSDot::draw()</a>, <a class="el" href="a06257.html#l00573">NL3D::CPSMaterial::forceModulateConstantColor()</a>, <a class="el" href="a05862.html#l00939">NL3D::CLandscape::render()</a>, <a class="el" href="a05827.html#l00191">NL3D::CInstanceMaterialUser::setConstantColor()</a>, <a class="el" href="a06283.html#l00508">NL3D::CPSTailDot::setupGlobalColor()</a>, <a class="el" href="a06235.html#l00286">NL3D::CPSFanLight::setupMaterial()</a>, <a class="el" href="a06273.html#l01026">NL3D::CPSRibbon::setupTexturedGlobalColor()</a>, and <a class="el" href="a06273.html#l00984">NL3D::CPSRibbon::setupUntexturedGlobalColor()</a>.
+<p>
+<div class="fragment"><pre>00269 {
+00270 <a class="code" href="a04199.html#a6">nlassert</a>(_ShaderType==CMaterial::Normal);
+00271 <a class="code" href="a04199.html#a6">nlassert</a>(stage&lt;IDRV_MAT_MAXTEXTURES);
+00272 <a class="code" href="a02839.html#NL3D_1_1CMaterialo3">_TexEnvs</a>[stage].<a class="code" href="a02842.html#NL3D_1_1CMaterial_1_1CTexEnvo0">ConstantColor</a>= color;
+00273 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz378_13" doxytag="NL3D::CMaterial::texEnvArg0Alpha" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::texEnvArg0Alpha </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>stage</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02839.html#NL3D_1_1CMaterialz358_2">TTexSource</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>src</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02839.html#NL3D_1_1CMaterialz358_0">TTexOperand</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>oper</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Decompose a user texture matrix, We assume that this is only a matrix for 2d texture.
+<p>
+find the rotation around w
+<p>
+Definition at line <a class="el" href="a05641.html#l00247">247</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00568">_ShaderType</a>, <a class="el" href="a05969.html#l00591">_TexEnvs</a>, <a class="el" href="a02842.html#NL3D_1_1CMaterial_1_1CTexEnvo1">NL3D::CMaterial::CTexEnv::Env</a>, <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a02839.html#NL3D_1_1CMaterialz358_0NL3D_1_1CMaterialw32">InvSrcAlpha</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05646.html#l01124">src</a>, <a class="el" href="a02839.html#NL3D_1_1CMaterialz358_0NL3D_1_1CMaterialw54">SrcAlpha</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05559.html#l00217">NL3D::CCloudScape::CCloudScape()</a>, <a class="el" href="a06372.html#l00059">NL3D::CShadowMapManager::CShadowMapManager()</a>, <a class="el" href="a06737.html#l01170">NL3D::CWaterModel::doSimpleRender()</a>, <a class="el" href="a06257.html#l00573">NL3D::CPSMaterial::forceModulateConstantColor()</a>, <a class="el" href="a05862.html#l00288">NL3D::CLandscape::init()</a>, <a class="el" href="a06040.html#l00062">NL3D::CMotionBlur::performMotionBlur()</a>, <a class="el" href="a06698.html#l01713">NL3D::CVegetableManager::render()</a>, <a class="el" href="a05862.html#l00939">NL3D::CLandscape::render()</a>, <a class="el" href="a05559.html#l00051">NL3D::SCloudTexture3D::SCloudTexture3D()</a>, <a class="el" href="a05559.html#l00126">NL3D::SCloudTextureClamp::SCloudTextureClamp()</a>, <a class="el" href="a05968.html#l00282">setShader()</a>, <a class="el" href="a06250.html#l01696">NL3D::CPSConstraintMesh::setupMaterialColor()</a>, <a class="el" href="a06258.html#l00850">NL3D::SetupModulatedStage()</a>, and <a class="el" href="a05971.html#l00184">NL3D::CMaterialUser::texEnvArg0Alpha()</a>.
+<p>
+<div class="fragment"><pre>00248 {
+00249 <a class="code" href="a04199.html#a6">nlassert</a>(_ShaderType==CMaterial::Normal);
+00250 <a class="code" href="a04199.html#a6">nlassert</a>(stage&lt;IDRV_MAT_MAXTEXTURES);
+00251 <a class="code" href="a04199.html#a6">nlassert</a>(oper==SrcAlpha || oper==InvSrcAlpha);
+00252 <a class="code" href="a02839.html#NL3D_1_1CMaterialo3">_TexEnvs</a>[stage].<a class="code" href="a02842.html#NL3D_1_1CMaterial_1_1CTexEnvo1">Env</a>.SrcArg0Alpha= <a class="code" href="a04223.html#a652">src</a>;
+00253 <a class="code" href="a02839.html#NL3D_1_1CMaterialo3">_TexEnvs</a>[stage].<a class="code" href="a02842.html#NL3D_1_1CMaterial_1_1CTexEnvo1">Env</a>.OpArg0Alpha= oper;
+00254 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz378_14" doxytag="NL3D::CMaterial::texEnvArg0RGB" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::texEnvArg0RGB </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>stage</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02839.html#NL3D_1_1CMaterialz358_2">TTexSource</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>src</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02839.html#NL3D_1_1CMaterialz358_0">TTexOperand</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>oper</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Decompose a user texture matrix, We assume that this is only a matrix for 2d texture.
+<p>
+find the rotation around w
+<p>
+Definition at line <a class="el" href="a05641.html#l00221">221</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00568">_ShaderType</a>, <a class="el" href="a05969.html#l00591">_TexEnvs</a>, <a class="el" href="a02842.html#NL3D_1_1CMaterial_1_1CTexEnvo1">NL3D::CMaterial::CTexEnv::Env</a>, <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05646.html#l01124">src</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05559.html#l00217">NL3D::CCloudScape::CCloudScape()</a>, <a class="el" href="a06372.html#l00059">NL3D::CShadowMapManager::CShadowMapManager()</a>, <a class="el" href="a05557.html#l00328">NL3D::CCloud::disp()</a>, <a class="el" href="a06737.html#l01170">NL3D::CWaterModel::doSimpleRender()</a>, <a class="el" href="a06257.html#l00573">NL3D::CPSMaterial::forceModulateConstantColor()</a>, <a class="el" href="a05722.html#l00049">NL3D::CFontManager::getFontMaterial()</a>, <a class="el" href="a05862.html#l00288">NL3D::CLandscape::init()</a>, <a class="el" href="a06698.html#l01713">NL3D::CVegetableManager::render()</a>, <a class="el" href="a05862.html#l00939">NL3D::CLandscape::render()</a>, <a class="el" href="a05559.html#l00051">NL3D::SCloudTexture3D::SCloudTexture3D()</a>, <a class="el" href="a05968.html#l00282">setShader()</a>, <a class="el" href="a06250.html#l01696">NL3D::CPSConstraintMesh::setupMaterialColor()</a>, <a class="el" href="a06258.html#l00850">NL3D::SetupModulatedStage()</a>, and <a class="el" href="a05971.html#l00166">NL3D::CMaterialUser::texEnvArg0RGB()</a>.
+<p>
+<div class="fragment"><pre>00222 {
+00223 <a class="code" href="a04199.html#a6">nlassert</a>(_ShaderType==CMaterial::Normal);
+00224 <a class="code" href="a04199.html#a6">nlassert</a>(stage&lt;IDRV_MAT_MAXTEXTURES);
+00225 <a class="code" href="a02839.html#NL3D_1_1CMaterialo3">_TexEnvs</a>[stage].<a class="code" href="a02842.html#NL3D_1_1CMaterial_1_1CTexEnvo1">Env</a>.SrcArg0RGB= <a class="code" href="a04223.html#a652">src</a>;
+00226 <a class="code" href="a02839.html#NL3D_1_1CMaterialo3">_TexEnvs</a>[stage].<a class="code" href="a02842.html#NL3D_1_1CMaterial_1_1CTexEnvo1">Env</a>.OpArg0RGB= oper;
+00227 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz378_15" doxytag="NL3D::CMaterial::texEnvArg1Alpha" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::texEnvArg1Alpha </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>stage</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02839.html#NL3D_1_1CMaterialz358_2">TTexSource</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>src</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02839.html#NL3D_1_1CMaterialz358_0">TTexOperand</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>oper</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Decompose a user texture matrix, We assume that this is only a matrix for 2d texture.
+<p>
+find the rotation around w
+<p>
+Definition at line <a class="el" href="a05641.html#l00256">256</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00568">_ShaderType</a>, <a class="el" href="a05969.html#l00591">_TexEnvs</a>, <a class="el" href="a02842.html#NL3D_1_1CMaterial_1_1CTexEnvo1">NL3D::CMaterial::CTexEnv::Env</a>, <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a02839.html#NL3D_1_1CMaterialz358_0NL3D_1_1CMaterialw32">InvSrcAlpha</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05646.html#l01124">src</a>, <a class="el" href="a02839.html#NL3D_1_1CMaterialz358_0NL3D_1_1CMaterialw54">SrcAlpha</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05559.html#l00217">NL3D::CCloudScape::CCloudScape()</a>, <a class="el" href="a06372.html#l00059">NL3D::CShadowMapManager::CShadowMapManager()</a>, <a class="el" href="a06737.html#l01170">NL3D::CWaterModel::doSimpleRender()</a>, <a class="el" href="a06257.html#l00573">NL3D::CPSMaterial::forceModulateConstantColor()</a>, <a class="el" href="a06698.html#l01713">NL3D::CVegetableManager::render()</a>, <a class="el" href="a05862.html#l00939">NL3D::CLandscape::render()</a>, <a class="el" href="a05559.html#l00126">NL3D::SCloudTextureClamp::SCloudTextureClamp()</a>, <a class="el" href="a06250.html#l01696">NL3D::CPSConstraintMesh::setupMaterialColor()</a>, <a class="el" href="a06258.html#l00850">NL3D::SetupModulatedStage()</a>, and <a class="el" href="a05971.html#l00190">NL3D::CMaterialUser::texEnvArg1Alpha()</a>.
+<p>
+<div class="fragment"><pre>00257 {
+00258 <a class="code" href="a04199.html#a6">nlassert</a>(_ShaderType==CMaterial::Normal);
+00259 <a class="code" href="a04199.html#a6">nlassert</a>(stage&lt;IDRV_MAT_MAXTEXTURES);
+00260 <a class="code" href="a04199.html#a6">nlassert</a>(oper==SrcAlpha || oper==InvSrcAlpha);
+00261 <a class="code" href="a04199.html#a6">nlassert</a>(src!=Texture);
+00262 <a class="code" href="a02839.html#NL3D_1_1CMaterialo3">_TexEnvs</a>[stage].<a class="code" href="a02842.html#NL3D_1_1CMaterial_1_1CTexEnvo1">Env</a>.SrcArg1Alpha= <a class="code" href="a04223.html#a652">src</a>;
+00263 <a class="code" href="a02839.html#NL3D_1_1CMaterialo3">_TexEnvs</a>[stage].<a class="code" href="a02842.html#NL3D_1_1CMaterial_1_1CTexEnvo1">Env</a>.OpArg1Alpha= oper;
+00264 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz378_16" doxytag="NL3D::CMaterial::texEnvArg1RGB" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::texEnvArg1RGB </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>stage</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02839.html#NL3D_1_1CMaterialz358_2">TTexSource</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>src</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02839.html#NL3D_1_1CMaterialz358_0">TTexOperand</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>oper</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Decompose a user texture matrix, We assume that this is only a matrix for 2d texture.
+<p>
+find the rotation around w
+<p>
+Definition at line <a class="el" href="a05641.html#l00229">229</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00568">_ShaderType</a>, <a class="el" href="a05969.html#l00591">_TexEnvs</a>, <a class="el" href="a02842.html#NL3D_1_1CMaterial_1_1CTexEnvo1">NL3D::CMaterial::CTexEnv::Env</a>, <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05646.html#l01124">src</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05559.html#l00217">NL3D::CCloudScape::CCloudScape()</a>, <a class="el" href="a06372.html#l00059">NL3D::CShadowMapManager::CShadowMapManager()</a>, <a class="el" href="a06737.html#l01170">NL3D::CWaterModel::doSimpleRender()</a>, <a class="el" href="a06257.html#l00573">NL3D::CPSMaterial::forceModulateConstantColor()</a>, <a class="el" href="a05862.html#l00288">NL3D::CLandscape::init()</a>, <a class="el" href="a06698.html#l01713">NL3D::CVegetableManager::render()</a>, <a class="el" href="a05862.html#l00939">NL3D::CLandscape::render()</a>, <a class="el" href="a05559.html#l00051">NL3D::SCloudTexture3D::SCloudTexture3D()</a>, <a class="el" href="a05968.html#l00282">setShader()</a>, <a class="el" href="a06250.html#l01696">NL3D::CPSConstraintMesh::setupMaterialColor()</a>, <a class="el" href="a06258.html#l00850">NL3D::SetupModulatedStage()</a>, and <a class="el" href="a05971.html#l00172">NL3D::CMaterialUser::texEnvArg1RGB()</a>.
+<p>
+<div class="fragment"><pre>00230 {
+00231 <a class="code" href="a04199.html#a6">nlassert</a>(_ShaderType==CMaterial::Normal);
+00232 <a class="code" href="a04199.html#a6">nlassert</a>(stage&lt;IDRV_MAT_MAXTEXTURES);
+00233 <a class="code" href="a04199.html#a6">nlassert</a>(src!=Texture);
+00234 <a class="code" href="a02839.html#NL3D_1_1CMaterialo3">_TexEnvs</a>[stage].<a class="code" href="a02842.html#NL3D_1_1CMaterial_1_1CTexEnvo1">Env</a>.SrcArg1RGB= <a class="code" href="a04223.html#a652">src</a>;
+00235 <a class="code" href="a02839.html#NL3D_1_1CMaterialo3">_TexEnvs</a>[stage].<a class="code" href="a02842.html#NL3D_1_1CMaterial_1_1CTexEnvo1">Env</a>.OpArg1RGB= oper;
+00236 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz378_17" doxytag="NL3D::CMaterial::texEnvOpAlpha" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::texEnvOpAlpha </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>stage</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02839.html#NL3D_1_1CMaterialz358_1">TTexOperator</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>ope</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Decompose a user texture matrix, We assume that this is only a matrix for 2d texture.
+<p>
+find the rotation around w
+<p>
+Definition at line <a class="el" href="a05641.html#l00240">240</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00568">_ShaderType</a>, <a class="el" href="a05969.html#l00591">_TexEnvs</a>, <a class="el" href="a02842.html#NL3D_1_1CMaterial_1_1CTexEnvo1">NL3D::CMaterial::CTexEnv::Env</a>, <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05559.html#l00217">NL3D::CCloudScape::CCloudScape()</a>, <a class="el" href="a06372.html#l00059">NL3D::CShadowMapManager::CShadowMapManager()</a>, <a class="el" href="a06737.html#l01170">NL3D::CWaterModel::doSimpleRender()</a>, <a class="el" href="a06257.html#l00573">NL3D::CPSMaterial::forceModulateConstantColor()</a>, <a class="el" href="a05862.html#l00288">NL3D::CLandscape::init()</a>, <a class="el" href="a06040.html#l00062">NL3D::CMotionBlur::performMotionBlur()</a>, <a class="el" href="a06698.html#l01713">NL3D::CVegetableManager::render()</a>, <a class="el" href="a05862.html#l00939">NL3D::CLandscape::render()</a>, <a class="el" href="a05559.html#l00051">NL3D::SCloudTexture3D::SCloudTexture3D()</a>, <a class="el" href="a05559.html#l00126">NL3D::SCloudTextureClamp::SCloudTextureClamp()</a>, <a class="el" href="a05968.html#l00282">setShader()</a>, <a class="el" href="a06250.html#l01696">NL3D::CPSConstraintMesh::setupMaterialColor()</a>, <a class="el" href="a06258.html#l00850">NL3D::SetupModulatedStage()</a>, and <a class="el" href="a05971.html#l00178">NL3D::CMaterialUser::texEnvOpAlpha()</a>.
+<p>
+<div class="fragment"><pre>00241 {
+00242 <a class="code" href="a04199.html#a6">nlassert</a>(_ShaderType==CMaterial::Normal);
+00243 <a class="code" href="a04199.html#a6">nlassert</a>(stage&lt;IDRV_MAT_MAXTEXTURES);
+00244 <a class="code" href="a02839.html#NL3D_1_1CMaterialo3">_TexEnvs</a>[stage].<a class="code" href="a02842.html#NL3D_1_1CMaterial_1_1CTexEnvo1">Env</a>.OpAlpha= ope;
+00245 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz378_18" doxytag="NL3D::CMaterial::texEnvOpRGB" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CMaterial::texEnvOpRGB </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>stage</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02839.html#NL3D_1_1CMaterialz358_1">TTexOperator</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>ope</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This part is valid for Normal shaders (nlassert). It maps the EXT_texture_env_combine opengl extension. A stage is enabled if his texture is !=NULL. By default, all stages are setup to Modulate style: AlphaOp=RGBOp= Modulate, RGBArg0= TextureSrcColor, RGBArg1= PreviousSrcColor, AlphaArg0= TextureSrcAlpha, AlphaArg1= PreviousSrcAlpha. ConstantColor default to White(255,255,255,255).<p>
+For compatibility problems:<ul>
+<li>no scaling is allowed (some cards do not implement this well).</li><li>Texture can be the source only for Arg0 (DirectX restriction). nlassert...</li></ul>
+<p>
+NB: for Alpha Aguments, only operands SrcAlpha and InvSrcAlpha are valid (nlassert..).
+<p>
+Definition at line <a class="el" href="a05641.html#l00214">214</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00568">_ShaderType</a>, <a class="el" href="a05969.html#l00591">_TexEnvs</a>, <a class="el" href="a02842.html#NL3D_1_1CMaterial_1_1CTexEnvo1">NL3D::CMaterial::CTexEnv::Env</a>, <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05559.html#l00217">NL3D::CCloudScape::CCloudScape()</a>, <a class="el" href="a06372.html#l00059">NL3D::CShadowMapManager::CShadowMapManager()</a>, <a class="el" href="a05557.html#l00328">NL3D::CCloud::disp()</a>, <a class="el" href="a06737.html#l01170">NL3D::CWaterModel::doSimpleRender()</a>, <a class="el" href="a06257.html#l00573">NL3D::CPSMaterial::forceModulateConstantColor()</a>, <a class="el" href="a05722.html#l00049">NL3D::CFontManager::getFontMaterial()</a>, <a class="el" href="a05862.html#l00288">NL3D::CLandscape::init()</a>, <a class="el" href="a06040.html#l00062">NL3D::CMotionBlur::performMotionBlur()</a>, <a class="el" href="a06698.html#l01713">NL3D::CVegetableManager::render()</a>, <a class="el" href="a05862.html#l00939">NL3D::CLandscape::render()</a>, <a class="el" href="a05559.html#l00051">NL3D::SCloudTexture3D::SCloudTexture3D()</a>, <a class="el" href="a05968.html#l00282">setShader()</a>, <a class="el" href="a06257.html#l00733">NL3D::CPSMultiTexturedParticle::setupMaterial()</a>, <a class="el" href="a06250.html#l01696">NL3D::CPSConstraintMesh::setupMaterialColor()</a>, <a class="el" href="a06258.html#l00850">NL3D::SetupModulatedStage()</a>, <a class="el" href="a06257.html#l00812">NL3D::CPSMultiTexturedParticle::setupMultiTexEnv()</a>, and <a class="el" href="a05971.html#l00160">NL3D::CMaterialUser::texEnvOpRGB()</a>.
+<p>
+<div class="fragment"><pre>00215 {
+00216 <a class="code" href="a04199.html#a6">nlassert</a>(_ShaderType==CMaterial::Normal);
+00217 <a class="code" href="a04199.html#a6">nlassert</a>(stage&lt;IDRV_MAT_MAXTEXTURES);
+00218 <a class="code" href="a02839.html#NL3D_1_1CMaterialo3">_TexEnvs</a>[stage].<a class="code" href="a02842.html#NL3D_1_1CMaterial_1_1CTexEnvo1">Env</a>.OpRGB= ope;
+00219 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialz364_2" doxytag="NL3D::CMaterial::texturePresent" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CMaterial::texturePresent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a7">uint8</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>stage</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05641.html#l00036">36</a> of file <a class="el" href="a05641.html">driver_material_inline.h</a>.
+<p>
+References <a class="el" href="a05969.html#l00047">NL3D::IDRV_MAT_MAXTEXTURES</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+Referenced by <a class="el" href="a06378.html#l00134">NL3D::CShapeBank::processWaitingShapes()</a>, <a class="el" href="a05457.html#l00231">NL3D::CAsyncFileManager3D::CMeshLoad::run()</a>, and <a class="el" href="a05971.html#l00102">NL3D::CMaterialUser::texturePresent()</a>.
+<p>
+<div class="fragment"><pre>00037 {
+00038 <a class="code" href="a04199.html#a6">nlassert</a>(n&lt;IDRV_MAT_MAXTEXTURES);
+00039 <span class="keywordflow">if</span> (<a class="code" href="a02839.html#NL3D_1_1CMaterialo4">_Textures</a>[n])
+00040 {
+00041 <span class="keywordflow">return</span>(<span class="keyword">true</span>);
+00042 }
+00043 <span class="keywordflow">return</span>(<span class="keyword">false</span>);
+00044 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" name="NLGEORGES_1_1UTypen0" doxytag="NL3D::CMaterial::CPtrInfo" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> friend struct CPtrInfo<code> [friend, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06402.html#l00067">67</a> of file <a class="el" href="a06402.html">smart_ptr.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="NL3D_1_1CMaterialr0" doxytag="NL3D::CMaterial::_AlphaTestThreshold" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float <a class="el" href="a02839.html#NL3D_1_1CMaterialr0">NL3D::CMaterial::_AlphaTestThreshold</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00576">576</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a05968.html#l00041">CMaterial()</a>, <a class="el" href="a05969.html#l00320">getAlphaTestThreshold()</a>, <a class="el" href="a05968.html#l00083">operator=()</a>, <a class="el" href="a05968.html#l00139">serial()</a>, and <a class="el" href="a05641.html#l00085">setAlphaTestThreshold()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialr1" doxytag="NL3D::CMaterial::_Ambient" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03337.html">CRGBA</a> <a class="el" href="a02839.html#NL3D_1_1CMaterialr1">NL3D::CMaterial::_Ambient</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00574">574</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a05968.html#l00083">operator=()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialr2" doxytag="NL3D::CMaterial::_Color" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03337.html">CRGBA</a> <a class="el" href="a02839.html#NL3D_1_1CMaterialr2">NL3D::CMaterial::_Color</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00573">573</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a05968.html#l00083">operator=()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialr3" doxytag="NL3D::CMaterial::_Diffuse" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03337.html">CRGBA</a> <a class="el" href="a02839.html#NL3D_1_1CMaterialr3">NL3D::CMaterial::_Diffuse</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00574">574</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a05968.html#l00083">operator=()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialr4" doxytag="NL3D::CMaterial::_DstBlend" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02839.html#NL3D_1_1CMaterialw58">TBlend</a> <a class="el" href="a02839.html#NL3D_1_1CMaterialr4">NL3D::CMaterial::_DstBlend</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00570">570</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a05968.html#l00041">CMaterial()</a>, <a class="el" href="a05969.html#l00280">getDstBlend()</a>, <a class="el" href="a05968.html#l00083">operator=()</a>, <a class="el" href="a05968.html#l00139">serial()</a>, <a class="el" href="a05641.html#l00091">setBlendFunc()</a>, and <a class="el" href="a05641.html#l00058">setDstBlend()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialr5" doxytag="NL3D::CMaterial::_Emissive" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03337.html">CRGBA</a> <a class="el" href="a02839.html#NL3D_1_1CMaterialr5">NL3D::CMaterial::_Emissive</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00574">574</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a05968.html#l00083">operator=()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialr6" doxytag="NL3D::CMaterial::_Flags" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a02839.html#NL3D_1_1CMaterialr6">NL3D::CMaterial::_Flags</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00569">569</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a05968.html#l00041">CMaterial()</a>, <a class="el" href="a05968.html#l00479">enableTexAddrMode()</a>, <a class="el" href="a05641.html#l00337">enableUserTexMat()</a>, <a class="el" href="a05969.html#l00314">getAlphaTest()</a>, <a class="el" href="a05969.html#l00278">getBlend()</a>, <a class="el" href="a05969.html#l00308">getDoubleSided()</a>, <a class="el" href="a05969.html#l00614">getFlags()</a>, <a class="el" href="a05641.html#l00201">getLightedVertexColor()</a>, <a class="el" href="a05968.html#l00515">getTexAddressingMode()</a>, <a class="el" href="a05641.html#l00298">getTexCoordGen()</a>, <a class="el" href="a05969.html#l00335">getZWrite()</a>, <a class="el" href="a05969.html#l00371">isLighted()</a>, <a class="el" href="a05969.html#l00374">isLightedVertexColor()</a>, <a class="el" href="a05641.html#l00362">isUserTexMatEnabled()</a>, <a class="el" href="a05968.html#l00083">operator=()</a>, <a class="el" href="a05968.html#l00139">serial()</a>, <a class="el" href="a05641.html#l00078">setAlphaTest()</a>, <a class="el" href="a05641.html#l00064">setBlend()</a>, <a class="el" href="a05641.html#l00071">setDoubleSided()</a>, <a class="el" href="a05641.html#l00191">setLightedVertexColor()</a>, <a class="el" href="a05641.html#l00127">setLighting()</a>, <a class="el" href="a05968.html#l00505">setTexAddressingMode()</a>, <a class="el" href="a05641.html#l00304">setTexCoordGen()</a>, <a class="el" href="a05641.html#l00105">setZWrite()</a>, and <a class="el" href="a05968.html#l00499">texAddrEnabled()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialo0" doxytag="NL3D::CMaterial::_LightMaps" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02839.html#NL3D_1_1CMaterialw67">TTexturePtrs</a> <a class="el" href="a02839.html#NL3D_1_1CMaterialo0">NL3D::CMaterial::_LightMaps</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00610">610</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a05648.html#l00619">NL3D::CDriverGL::computeLightMapInfos()</a>, <a class="el" href="a05968.html#l00355">flushTextures()</a>, <a class="el" href="a05968.html#l00401">getLightMap()</a>, <a class="el" href="a05968.html#l00083">operator=()</a>, <a class="el" href="a05968.html#l00139">serial()</a>, <a class="el" href="a05968.html#l00390">setLightMap()</a>, <a class="el" href="a05968.html#l00424">setLightMapColor()</a>, <a class="el" href="a05968.html#l00411">setLightMapFactor()</a>, <a class="el" href="a05648.html#l00670">NL3D::CDriverGL::setupLightMapPass()</a>, and <a class="el" href="a05648.html#l00257">NL3D::CDriverGL::setupMaterial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialo1" doxytag="NL3D::CMaterial::_LightMapsMulx2" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a02839.html#NL3D_1_1CMaterialo1">NL3D::CMaterial::_LightMapsMulx2</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00611">611</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a05968.html#l00041">CMaterial()</a>, <a class="el" href="a05648.html#l00920">NL3D::CDriverGL::endLightMapMultiPass()</a>, <a class="el" href="a05968.html#l00083">operator=()</a>, <a class="el" href="a05968.html#l00139">serial()</a>, <a class="el" href="a05969.html#l00461">setLightMapMulx2()</a>, and <a class="el" href="a05648.html#l00670">NL3D::CDriverGL::setupLightMapPass()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialr7" doxytag="NL3D::CMaterial::_ShaderType" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02839.html#NL3D_1_1CMaterialw65">TShader</a> <a class="el" href="a02839.html#NL3D_1_1CMaterialr7">NL3D::CMaterial::_ShaderType</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00568">568</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a05968.html#l00041">CMaterial()</a>, <a class="el" href="a05968.html#l00355">flushTextures()</a>, <a class="el" href="a05968.html#l00401">getLightMap()</a>, <a class="el" href="a05969.html#l00254">getShader()</a>, <a class="el" href="a05641.html#l00291">getTexConstantColor()</a>, <a class="el" href="a05641.html#l00277">getTexEnvMode()</a>, <a class="el" href="a05641.html#l00329">getUserColor()</a>, <a class="el" href="a05968.html#l00083">operator=()</a>, <a class="el" href="a05968.html#l00139">serial()</a>, <a class="el" href="a05968.html#l00390">setLightMap()</a>, <a class="el" href="a05968.html#l00424">setLightMapColor()</a>, <a class="el" href="a05968.html#l00411">setLightMapFactor()</a>, <a class="el" href="a05968.html#l00282">setShader()</a>, <a class="el" href="a05641.html#l00284">setTexEnvMode()</a>, <a class="el" href="a05968.html#l00322">setTexture()</a>, <a class="el" href="a05641.html#l00321">setUserColor()</a>, <a class="el" href="a05641.html#l00268">texConstantColor()</a>, <a class="el" href="a05641.html#l00247">texEnvArg0Alpha()</a>, <a class="el" href="a05641.html#l00221">texEnvArg0RGB()</a>, <a class="el" href="a05641.html#l00256">texEnvArg1Alpha()</a>, <a class="el" href="a05641.html#l00229">texEnvArg1RGB()</a>, <a class="el" href="a05641.html#l00240">texEnvOpAlpha()</a>, and <a class="el" href="a05641.html#l00214">texEnvOpRGB()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialr8" doxytag="NL3D::CMaterial::_Shininess" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float <a class="el" href="a02839.html#NL3D_1_1CMaterialr8">NL3D::CMaterial::_Shininess</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00575">575</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a05968.html#l00083">operator=()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialr9" doxytag="NL3D::CMaterial::_Specular" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03337.html">CRGBA</a> <a class="el" href="a02839.html#NL3D_1_1CMaterialr9">NL3D::CMaterial::_Specular</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00574">574</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a05968.html#l00083">operator=()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialr10" doxytag="NL3D::CMaterial::_SrcBlend" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02839.html#NL3D_1_1CMaterialw58">TBlend</a> <a class="el" href="a02839.html#NL3D_1_1CMaterialr10">NL3D::CMaterial::_SrcBlend</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00570">570</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a05968.html#l00041">CMaterial()</a>, <a class="el" href="a05969.html#l00279">getSrcBlend()</a>, <a class="el" href="a05968.html#l00083">operator=()</a>, <a class="el" href="a05968.html#l00139">serial()</a>, <a class="el" href="a05641.html#l00091">setBlendFunc()</a>, and <a class="el" href="a05641.html#l00052">setSrcBlend()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialr11" doxytag="NL3D::CMaterial::_StainedGlassWindow" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a02839.html#NL3D_1_1CMaterialr11">NL3D::CMaterial::_StainedGlassWindow</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00578">578</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a05968.html#l00041">CMaterial()</a>, <a class="el" href="a05969.html#l00480">getStainedGlassWindow()</a>, and <a class="el" href="a05969.html#l00481">setStainedGlassWindow()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialo2" doxytag="NL3D::CMaterial::_TexAddrMode" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a7">uint8</a> <a class="el" href="a02839.html#NL3D_1_1CMaterialo2">NL3D::CMaterial::_TexAddrMode</a>[<a class="el" href="a05363.html#a83">IDRV_MAT_MAXTEXTURES</a>]
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00590">590</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a05968.html#l00479">enableTexAddrMode()</a>, <a class="el" href="a05968.html#l00515">getTexAddressingMode()</a>, <a class="el" href="a05968.html#l00083">operator=()</a>, <a class="el" href="a05968.html#l00139">serial()</a>, <a class="el" href="a05968.html#l00505">setTexAddressingMode()</a>, and <a class="el" href="a05648.html#l00257">NL3D::CDriverGL::setupMaterial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialr12" doxytag="NL3D::CMaterial::_TexCoordGenMode" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a9">uint16</a> <a class="el" href="a02839.html#NL3D_1_1CMaterialr12">NL3D::CMaterial::_TexCoordGenMode</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00580">580</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a05968.html#l00041">CMaterial()</a>, <a class="el" href="a05969.html#l00420">getTexCoordGenMode()</a>, and <a class="el" href="a05968.html#l00567">setTexCoordGenMode()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialo3" doxytag="NL3D::CMaterial::_TexEnvs" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02842.html">CTexEnv</a> <a class="el" href="a02839.html#NL3D_1_1CMaterialo3">NL3D::CMaterial::_TexEnvs</a>[<a class="el" href="a05363.html#a83">IDRV_MAT_MAXTEXTURES</a>]
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00591">591</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a05641.html#l00291">getTexConstantColor()</a>, <a class="el" href="a05641.html#l00277">getTexEnvMode()</a>, <a class="el" href="a05641.html#l00329">getUserColor()</a>, <a class="el" href="a05968.html#l00083">operator=()</a>, <a class="el" href="a05968.html#l00139">serial()</a>, <a class="el" href="a05641.html#l00284">setTexEnvMode()</a>, <a class="el" href="a05648.html#l00117">NL3D::CDriverGL::setTextureEnvFunction()</a>, <a class="el" href="a05641.html#l00321">setUserColor()</a>, <a class="el" href="a05641.html#l00268">texConstantColor()</a>, <a class="el" href="a05641.html#l00247">texEnvArg0Alpha()</a>, <a class="el" href="a05641.html#l00221">texEnvArg0RGB()</a>, <a class="el" href="a05641.html#l00256">texEnvArg1Alpha()</a>, <a class="el" href="a05641.html#l00229">texEnvArg1RGB()</a>, <a class="el" href="a05641.html#l00240">texEnvOpAlpha()</a>, and <a class="el" href="a05641.html#l00214">texEnvOpRGB()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialo4" doxytag="NL3D::CMaterial::_Textures" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03408.html">CSmartPtr</a>&lt;<a class="el" href="a03487.html">ITexture</a>&gt; <a class="el" href="a02839.html#NL3D_1_1CMaterialo4">NL3D::CMaterial::_Textures</a>[<a class="el" href="a05363.html#a83">IDRV_MAT_MAXTEXTURES</a>]
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00589">589</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a05968.html#l00083">operator=()</a>, <a class="el" href="a05648.html#l00257">NL3D::CDriverGL::setupMaterial()</a>, and <a class="el" href="a05648.html#l02064">NL3D::CDriverGL::setupWaterPassNV20()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialr13" doxytag="NL3D::CMaterial::_TexUserMat" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::auto_ptr&lt;<a class="el" href="a02845.html">CUserTexMat</a>&gt; <a class="el" href="a02839.html#NL3D_1_1CMaterialr13">NL3D::CMaterial::_TexUserMat</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00585">585</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a05968.html#l00523">decompUserTexMat()</a>, <a class="el" href="a05641.html#l00337">enableUserTexMat()</a>, <a class="el" href="a05641.html#l00377">getUserTexMat()</a>, <a class="el" href="a05968.html#l00083">operator=()</a>, <a class="el" href="a05968.html#l00139">serial()</a>, and <a class="el" href="a05641.html#l00369">setUserTexMat()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialr14" doxytag="NL3D::CMaterial::_Touched" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a02839.html#NL3D_1_1CMaterialr14">NL3D::CMaterial::_Touched</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00577">577</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a05969.html#l00616">clearTouched()</a>, <a class="el" href="a05968.html#l00041">CMaterial()</a>, <a class="el" href="a05969.html#l00615">getTouched()</a>, <a class="el" href="a05968.html#l00083">operator=()</a>, <a class="el" href="a05968.html#l00139">serial()</a>, <a class="el" href="a05641.html#l00078">setAlphaTest()</a>, <a class="el" href="a05641.html#l00085">setAlphaTestThreshold()</a>, <a class="el" href="a05641.html#l00158">setAmbient()</a>, <a class="el" href="a05641.html#l00064">setBlend()</a>, <a class="el" href="a05641.html#l00091">setBlendFunc()</a>, <a class="el" href="a05641.html#l00118">setColor()</a>, <a class="el" href="a05641.html#l00164">setDiffuse()</a>, <a class="el" href="a05641.html#l00071">setDoubleSided()</a>, <a class="el" href="a05641.html#l00058">setDstBlend()</a>, <a class="el" href="a05641.html#l00152">setEmissive()</a>, <a class="el" href="a05641.html#l00191">setLightedVertexColor()</a>, <a class="el" href="a05641.html#l00127">setLighting()</a>, <a class="el" href="a05968.html#l00390">setLightMap()</a>, <a class="el" href="a05968.html#l00424">setLightMapColor()</a>, <a class="el" href="a05968.html#l00411">setLightMapFactor()</a>, <a class="el" href="a05641.html#l00173">setOpacity()</a>, <a class="el" href="a05968.html#l00282">setShader()</a>, <a class="el" href="a05641.html#l00185">setShininess()</a>, <a class="el" href="a05641.html#l00179">setSpecular()</a>, <a class="el" href="a05641.html#l00052">setSrcBlend()</a>, <a class="el" href="a05968.html#l00322">setTexture()</a>, <a class="el" href="a05641.html#l00112">setZBias()</a>, <a class="el" href="a05641.html#l00099">setZFunc()</a>, and <a class="el" href="a05641.html#l00105">setZWrite()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialr15" doxytag="NL3D::CMaterial::_ZBias" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float <a class="el" href="a02839.html#NL3D_1_1CMaterialr15">NL3D::CMaterial::_ZBias</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00572">572</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a05968.html#l00041">CMaterial()</a>, <a class="el" href="a05969.html#l00336">getZBias()</a>, <a class="el" href="a05968.html#l00083">operator=()</a>, <a class="el" href="a05968.html#l00139">serial()</a>, and <a class="el" href="a05641.html#l00112">setZBias()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialr16" doxytag="NL3D::CMaterial::_ZFunction" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02839.html#NL3D_1_1CMaterialw71">ZFunc</a> <a class="el" href="a02839.html#NL3D_1_1CMaterialr16">NL3D::CMaterial::_ZFunction</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00571">571</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a05968.html#l00041">CMaterial()</a>, <a class="el" href="a05969.html#l00334">getZFunc()</a>, <a class="el" href="a05968.html#l00083">operator=()</a>, <a class="el" href="a05968.html#l00139">serial()</a>, and <a class="el" href="a05641.html#l00099">setZFunc()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLGEORGES_1_1UTypeo0" doxytag="NL3D::CMaterial::crefs" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a14">sint</a> <a class="el" href="a02209.html#NLGEORGES_1_1UTypeo0">NLMISC::CRefCount::crefs</a><code> [mutable, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06402.html#l00079">79</a> of file <a class="el" href="a06402.html">smart_ptr.h</a>.
+<p>
+Referenced by <a class="el" href="a06402.html#l00085">NLMISC::CRefCount::CRefCount()</a>, <a class="el" href="a06402.html#l00070">NLMISC::CRefCount::getRefCount()</a>, and <a class="el" href="a06403.html#l00044">NLMISC::CRefCount::~CRefCount()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLGEORGES_1_1UTypes0" doxytag="NL3D::CMaterial::NullPtrInfo" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03320.html">CRefCount::CPtrInfo</a> <a class="el" href="a02209.html#NLGEORGES_1_1UTypes0">NLMISC::CRefCount::NullPtrInfo</a><code> [static, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Referenced by <a class="el" href="a06402.html#l00085">NLMISC::CRefCount::CRefCount()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLGEORGES_1_1UTypeo1" doxytag="NL3D::CMaterial::pinfo" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> CPtrInfo* <a class="el" href="a02209.html#NLGEORGES_1_1UTypeo1">NLMISC::CRefCount::pinfo</a><code> [mutable, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06402.html#l00080">80</a> of file <a class="el" href="a06402.html">smart_ptr.h</a>.
+<p>
+Referenced by <a class="el" href="a06402.html#l00085">NLMISC::CRefCount::CRefCount()</a>, and <a class="el" href="a06403.html#l00044">NLMISC::CRefCount::~CRefCount()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CMaterialo7" doxytag="NL3D::CMaterial::pShader" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03321.html">CRefPtr</a>&lt;<a class="el" href="a03877.html">IShader</a>&gt; <a class="el" href="a02839.html#NL3D_1_1CMaterialo7">NL3D::CMaterial::pShader</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05969.html#l00592">592</a> of file <a class="el" href="a05969.html">material.h</a>.
+<p>
+Referenced by <a class="el" href="a05648.html#l00257">NL3D::CDriverGL::setupMaterial()</a>, and <a class="el" href="a05968.html#l00131">~CMaterial()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a05969.html">material.h</a><li><a class="el" href="a05641.html">driver_material_inline.h</a><li><a class="el" href="a05968.html">material.cpp</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 06:50:28 2004 for NeL by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
+</a>1.3.6 </small></address>
+</body>
+</html>