diff options
Diffstat (limited to 'docs/doxygen/nel/a02839.html')
-rw-r--r-- | docs/doxygen/nel/a02839.html | 5818 |
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 Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a> | <span class="search"><u>S</u>earch for <input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div> +<h1>NL3D::CMaterial Class Reference</h1><code>#include <<a class="el" href="a05969.html">material.h</a>></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 </td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialw58">TBlend</a> { <br> + <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> + <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> + <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 </td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialw65">TShader</a> { <br> + <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> + <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> + <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 </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< <a class="el" href="a02841.html">CLightMap</a> > </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 </td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialw71">ZFunc</a> { <br> + <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> + <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> + <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 </td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz360_0">TTexAddressingMode</a> { <br> + <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> + <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> + <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> + <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 </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 </td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz358_1">TTexOperator</a> { <br> + <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> + <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> + <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 </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 </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 </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> &driver, <a class="el" href="a04558.html#a15">uint</a> selectedTexture)</td></tr> + +<tr><td class="mdescLeft"> </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> </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> & </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> </td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMateriala4">getShader</a> () const </td></tr> + +<tr><td class="mdescLeft"> </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 </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> </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 </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> &f)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </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 </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> </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> &mat)</td></tr> + +<tr><td class="mdescLeft"> </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> </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> & </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> &mat)</td></tr> + +<tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign=bottom><a class="el" href="a02839.html#NL3D_1_1CMaterialz362_3">~CMaterial</a> ()</td></tr> + +<tr><td class="mdescLeft"> </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 </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 &uTrans, float &vTrans, float &wRot, float &uScale, float &vScale)</td></tr> + +<tr><td class="mdescLeft"> </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 </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"> </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> </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"> </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 </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"> </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> </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"> </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> </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"> </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> & </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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> &m)</td></tr> + +<tr><td class="mdescLeft"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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 </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> </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"> </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 </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 </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"> </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 </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 </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 </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 </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> </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> </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> </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"> </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> </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 </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"> </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> </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 </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> </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 </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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> </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> </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 </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 </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 </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 </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 </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 </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> * </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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> * </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 </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 </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> </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 </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 </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> </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 </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 </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 </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 </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 </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 </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 </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> </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 </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> </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> </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>< <a class="el" href="a03487.html">ITexture</a> > </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> </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 * </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>< <a class="el" href="a03877.html">IShader</a> > </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 </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 </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> </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> </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> </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> </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> </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> </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> </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 </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> </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> </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 </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> </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< <a class="el" href="a02845.html">CUserTexMat</a> > </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> </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 </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> </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 </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<<a class="el" href="a02841.html">CLightMap</a>> <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> + + </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> + + </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->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> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw58NL3D_1_1CMaterialw70" doxytag="zero" ></a>zero</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw58NL3D_1_1CMaterialw55" doxytag="srcalpha" ></a>srcalpha</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw58NL3D_1_1CMaterialw33" doxytag="invsrcalpha" ></a>invsrcalpha</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw58NL3D_1_1CMaterialw57" doxytag="srccolor" ></a>srccolor</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw58NL3D_1_1CMaterialw35" doxytag="invsrccolor" ></a>invsrccolor</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw58NL3D_1_1CMaterialw4" doxytag="blendConstantColor" ></a>blendConstantColor</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw58NL3D_1_1CMaterialw6" doxytag="blendConstantInvColor" ></a>blendConstantInvColor</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw58NL3D_1_1CMaterialw3" doxytag="blendConstantAlpha" ></a>blendConstantAlpha</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw58NL3D_1_1CMaterialw5" doxytag="blendConstantInvAlpha" ></a>blendConstantInvAlpha</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw58NL3D_1_1CMaterialw7" doxytag="blendCount" ></a>blendCount</em> </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> + + </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> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw65NL3D_1_1CMaterialw8" doxytag="Bump" ></a>Bump</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw65NL3D_1_1CMaterialw68" doxytag="UserColor" ></a>UserColor</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw65NL3D_1_1CMaterialw38" doxytag="LightMap" ></a>LightMap</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw65NL3D_1_1CMaterialw53" doxytag="Specular" ></a>Specular</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw65NL3D_1_1CMaterialw9" doxytag="Caustics" ></a>Caustics</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw65NL3D_1_1CMaterialw48" doxytag="PerPixelLighting" ></a>PerPixelLighting</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw65NL3D_1_1CMaterialw49" doxytag="PerPixelLightingNoSpec" ></a>PerPixelLightingNoSpec</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw65NL3D_1_1CMaterialw10" doxytag="Cloud" ></a>Cloud</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw65NL3D_1_1CMaterialw69" doxytag="Water" ></a>Water</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw65NL3D_1_1CMaterialw52" doxytag="shaderCount" ></a>shaderCount</em> </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> + + </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> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw25" doxytag="FetchTexture" ></a>FetchTexture</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw47" doxytag="PassThrough" ></a>PassThrough</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw12" doxytag="CullFragment" ></a>CullFragment</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw44" doxytag="OffsetTexture" ></a>OffsetTexture</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw45" doxytag="OffsetTextureScale" ></a>OffsetTextureScale</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw13" doxytag="DependentARTexture" ></a>DependentARTexture</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw14" doxytag="DependentGBTexture" ></a>DependentGBTexture</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw16" doxytag="DP3" ></a>DP3</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw22" doxytag="DP3Texture2D" ></a>DP3Texture2D</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw18" doxytag="DP3CubeMap" ></a>DP3CubeMap</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw21" doxytag="DP3ReflectCubeMap" ></a>DP3ReflectCubeMap</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw17" doxytag="DP3ConstEyeReflectCubeMap" ></a>DP3ConstEyeReflectCubeMap</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw20" doxytag="DP3DiffuseCubeMap" ></a>DP3DiffuseCubeMap</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw19" doxytag="DP3DepthReplace" ></a>DP3DepthReplace</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz360_0NL3D_1_1CMaterialw59" doxytag="TexAddrCount" ></a>TexAddrCount</em> </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> + + </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> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw66NL3D_1_1CMaterialw61" doxytag="TexCoordGenObjectSpace" ></a>TexCoordGenObjectSpace</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw66NL3D_1_1CMaterialw60" doxytag="TexCoordGenEyeSpace" ></a>TexCoordGenEyeSpace</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw66NL3D_1_1CMaterialw43" doxytag="numTexCoordGenMode" ></a>numTexCoordGenMode</em> </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> + + </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> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz358_0NL3D_1_1CMaterialw34" doxytag="InvSrcColor" ></a>InvSrcColor</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz358_0NL3D_1_1CMaterialw54" doxytag="SrcAlpha" ></a>SrcAlpha</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz358_0NL3D_1_1CMaterialw32" doxytag="InvSrcAlpha" ></a>InvSrcAlpha</em> </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> + + </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> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw39" doxytag="Modulate" ></a>Modulate</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw0" doxytag="Add" ></a>Add</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw1" doxytag="AddSigned" ></a>AddSigned</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw31" doxytag="InterpolateTexture" ></a>InterpolateTexture</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw30" doxytag="InterpolatePrevious" ></a>InterpolatePrevious</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw29" doxytag="InterpolateDiffuse" ></a>InterpolateDiffuse</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw28" doxytag="InterpolateConstant" ></a>InterpolateConstant</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz358_1NL3D_1_1CMaterialw23" doxytag="EMBM" ></a>EMBM</em> </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> + + </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> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz358_2NL3D_1_1CMaterialw50" doxytag="Previous" ></a>Previous</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz358_2NL3D_1_1CMaterialw15" doxytag="Diffuse" ></a>Diffuse</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialz358_2NL3D_1_1CMaterialw11" doxytag="Constant" ></a>Constant</em> </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> + + </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> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw71NL3D_1_1CMaterialw40" doxytag="never" ></a>never</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw71NL3D_1_1CMaterialw24" doxytag="equal" ></a>equal</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw71NL3D_1_1CMaterialw42" doxytag="notequal" ></a>notequal</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw71NL3D_1_1CMaterialw36" doxytag="less" ></a>less</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw71NL3D_1_1CMaterialw37" doxytag="lessequal" ></a>lessequal</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw71NL3D_1_1CMaterialw26" doxytag="greater" ></a>greater</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw71NL3D_1_1CMaterialw27" doxytag="greaterequal" ></a>greaterequal</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CMaterialw71NL3D_1_1CMaterialw72" doxytag="zfuncCount" ></a>zfuncCount</em> </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 & 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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a02839.html">CMaterial</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>mat</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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< IShader >::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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a> </td> + <td class="mdname1" valign="top" nowrap> <em>flag</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>&=~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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </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 & </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 & </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 & </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 & </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 & </td> + <td class="mdname" nowrap> <em>vScale</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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 < 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>->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> < 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">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>enable</em> = true </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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> & <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 < <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> &= ~<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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </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 </td> + <td class="mdname" nowrap> <em>enabled</em> = true</td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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 < 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> & <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> << stage); +00348 <a class="code" href="a02839.html#NL3D_1_1CMaterialr13">_TexUserMat</a>->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> & <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> &= ~(<a class="code" href="a05363.html#a119">IDRV_MAT_USER_TEX_0_MAT</a> << 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> & <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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02434.html">IDriver</a> & </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> </td> + <td class="mdname" nowrap> <em>selectedTexture</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<<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]->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<<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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>&<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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>&<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">( </td> + <td class="md" nowrap valign="top">void </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>&<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">( </td> + <td class="md" nowrap valign="top">void </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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> & <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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname1" valign="top" nowrap> <em>lmapId</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const</td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<<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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>& NLMISC::CRefCount::getRefCount </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </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> + + </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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top">void </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a7">uint8</a> </td> + <td class="mdname1" valign="top" nowrap> <em>stage</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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 & IDRV_MAT_TEX_ADDR); +00518 <a class="code" href="a04199.html#a6">nlassert</a>(stage < 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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname1" valign="top" nowrap> <em>stage</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname1" valign="top" nowrap> <em>stage</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<IDRV_MAT_MAXTEXTURES); +00301 <span class="keywordflow">return</span> (<a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a>&(<a class="code" href="a05363.html#a111">IDRV_MAT_GEN_TEX_0</a><<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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname1" valign="top" nowrap> <em>stage</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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> >> (stage*<a class="code" href="a05363.html#a129">IDRV_MAT_TEX_GEN_SHIFT</a>))&<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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname1" valign="top" nowrap> <em>stage</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a7">uint8</a> </td> + <td class="mdname1" valign="top" nowrap> <em>stage</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<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">( </td> + <td class="md" nowrap valign="top">void </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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> & NL3D::CMaterial::getUserTexMat </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname1" valign="top" nowrap> <em>stage</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>->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">( </td> + <td class="md" nowrap valign="top">void </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top">void </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top">void </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>&<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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<<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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>&<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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>&<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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname1" valign="top" nowrap> <em>stage</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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 < IDRV_MAT_MAXTEXTURES); +00365 <span class="keywordflow">return</span> (<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> << 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> & NL3D::CMaterial::operator= </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a02839.html">CMaterial</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>mat</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<<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<CUserTexMat> 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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname1" valign="top" nowrap> <em>index</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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 < <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]->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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02270.html">NLMISC::IStream</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>f</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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 <=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>=2) +00173 { +00174 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_Shininess); +00175 } +00176 <span class="keywordflow">if</span>(ver>=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<<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>=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>=3) +00211 { +00212 <span class="keywordflow">if</span>(ver>=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 < 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 >= 4) +00236 { +00237 <span class="keywordflow">if</span> (<a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a> & <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<<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> & <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> & <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<CUserTexMat> 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 >= 6) +00268 { +00269 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> i=0; i < <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>->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">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>active</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>&=~<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">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname1" valign="top" nowrap> <em>thre</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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> </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a> </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"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>active</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>&=~<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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02839.html#NL3D_1_1CMaterialw58">TBlend</a> </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> </td> + <td class="mdname" nowrap> <em>dst</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname1" valign="top" nowrap> <em>rgba</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a> </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"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>active</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>&=~<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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02839.html#NL3D_1_1CMaterialw58">TBlend</a> </td> + <td class="mdname1" valign="top" nowrap> <em>val</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a> </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"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>useLightedVertexColor</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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> &= ~<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">( </td> + <td class="md" nowrap valign="top">bool </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> </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> </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> </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> </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 </td> + <td class="mdname" nowrap> <em>shininess</em> = 10</td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>&=~<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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </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> * </td> + <td class="mdname" nowrap> <em>lmap</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>=<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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </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> </td> + <td class="mdname" nowrap> <em>color</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>=<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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </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> </td> + <td class="mdname" nowrap> <em>factor</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>=<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">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>val</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a7">uint8</a> </td> + <td class="mdname1" valign="top" nowrap> <em>opa</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02839.html#NL3D_1_1CMaterialw65">TShader</a> </td> + <td class="mdname1" valign="top" nowrap> <em>val</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<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">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname1" valign="top" nowrap> <em>shininess</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a> </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"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02839.html#NL3D_1_1CMaterialw58">TBlend</a> </td> + <td class="mdname1" valign="top" nowrap> <em>val</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>val</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a7">uint8</a> </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> </td> + <td class="mdname" nowrap> <em>mode</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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 & IDRV_MAT_TEX_ADDR); +00508 <a class="code" href="a04199.html#a6">nlassert</a>(stage < IDRV_MAT_MAXTEXTURES); +00509 <a class="code" href="a04199.html#a6">nlassert</a>(mode < 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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </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 </td> + <td class="mdname" nowrap> <em>generate</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<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><<stage); +00309 <span class="keywordflow">else</span> +00310 <a class="code" href="a02839.html#NL3D_1_1CMaterialr6">_Flags</a>&=~(<a class="code" href="a05363.html#a111">IDRV_MAT_GEN_TEX_0</a><<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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </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> </td> + <td class="mdname" nowrap> <em>mode</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>=<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>&= ~ (<a class="code" href="a05363.html#a130">IDRV_MAT_TEX_GEN_MASK</a> << (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&<a class="code" href="a05363.html#a130">IDRV_MAT_TEX_GEN_MASK</a>) << (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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </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> </td> + <td class="mdname" nowrap> <em>packed</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a7">uint8</a> </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> * </td> + <td class="mdname" nowrap> <em>ptex</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname1" valign="top" nowrap> <em>userColor</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </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> & </td> + <td class="mdname" nowrap> <em>m</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>->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">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname1" valign="top" nowrap> <em>val</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02839.html#NL3D_1_1CMaterialw71">ZFunc</a> </td> + <td class="mdname1" valign="top" nowrap> <em>val</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>active</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>&=~<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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const</td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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> & <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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </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> </td> + <td class="mdname" nowrap> <em>color</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </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> </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> </td> + <td class="mdname" nowrap> <em>oper</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </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> </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> </td> + <td class="mdname" nowrap> <em>oper</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </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> </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> </td> + <td class="mdname" nowrap> <em>oper</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </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> </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> </td> + <td class="mdname" nowrap> <em>oper</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </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> </td> + <td class="mdname" nowrap> <em>ope</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </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> </td> + <td class="mdname" nowrap> <em>ope</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a7">uint8</a> </td> + <td class="mdname1" valign="top" nowrap> <em>stage</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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><<a class="el" href="a03487.html">ITexture</a>> <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> + + </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<<a class="el" href="a02845.html">CUserTexMat</a>> <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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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><<a class="el" href="a03877.html">IShader</a>> <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> + + </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> |