<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>Irrlicht Engine: SMaterial.h Source File</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <table class="irrlicht" > <tr valign="middle"> <td><font size="2"><a class="qindex" href="index.html"><font color="#FFFFFF">Home</font></a> | <a class="qindex" href="namespaces.html"><font color="#FFFFFF">Namespaces</font></a> | <a class="qindex" href="hierarchy.html"><font color="#FFFFFF">Hierarchy</font></a> | <a class="qindex" href="classes.html"><font color="#FFFFFF">Alphabetical List</font></a> | <a class="qindex" href="annotated.html"><font color="#FFFFFF"> Class list</font></a> | <a class="qindex" href="files.html"><font color="#FFFFFF">Files</font></a> | <a class="qindex" href="namespacemembers.html"><font color="#FFFFFF"> Namespace Members</font></a> | <a class="qindex" href="functions.html"><font color="#FFFFFF">Class members</font></a> | <a class="qindex" href="globals.html"><font color="#FFFFFF">File members</font></a> | <a class="qindex" href="pages.html"><font color="#FFFFFF">Tutorials</font></a></font> </td> </tr> </table> <!-- Generated by Doxygen 1.5.6 --> <h1>SMaterial.h</h1><a href="_s_material_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Copyright (C) 2002-2009 Nikolaus Gebhardt</span> <a name="l00002"></a>00002 <span class="comment">// This file is part of the "Irrlicht Engine".</span> <a name="l00003"></a>00003 <span class="comment">// For conditions of distribution and use, see copyright notice in irrlicht.h</span> <a name="l00004"></a>00004 <a name="l00005"></a>00005 <span class="preprocessor">#ifndef __S_MATERIAL_H_INCLUDED__</span> <a name="l00006"></a>00006 <span class="preprocessor"></span><span class="preprocessor">#define __S_MATERIAL_H_INCLUDED__</span> <a name="l00007"></a>00007 <span class="preprocessor"></span> <a name="l00008"></a>00008 <span class="preprocessor">#include "<a class="code" href="_s_color_8h.html">SColor.h</a>"</span> <a name="l00009"></a>00009 <span class="preprocessor">#include "<a class="code" href="matrix4_8h.html">matrix4.h</a>"</span> <a name="l00010"></a>00010 <span class="preprocessor">#include "<a class="code" href="irr_array_8h.html">irrArray.h</a>"</span> <a name="l00011"></a>00011 <span class="preprocessor">#include "<a class="code" href="irr_math_8h.html">irrMath.h</a>"</span> <a name="l00012"></a>00012 <span class="preprocessor">#include "<a class="code" href="_e_material_types_8h.html">EMaterialTypes.h</a>"</span> <a name="l00013"></a>00013 <span class="preprocessor">#include "<a class="code" href="_e_material_flags_8h.html">EMaterialFlags.h</a>"</span> <a name="l00014"></a>00014 <span class="preprocessor">#include "<a class="code" href="_s_material_layer_8h.html">SMaterialLayer.h</a>"</span> <a name="l00015"></a>00015 <a name="l00016"></a>00016 <span class="keyword">namespace </span>irr <a name="l00017"></a>00017 { <a name="l00018"></a>00018 <span class="keyword">namespace </span>video <a name="l00019"></a>00019 { <a name="l00020"></a>00020 <span class="keyword">class </span>ITexture; <a name="l00021"></a>00021 <a name="l00023"></a><a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc">00023</a> <span class="keyword">enum</span> <a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc" title="Flag for EMT_ONETEXTURE_BLEND, ( BlendFactor ) BlendFunc = source * sourceFactor...">E_BLEND_FACTOR</a> <a name="l00024"></a>00024 { <a name="l00025"></a><a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc540abc7dd9e36d4e9ab1bd800ff0cabb">00025</a> <a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc540abc7dd9e36d4e9ab1bd800ff0cabb" title="src &amp; dest (0, 0, 0, 0)">EBF_ZERO</a> = 0, <a name="l00026"></a><a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc1e0d8b9190c96495eab3a6e6967d687f">00026</a> <a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc1e0d8b9190c96495eab3a6e6967d687f" title="src &amp; dest (1, 1, 1, 1)">EBF_ONE</a>, <a name="l00027"></a><a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc8f6471362a6f2c661601d1d1b2c9428d">00027</a> <a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc8f6471362a6f2c661601d1d1b2c9428d" title="src (destR, destG, destB, destA)">EBF_DST_COLOR</a>, <a name="l00028"></a><a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc0a8fb8fd43ebe39be3b742e6aee81936">00028</a> <a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc0a8fb8fd43ebe39be3b742e6aee81936" title="src (1-destR, 1-destG, 1-destB, 1-destA)">EBF_ONE_MINUS_DST_COLOR</a>, <a name="l00029"></a><a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc2aeff4b6a46a6689bae3e5c71c4f3e95">00029</a> <a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc2aeff4b6a46a6689bae3e5c71c4f3e95" title="dest (srcR, srcG, srcB, srcA)">EBF_SRC_COLOR</a>, <a name="l00030"></a><a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bcecb612040083c2007d5dcd280892de94">00030</a> <a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bcecb612040083c2007d5dcd280892de94" title="dest (1-srcR, 1-srcG, 1-srcB, 1-srcA)">EBF_ONE_MINUS_SRC_COLOR</a>, <a name="l00031"></a><a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc1ac42d35dd7883099dfb5be8f6300a2b">00031</a> <a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc1ac42d35dd7883099dfb5be8f6300a2b" title="src &amp; dest (srcA, srcA, srcA, srcA)">EBF_SRC_ALPHA</a>, <a name="l00032"></a><a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc7e6c99e4803094ff5bb9fd85f77d02b9">00032</a> <a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc7e6c99e4803094ff5bb9fd85f77d02b9" title="src &amp; dest (1-srcA, 1-srcA, 1-srcA, 1-srcA)">EBF_ONE_MINUS_SRC_ALPHA</a>, <a name="l00033"></a><a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc404186d241278bbea7d8c69e7aa190d8">00033</a> <a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc404186d241278bbea7d8c69e7aa190d8" title="src &amp; dest (destA, destA, destA, destA)">EBF_DST_ALPHA</a>, <a name="l00034"></a><a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc2648632cc055728f76f78ae2c5b58071">00034</a> <a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc2648632cc055728f76f78ae2c5b58071" title="src &amp; dest (1-destA, 1-destA, 1-destA, 1-destA)">EBF_ONE_MINUS_DST_ALPHA</a>, <a name="l00035"></a><a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc124e79631dfb3fca9d212aaf7bc9b802">00035</a> <a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc124e79631dfb3fca9d212aaf7bc9b802" title="src (min(srcA, 1-destA), idem, ...)">EBF_SRC_ALPHA_SATURATE</a> <a name="l00036"></a>00036 }; <a name="l00037"></a>00037 <a name="l00039"></a><a class="code" href="namespaceirr_1_1video.html#1402e9045137ae232fafbdf385800843">00039</a> <span class="keyword">enum</span> <a class="code" href="namespaceirr_1_1video.html#1402e9045137ae232fafbdf385800843" title="MaterialTypeParam: e.g. DirectX: D3DTOP_MODULATE, D3DTOP_MODULATE2X, D3DTOP_MODULATE4X...">E_MODULATE_FUNC</a> <a name="l00040"></a>00040 { <a name="l00041"></a><a class="code" href="namespaceirr_1_1video.html#1402e9045137ae232fafbdf38580084358cc346f344fb488d403a3783675e5d7">00041</a> <a class="code" href="namespaceirr_1_1video.html#1402e9045137ae232fafbdf38580084358cc346f344fb488d403a3783675e5d7">EMFN_MODULATE_1X</a> = 1, <a name="l00042"></a><a class="code" href="namespaceirr_1_1video.html#1402e9045137ae232fafbdf38580084355186f7a29487a3b75eda15274f6d6bd">00042</a> <a class="code" href="namespaceirr_1_1video.html#1402e9045137ae232fafbdf38580084355186f7a29487a3b75eda15274f6d6bd">EMFN_MODULATE_2X</a> = 2, <a name="l00043"></a><a class="code" href="namespaceirr_1_1video.html#1402e9045137ae232fafbdf385800843fa19322c677d65bf90ad20d873caeac8">00043</a> <a class="code" href="namespaceirr_1_1video.html#1402e9045137ae232fafbdf385800843fa19322c677d65bf90ad20d873caeac8">EMFN_MODULATE_4X</a> = 4 <a name="l00044"></a>00044 }; <a name="l00045"></a>00045 <a name="l00047"></a><a class="code" href="namespaceirr_1_1video.html#f5f3986e1d1be0f8d9aca55130ff5878">00047</a> <span class="keyword">enum</span> <a class="code" href="namespaceirr_1_1video.html#f5f3986e1d1be0f8d9aca55130ff5878" title="Comparison function, e.g. for depth buffer test.">E_COMPARISON_FUNC</a> <a name="l00048"></a>00048 { <a name="l00050"></a><a class="code" href="namespaceirr_1_1video.html#f5f3986e1d1be0f8d9aca55130ff5878506fee7d9b0132be08b01b28495ed63c">00050</a> <a class="code" href="namespaceirr_1_1video.html#f5f3986e1d1be0f8d9aca55130ff5878506fee7d9b0132be08b01b28495ed63c" title="Test never succeeds, this equals disable.">ECFN_NEVER</a>=0, <a name="l00052"></a><a class="code" href="namespaceirr_1_1video.html#f5f3986e1d1be0f8d9aca55130ff58787d2ba60c17f30a8cc461da4f5f955ea5">00052</a> <a class="code" href="namespaceirr_1_1video.html#f5f3986e1d1be0f8d9aca55130ff58787d2ba60c17f30a8cc461da4f5f955ea5" title="&lt;= test, default for e.g. depth test">ECFN_LESSEQUAL</a>=1, <a name="l00054"></a><a class="code" href="namespaceirr_1_1video.html#f5f3986e1d1be0f8d9aca55130ff5878a5ae12d8040a20df7f4bd8c3a2aa9079">00054</a> <a class="code" href="namespaceirr_1_1video.html#f5f3986e1d1be0f8d9aca55130ff5878a5ae12d8040a20df7f4bd8c3a2aa9079" title="Exact equality.">ECFN_EQUAL</a>=2, <a name="l00056"></a><a class="code" href="namespaceirr_1_1video.html#f5f3986e1d1be0f8d9aca55130ff5878214d9e4f7275ac53bc5b9dd4384b0021">00056</a> <a class="code" href="namespaceirr_1_1video.html#f5f3986e1d1be0f8d9aca55130ff5878214d9e4f7275ac53bc5b9dd4384b0021" title="exclusive less comparison, i.e. &lt;">ECFN_LESS</a>, <a name="l00058"></a><a class="code" href="namespaceirr_1_1video.html#f5f3986e1d1be0f8d9aca55130ff5878dd191a828e770427149a699fdddb5a40">00058</a> <a class="code" href="namespaceirr_1_1video.html#f5f3986e1d1be0f8d9aca55130ff5878dd191a828e770427149a699fdddb5a40" title="Succeeds almost always, except for exact equality.">ECFN_NOTEQUAL</a>, <a name="l00060"></a><a class="code" href="namespaceirr_1_1video.html#f5f3986e1d1be0f8d9aca55130ff58784f417c9c480573b16e05d75274c34360">00060</a> <a class="code" href="namespaceirr_1_1video.html#f5f3986e1d1be0f8d9aca55130ff58784f417c9c480573b16e05d75274c34360" title="&gt;= test">ECFN_GREATEREQUAL</a>, <a name="l00062"></a><a class="code" href="namespaceirr_1_1video.html#f5f3986e1d1be0f8d9aca55130ff587844207d136fffb644ef8743b739b71e99">00062</a> <a class="code" href="namespaceirr_1_1video.html#f5f3986e1d1be0f8d9aca55130ff587844207d136fffb644ef8743b739b71e99" title="inverse of &lt;=">ECFN_GREATER</a>, <a name="l00064"></a><a class="code" href="namespaceirr_1_1video.html#f5f3986e1d1be0f8d9aca55130ff58788d14ef9c1e84519f2b16a6d8c19ae56d">00064</a> <a class="code" href="namespaceirr_1_1video.html#f5f3986e1d1be0f8d9aca55130ff58788d14ef9c1e84519f2b16a6d8c19ae56d" title="test succeeds always">ECFN_ALWAYS</a> <a name="l00065"></a>00065 }; <a name="l00066"></a>00066 <a name="l00068"></a><a class="code" href="namespaceirr_1_1video.html#a9f25191ae536c1a4b08ec5334866a21">00068</a> <span class="keyword">enum</span> <a class="code" href="namespaceirr_1_1video.html#a9f25191ae536c1a4b08ec5334866a21" title="Enum values for enabling/disabling color planes for rendering.">E_COLOR_PLANE</a> <a name="l00069"></a>00069 { <a name="l00071"></a><a class="code" href="namespaceirr_1_1video.html#a9f25191ae536c1a4b08ec5334866a21a5afe366b19c967f884d0bd4ca083df9">00071</a> <a class="code" href="namespaceirr_1_1video.html#a9f25191ae536c1a4b08ec5334866a21a5afe366b19c967f884d0bd4ca083df9" title="No color enabled.">ECP_NONE</a>=0, <a name="l00073"></a><a class="code" href="namespaceirr_1_1video.html#a9f25191ae536c1a4b08ec5334866a21d345f3072dec27d31bedb82f1f3011a7">00073</a> <a class="code" href="namespaceirr_1_1video.html#a9f25191ae536c1a4b08ec5334866a21d345f3072dec27d31bedb82f1f3011a7" title="Alpha enabled.">ECP_ALPHA</a>=1, <a name="l00075"></a><a class="code" href="namespaceirr_1_1video.html#a9f25191ae536c1a4b08ec5334866a2136263a436337ff10be86fc9b5ae2f6d0">00075</a> <a class="code" href="namespaceirr_1_1video.html#a9f25191ae536c1a4b08ec5334866a2136263a436337ff10be86fc9b5ae2f6d0" title="Red enabled.">ECP_RED</a>=2, <a name="l00077"></a><a class="code" href="namespaceirr_1_1video.html#a9f25191ae536c1a4b08ec5334866a211e712fd8781a461da6f0a293a3e7180f">00077</a> <a class="code" href="namespaceirr_1_1video.html#a9f25191ae536c1a4b08ec5334866a211e712fd8781a461da6f0a293a3e7180f" title="Green enabled.">ECP_GREEN</a>=4, <a name="l00079"></a><a class="code" href="namespaceirr_1_1video.html#a9f25191ae536c1a4b08ec5334866a2131e270dab7c29a6e642ac491b172d16d">00079</a> <a class="code" href="namespaceirr_1_1video.html#a9f25191ae536c1a4b08ec5334866a2131e270dab7c29a6e642ac491b172d16d" title="Blue enabled.">ECP_BLUE</a>=8, <a name="l00081"></a><a class="code" href="namespaceirr_1_1video.html#a9f25191ae536c1a4b08ec5334866a2141d3738a2d0a4c67fa01148b05ee3fc6">00081</a> <a class="code" href="namespaceirr_1_1video.html#a9f25191ae536c1a4b08ec5334866a2141d3738a2d0a4c67fa01148b05ee3fc6" title="All colors, no alpha.">ECP_RGB</a>=14, <a name="l00083"></a><a class="code" href="namespaceirr_1_1video.html#a9f25191ae536c1a4b08ec5334866a21674ec773096b1b504b38ed78213e1e38">00083</a> <a class="code" href="namespaceirr_1_1video.html#a9f25191ae536c1a4b08ec5334866a21674ec773096b1b504b38ed78213e1e38" title="All planes enabled.">ECP_ALL</a>=15 <a name="l00084"></a>00084 }; <a name="l00085"></a>00085 <a name="l00087"></a>00087 <a name="l00089"></a><a class="code" href="namespaceirr_1_1video.html#08b237bb445ffc0f32932c8ed87c6e63">00089</a> <span class="keyword">enum</span> <a class="code" href="namespaceirr_1_1video.html#08b237bb445ffc0f32932c8ed87c6e63" title="Source of the alpha value to take.">E_ALPHA_SOURCE</a> <a name="l00090"></a>00090 { <a name="l00092"></a><a class="code" href="namespaceirr_1_1video.html#08b237bb445ffc0f32932c8ed87c6e633989589d4fc8dd35d634b3a05e3db936">00092</a> <a class="code" href="namespaceirr_1_1video.html#08b237bb445ffc0f32932c8ed87c6e633989589d4fc8dd35d634b3a05e3db936" title="Use no alpha, somewhat redundant with other settings.">EAS_NONE</a>=0, <a name="l00094"></a><a class="code" href="namespaceirr_1_1video.html#08b237bb445ffc0f32932c8ed87c6e6383768b0c4d47856b13ed409b43822d1f">00094</a> <a class="code" href="namespaceirr_1_1video.html#08b237bb445ffc0f32932c8ed87c6e6383768b0c4d47856b13ed409b43822d1f" title="Use vertex color alpha.">EAS_VERTEX_COLOR</a>, <a name="l00096"></a><a class="code" href="namespaceirr_1_1video.html#08b237bb445ffc0f32932c8ed87c6e63d57d5d09230cefbfc77681b6ec2c92fe">00096</a> <a class="code" href="namespaceirr_1_1video.html#08b237bb445ffc0f32932c8ed87c6e63d57d5d09230cefbfc77681b6ec2c92fe" title="Use texture alpha channel.">EAS_TEXTURE</a> <a name="l00097"></a>00097 }; <a name="l00098"></a>00098 <a name="l00100"></a>00100 <a name="l00101"></a><a class="code" href="namespaceirr_1_1video.html#26b6b105cb9ff09a903d4649e43a909c">00101</a> <span class="keyword">inline</span> <a class="code" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> <a class="code" href="namespaceirr_1_1video.html#26b6b105cb9ff09a903d4649e43a909c" title="EMT_ONETEXTURE_BLEND: pack srcFact, dstFact, Modulate and alpha source to MaterialTypeParam...">pack_texureBlendFunc</a> ( <span class="keyword">const</span> <a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc" title="Flag for EMT_ONETEXTURE_BLEND, ( BlendFactor ) BlendFunc = source * sourceFactor...">E_BLEND_FACTOR</a> srcFact, <span class="keyword">const</span> <a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc" title="Flag for EMT_ONETEXTURE_BLEND, ( BlendFactor ) BlendFunc = source * sourceFactor...">E_BLEND_FACTOR</a> dstFact, <span class="keyword">const</span> <a class="code" href="namespaceirr_1_1video.html#1402e9045137ae232fafbdf385800843" title="MaterialTypeParam: e.g. DirectX: D3DTOP_MODULATE, D3DTOP_MODULATE2X, D3DTOP_MODULATE4X...">E_MODULATE_FUNC</a> modulate=<a class="code" href="namespaceirr_1_1video.html#1402e9045137ae232fafbdf38580084358cc346f344fb488d403a3783675e5d7">EMFN_MODULATE_1X</a>, <span class="keyword">const</span> <a class="code" href="namespaceirr.html#0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> alphaSource=<a class="code" href="namespaceirr_1_1video.html#08b237bb445ffc0f32932c8ed87c6e63d57d5d09230cefbfc77681b6ec2c92fe" title="Use texture alpha channel.">EAS_TEXTURE</a> ) <a name="l00102"></a>00102 { <a name="l00103"></a>00103 <span class="keyword">const</span> <a class="code" href="namespaceirr.html#0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> tmp = (alphaSource << 24) | (modulate << 16) | (srcFact << 8) | dstFact; <a name="l00104"></a>00104 <span class="keywordflow">return</span> <a class="code" href="namespaceirr_1_1core.html#10bf7ddf910b7feac9a36fd141a9f5ba">FR</a>(tmp); <a name="l00105"></a>00105 } <a name="l00106"></a>00106 <a name="l00108"></a>00108 <a name="l00109"></a><a class="code" href="namespaceirr_1_1video.html#c21f5539dc2844ad29cf126c3ea9d3aa">00109</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceirr_1_1video.html#c21f5539dc2844ad29cf126c3ea9d3aa" title="EMT_ONETEXTURE_BLEND: unpack srcFact &amp; dstFact and Modulo to MaterialTypeParam...">unpack_texureBlendFunc</a> ( <a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc" title="Flag for EMT_ONETEXTURE_BLEND, ( BlendFactor ) BlendFunc = source * sourceFactor...">E_BLEND_FACTOR</a> &srcFact, <a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc" title="Flag for EMT_ONETEXTURE_BLEND, ( BlendFactor ) BlendFunc = source * sourceFactor...">E_BLEND_FACTOR</a> &dstFact, <a name="l00110"></a>00110 <a class="code" href="namespaceirr_1_1video.html#1402e9045137ae232fafbdf385800843" title="MaterialTypeParam: e.g. DirectX: D3DTOP_MODULATE, D3DTOP_MODULATE2X, D3DTOP_MODULATE4X...">E_MODULATE_FUNC</a> &modulo, <a class="code" href="namespaceirr.html#0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a>& alphaSource, <span class="keyword">const</span> <a class="code" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> param ) <a name="l00111"></a>00111 { <a name="l00112"></a>00112 <span class="keyword">const</span> <a class="code" href="namespaceirr.html#0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> state = <a class="code" href="namespaceirr_1_1core.html#ff42ea2c4d80cb7b45b71d1f63c6a226">IR</a>(param); <a name="l00113"></a>00113 alphaSource = (state & 0xFF000000) >> 24; <a name="l00114"></a>00114 modulo = <a class="code" href="namespaceirr_1_1video.html#1402e9045137ae232fafbdf385800843" title="MaterialTypeParam: e.g. DirectX: D3DTOP_MODULATE, D3DTOP_MODULATE2X, D3DTOP_MODULATE4X...">E_MODULATE_FUNC</a>( ( state & 0x00FF0000 ) >> 16 ); <a name="l00115"></a>00115 srcFact = <a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc" title="Flag for EMT_ONETEXTURE_BLEND, ( BlendFactor ) BlendFunc = source * sourceFactor...">E_BLEND_FACTOR</a> ( ( state & 0x0000FF00 ) >> 8 ); <a name="l00116"></a>00116 dstFact = <a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc" title="Flag for EMT_ONETEXTURE_BLEND, ( BlendFactor ) BlendFunc = source * sourceFactor...">E_BLEND_FACTOR</a> ( ( state & 0x000000FF ) ); <a name="l00117"></a>00117 } <a name="l00118"></a>00118 <a name="l00120"></a><a class="code" href="namespaceirr_1_1video.html#5df0764d7c9e6742eecdba61f5d8a810">00120</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceirr_1_1video.html#5df0764d7c9e6742eecdba61f5d8a810" title="EMT_ONETEXTURE_BLEND: has BlendFactor Alphablending.">textureBlendFunc_hasAlpha</a> ( <span class="keyword">const</span> <a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc" title="Flag for EMT_ONETEXTURE_BLEND, ( BlendFactor ) BlendFunc = source * sourceFactor...">E_BLEND_FACTOR</a> factor ) <a name="l00121"></a>00121 { <a name="l00122"></a>00122 <span class="keywordflow">switch</span> ( factor ) <a name="l00123"></a>00123 { <a name="l00124"></a>00124 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc1ac42d35dd7883099dfb5be8f6300a2b" title="src &amp; dest (srcA, srcA, srcA, srcA)">EBF_SRC_ALPHA</a>: <a name="l00125"></a>00125 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc7e6c99e4803094ff5bb9fd85f77d02b9" title="src &amp; dest (1-srcA, 1-srcA, 1-srcA, 1-srcA)">EBF_ONE_MINUS_SRC_ALPHA</a>: <a name="l00126"></a>00126 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc404186d241278bbea7d8c69e7aa190d8" title="src &amp; dest (destA, destA, destA, destA)">EBF_DST_ALPHA</a>: <a name="l00127"></a>00127 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc2648632cc055728f76f78ae2c5b58071" title="src &amp; dest (1-destA, 1-destA, 1-destA, 1-destA)">EBF_ONE_MINUS_DST_ALPHA</a>: <a name="l00128"></a>00128 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#cae10401850a6cfd5fcf1548c6c884bc124e79631dfb3fca9d212aaf7bc9b802" title="src (min(srcA, 1-destA), idem, ...)">EBF_SRC_ALPHA_SATURATE</a>: <a name="l00129"></a>00129 <span class="keywordflow">return</span> <span class="keyword">true</span>; <a name="l00130"></a>00130 <span class="keywordflow">default</span>: <a name="l00131"></a>00131 <span class="keywordflow">return</span> <span class="keyword">false</span>; <a name="l00132"></a>00132 } <a name="l00133"></a>00133 } <a name="l00134"></a>00134 <a name="l00135"></a>00135 <a name="l00137"></a>00137 <a name="l00143"></a><a class="code" href="namespaceirr_1_1video.html#a8647c2a52bdd3bc15ee773e8f2b149d">00143</a> <span class="keyword">enum</span> <a class="code" href="namespaceirr_1_1video.html#a8647c2a52bdd3bc15ee773e8f2b149d" title="These flags are used to specify the anti-aliasing and smoothing modes.">E_ANTI_ALIASING_MODE</a> <a name="l00144"></a>00144 { <a name="l00146"></a><a class="code" href="namespaceirr_1_1video.html#a8647c2a52bdd3bc15ee773e8f2b149db88de631372a6fc318762f20f1095433">00146</a> <a class="code" href="namespaceirr_1_1video.html#a8647c2a52bdd3bc15ee773e8f2b149db88de631372a6fc318762f20f1095433" title="Use to turn off anti-aliasing for this material.">EAAM_OFF</a>=0, <a name="l00148"></a><a class="code" href="namespaceirr_1_1video.html#a8647c2a52bdd3bc15ee773e8f2b149d05900b0839b8484a7ff78dbdac7e5dd7">00148</a> <a class="code" href="namespaceirr_1_1video.html#a8647c2a52bdd3bc15ee773e8f2b149d05900b0839b8484a7ff78dbdac7e5dd7" title="Default anti-aliasing mode.">EAAM_SIMPLE</a>=1, <a name="l00150"></a><a class="code" href="namespaceirr_1_1video.html#a8647c2a52bdd3bc15ee773e8f2b149d25f380a6b1ba75d0dc08ea624974ebd8">00150</a> <a class="code" href="namespaceirr_1_1video.html#a8647c2a52bdd3bc15ee773e8f2b149d25f380a6b1ba75d0dc08ea624974ebd8" title="High-quality anti-aliasing, not always supported, automatically enables SIMPLE mode...">EAAM_QUALITY</a>=3, <a name="l00152"></a><a class="code" href="namespaceirr_1_1video.html#a8647c2a52bdd3bc15ee773e8f2b149da91855f39a1b96c5aadd788663b564d3">00152</a> <a class="code" href="namespaceirr_1_1video.html#a8647c2a52bdd3bc15ee773e8f2b149da91855f39a1b96c5aadd788663b564d3" title="Line smoothing.">EAAM_LINE_SMOOTH</a>=4, <a name="l00154"></a><a class="code" href="namespaceirr_1_1video.html#a8647c2a52bdd3bc15ee773e8f2b149db40cf8dfee5fa3a823f2ae34510e63c8">00154</a> <a class="code" href="namespaceirr_1_1video.html#a8647c2a52bdd3bc15ee773e8f2b149db40cf8dfee5fa3a823f2ae34510e63c8" title="point smoothing, often in software and slow, only with OpenGL">EAAM_POINT_SMOOTH</a>=8, <a name="l00156"></a><a class="code" href="namespaceirr_1_1video.html#a8647c2a52bdd3bc15ee773e8f2b149dde3c9a3d46cbedc5304cfa869ab593fd">00156</a> <a class="code" href="namespaceirr_1_1video.html#a8647c2a52bdd3bc15ee773e8f2b149dde3c9a3d46cbedc5304cfa869ab593fd" title="All typical anti-alias and smooth modes.">EAAM_FULL_BASIC</a>=15, <a name="l00158"></a>00158 <a name="l00159"></a><a class="code" href="namespaceirr_1_1video.html#a8647c2a52bdd3bc15ee773e8f2b149dc887edb1977865349bf92db9118f45cd">00159</a> <a class="code" href="namespaceirr_1_1video.html#a8647c2a52bdd3bc15ee773e8f2b149dc887edb1977865349bf92db9118f45cd" title="Enhanced anti-aliasing for transparent materials.">EAAM_ALPHA_TO_COVERAGE</a>=16 <a name="l00160"></a>00160 }; <a name="l00161"></a>00161 <a name="l00163"></a>00163 <a name="l00169"></a><a class="code" href="namespaceirr_1_1video.html#41af617fc9a691366e4b162cd1cdea78">00169</a> <span class="keyword">enum</span> <a class="code" href="namespaceirr_1_1video.html#41af617fc9a691366e4b162cd1cdea78" title="These flags allow to define the interpretation of vertex color when lighting is enabled...">E_COLOR_MATERIAL</a> <a name="l00170"></a>00170 { <a name="l00172"></a><a class="code" href="namespaceirr_1_1video.html#41af617fc9a691366e4b162cd1cdea781fbe9f2cc7932b308a8a3503a9409a2e">00172</a> <a class="code" href="namespaceirr_1_1video.html#41af617fc9a691366e4b162cd1cdea781fbe9f2cc7932b308a8a3503a9409a2e" title="Don&#39;t use vertex color for lighting.">ECM_NONE</a>=0, <a name="l00174"></a><a class="code" href="namespaceirr_1_1video.html#41af617fc9a691366e4b162cd1cdea7893dd321bbb0c52003ba44960ccc07afc">00174</a> <a class="code" href="namespaceirr_1_1video.html#41af617fc9a691366e4b162cd1cdea7893dd321bbb0c52003ba44960ccc07afc" title="Use vertex color for diffuse light, this is default.">ECM_DIFFUSE</a>, <a name="l00176"></a><a class="code" href="namespaceirr_1_1video.html#41af617fc9a691366e4b162cd1cdea78955744174b188f9787b548c53905bc26">00176</a> <a class="code" href="namespaceirr_1_1video.html#41af617fc9a691366e4b162cd1cdea78955744174b188f9787b548c53905bc26" title="Use vertex color for ambient light.">ECM_AMBIENT</a>, <a name="l00178"></a><a class="code" href="namespaceirr_1_1video.html#41af617fc9a691366e4b162cd1cdea7877001813414a4f119f7760dfb2c962d1">00178</a> <a class="code" href="namespaceirr_1_1video.html#41af617fc9a691366e4b162cd1cdea7877001813414a4f119f7760dfb2c962d1" title="Use vertex color for emissive light.">ECM_EMISSIVE</a>, <a name="l00180"></a><a class="code" href="namespaceirr_1_1video.html#41af617fc9a691366e4b162cd1cdea788dbb170ec93f1bed738e77da8e5fd0a2">00180</a> <a class="code" href="namespaceirr_1_1video.html#41af617fc9a691366e4b162cd1cdea788dbb170ec93f1bed738e77da8e5fd0a2" title="Use vertex color for specular light.">ECM_SPECULAR</a>, <a name="l00182"></a><a class="code" href="namespaceirr_1_1video.html#41af617fc9a691366e4b162cd1cdea788411bc2cba6cf0609958a5d02ccc7a3b">00182</a> <a class="code" href="namespaceirr_1_1video.html#41af617fc9a691366e4b162cd1cdea788411bc2cba6cf0609958a5d02ccc7a3b" title="Use vertex color for both diffuse and ambient light.">ECM_DIFFUSE_AND_AMBIENT</a> <a name="l00183"></a>00183 }; <a name="l00184"></a>00184 <a name="l00186"></a><a class="code" href="namespaceirr_1_1video.html#d41ca808200ca2e8e9d9326355020052">00186</a> <span class="keyword">const</span> <a class="code" href="namespaceirr.html#0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> <a class="code" href="namespaceirr_1_1video.html#d41ca808200ca2e8e9d9326355020052" title="Maximum number of texture an SMaterial can have.">MATERIAL_MAX_TEXTURES</a> = <a class="code" href="_irr_compile_config_8h.html#081fbde070fc910f481a704502fdf02c" title="Maximum number of texture an SMaterial can have, up to 8 are supported by Irrlicht...">_IRR_MATERIAL_MAX_TEXTURES_</a>; <a name="l00187"></a>00187 <a name="l00189"></a><a class="code" href="classirr_1_1video_1_1_s_material.html">00189</a> <span class="keyword">class </span><a class="code" href="classirr_1_1video_1_1_s_material.html" title="Struct for holding parameters for a material renderer.">SMaterial</a> <a name="l00190"></a>00190 { <a name="l00191"></a>00191 <span class="keyword">public</span>: <a name="l00193"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#e5002c3c8ea002539228a9ca95cc8003">00193</a> <a class="code" href="classirr_1_1video_1_1_s_material.html#e5002c3c8ea002539228a9ca95cc8003" title="Default constructor. Creates a solid, lit material with white colors.">SMaterial</a>() <a name="l00194"></a>00194 : <a class="code" href="classirr_1_1video_1_1_s_material.html#8cb63ab4b49ae1c61fbca8353e6b2f8a" title="Type of the material. Specifies how everything is blended together.">MaterialType</a>(<a class="code" href="namespaceirr_1_1video.html#c8e9b6c66f7cebabd1a6d30cbc5430f19bc471b9c18c9e2d20496004d2a2e803" title="Standard solid material.">EMT_SOLID</a>), <a class="code" href="classirr_1_1video_1_1_s_material.html#434c189b7c618c66f4d09118d30e6b4b" title="How much ambient light (a global light) is reflected by this material.">AmbientColor</a>(255,255,255,255), <a class="code" href="classirr_1_1video_1_1_s_material.html#c4e1aaf4751f7267eaf255496cc058df" title="How much diffuse light coming from a light source is reflected by this material.">DiffuseColor</a>(255,255,255,255), <a name="l00195"></a>00195 <a class="code" href="classirr_1_1video_1_1_s_material.html#005f9acf8855681c21b3e3e7de67306f" title="Light emitted by this material. Default is to emit no light.">EmissiveColor</a>(0,0,0,0), <a class="code" href="classirr_1_1video_1_1_s_material.html#253c2acbafe6698e3d16b3e3a1e199ed" title="How much specular light (highlights from a light) is reflected.">SpecularColor</a>(255,255,255,255), <a name="l00196"></a>00196 <a class="code" href="classirr_1_1video_1_1_s_material.html#877106a83108db6d1f30a38379d28494" title="Value affecting the size of specular highlights.">Shininess</a>(0.0f), <a class="code" href="classirr_1_1video_1_1_s_material.html#efe0acce491efa8dedcd2b7cb49f8133" title="Free parameter, dependent on the material type.">MaterialTypeParam</a>(0.0f), <a class="code" href="classirr_1_1video_1_1_s_material.html#3c4af8e0325a95ff78c3066a497161de" title="Second free parameter, dependent on the material type.">MaterialTypeParam2</a>(0.0f), <a class="code" href="classirr_1_1video_1_1_s_material.html#5b147b8e6fa53c54d3f33e44982220a1" title="Thickness of non-3dimensional elements such as lines and points.">Thickness</a>(1.0f), <a name="l00197"></a>00197 <a class="code" href="classirr_1_1video_1_1_s_material.html#7e604773b2ac61ab7a15ec9afef0dabf" title="Is the ZBuffer enabled? Default: ECFN_LESSEQUAL.">ZBuffer</a>(<a class="code" href="namespaceirr_1_1video.html#f5f3986e1d1be0f8d9aca55130ff58787d2ba60c17f30a8cc461da4f5f955ea5" title="&lt;= test, default for e.g. depth test">ECFN_LESSEQUAL</a>), <a class="code" href="classirr_1_1video_1_1_s_material.html#8f42b43ebf214c502e6758b9b608c095" title="Sets the antialiasing mode.">AntiAliasing</a>(<a class="code" href="namespaceirr_1_1video.html#a8647c2a52bdd3bc15ee773e8f2b149d05900b0839b8484a7ff78dbdac7e5dd7" title="Default anti-aliasing mode.">EAAM_SIMPLE</a>), <a class="code" href="classirr_1_1video_1_1_s_material.html#5a4833b515b453c592224d89356dbc01" title="Defines the enabled color planes.">ColorMask</a>(<a class="code" href="namespaceirr_1_1video.html#a9f25191ae536c1a4b08ec5334866a21674ec773096b1b504b38ed78213e1e38" title="All planes enabled.">ECP_ALL</a>), <a name="l00198"></a>00198 <a class="code" href="classirr_1_1video_1_1_s_material.html#127d0d7a428cb9e5450f2e448b7652ae" title="Defines the interpretation of vertex color in the lighting equation.">ColorMaterial</a>(<a class="code" href="namespaceirr_1_1video.html#41af617fc9a691366e4b162cd1cdea7893dd321bbb0c52003ba44960ccc07afc" title="Use vertex color for diffuse light, this is default.">ECM_DIFFUSE</a>), <a name="l00199"></a>00199 <a class="code" href="classirr_1_1video_1_1_s_material.html#6fb428e6e27d0e143cc7da5ea19f8dcc" title="Draw as wireframe or filled triangles? Default: false.">Wireframe</a>(false), <a class="code" href="classirr_1_1video_1_1_s_material.html#457d243ff8c1cd1777c70349fa55515c" title="Draw as point cloud or filled triangles? Default: false.">PointCloud</a>(false), <a class="code" href="classirr_1_1video_1_1_s_material.html#bf4a3e138d75670ec772fbadb8965e43" title="Flat or Gouraud shading? Default: true.">GouraudShading</a>(true), <a class="code" href="classirr_1_1video_1_1_s_material.html#fde014546a3d1da0f91ee06494d48e2b" title="Will this material be lighted? Default: true.">Lighting</a>(true), <a class="code" href="classirr_1_1video_1_1_s_material.html#0e6b40e87162a74f2c730af597e20721" title="Is the zbuffer writeable or is it read-only. Default: true.">ZWriteEnable</a>(true), <a name="l00200"></a>00200 <a class="code" href="classirr_1_1video_1_1_s_material.html#f3fcfcd5c2042a699a3f6b45deac475e" title="Is backface culling enabled? Default: true.">BackfaceCulling</a>(true), <a class="code" href="classirr_1_1video_1_1_s_material.html#9e0d15829ae99858ed8442582961149f" title="Is frontface culling enabled? Default: false.">FrontfaceCulling</a>(false), <a class="code" href="classirr_1_1video_1_1_s_material.html#a361f179c15991ec85f0894cec38b880" title="Is fog enabled? Default: false.">FogEnable</a>(false), <a class="code" href="classirr_1_1video_1_1_s_material.html#eee37deac57bebcd42650bc50aeccc2d" title="Should normals be normalized?">NormalizeNormals</a>(false) <a name="l00201"></a>00201 { } <a name="l00202"></a>00202 <a name="l00204"></a>00204 <a name="l00205"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#66f175294b99e3cc2816e9cc0f372ce3">00205</a> <a class="code" href="classirr_1_1video_1_1_s_material.html#e5002c3c8ea002539228a9ca95cc8003" title="Default constructor. Creates a solid, lit material with white colors.">SMaterial</a>(<span class="keyword">const</span> <a class="code" href="classirr_1_1video_1_1_s_material.html" title="Struct for holding parameters for a material renderer.">SMaterial</a>& other) <a name="l00206"></a>00206 { <a name="l00207"></a>00207 <span class="comment">// These pointers are checked during assignment</span> <a name="l00208"></a>00208 <span class="keywordflow">for</span> (<a class="code" href="namespaceirr.html#0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> i=0; i<<a class="code" href="namespaceirr_1_1video.html#d41ca808200ca2e8e9d9326355020052" title="Maximum number of texture an SMaterial can have.">MATERIAL_MAX_TEXTURES</a>; ++i) <a name="l00209"></a>00209 <a class="code" href="classirr_1_1video_1_1_s_material.html#2a722a68bcc2cb3e779882785a409890" title="Texture layer array.">TextureLayer</a>[i].TextureMatrix = 0; <a name="l00210"></a>00210 *<span class="keyword">this</span> = other; <a name="l00211"></a>00211 } <a name="l00212"></a>00212 <a name="l00214"></a>00214 <a name="l00215"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#752ea337daa705d8d7035f0ee93d178d">00215</a> <a class="code" href="classirr_1_1video_1_1_s_material.html" title="Struct for holding parameters for a material renderer.">SMaterial</a>& <a class="code" href="classirr_1_1video_1_1_s_material.html#752ea337daa705d8d7035f0ee93d178d" title="Assignment operator.">operator=</a>(<span class="keyword">const</span> <a class="code" href="classirr_1_1video_1_1_s_material.html" title="Struct for holding parameters for a material renderer.">SMaterial</a>& other) <a name="l00216"></a>00216 { <a name="l00217"></a>00217 <span class="comment">// Check for self-assignment!</span> <a name="l00218"></a>00218 <span class="keywordflow">if</span> (<span class="keyword">this</span> == &other) <a name="l00219"></a>00219 <span class="keywordflow">return</span> *<span class="keyword">this</span>; <a name="l00220"></a>00220 <a name="l00221"></a>00221 <a class="code" href="classirr_1_1video_1_1_s_material.html#8cb63ab4b49ae1c61fbca8353e6b2f8a" title="Type of the material. Specifies how everything is blended together.">MaterialType</a> = other.<a class="code" href="classirr_1_1video_1_1_s_material.html#8cb63ab4b49ae1c61fbca8353e6b2f8a" title="Type of the material. Specifies how everything is blended together.">MaterialType</a>; <a name="l00222"></a>00222 <a name="l00223"></a>00223 <a class="code" href="classirr_1_1video_1_1_s_material.html#434c189b7c618c66f4d09118d30e6b4b" title="How much ambient light (a global light) is reflected by this material.">AmbientColor</a> = other.<a class="code" href="classirr_1_1video_1_1_s_material.html#434c189b7c618c66f4d09118d30e6b4b" title="How much ambient light (a global light) is reflected by this material.">AmbientColor</a>; <a name="l00224"></a>00224 <a class="code" href="classirr_1_1video_1_1_s_material.html#c4e1aaf4751f7267eaf255496cc058df" title="How much diffuse light coming from a light source is reflected by this material.">DiffuseColor</a> = other.<a class="code" href="classirr_1_1video_1_1_s_material.html#c4e1aaf4751f7267eaf255496cc058df" title="How much diffuse light coming from a light source is reflected by this material.">DiffuseColor</a>; <a name="l00225"></a>00225 <a class="code" href="classirr_1_1video_1_1_s_material.html#005f9acf8855681c21b3e3e7de67306f" title="Light emitted by this material. Default is to emit no light.">EmissiveColor</a> = other.<a class="code" href="classirr_1_1video_1_1_s_material.html#005f9acf8855681c21b3e3e7de67306f" title="Light emitted by this material. Default is to emit no light.">EmissiveColor</a>; <a name="l00226"></a>00226 <a class="code" href="classirr_1_1video_1_1_s_material.html#253c2acbafe6698e3d16b3e3a1e199ed" title="How much specular light (highlights from a light) is reflected.">SpecularColor</a> = other.<a class="code" href="classirr_1_1video_1_1_s_material.html#253c2acbafe6698e3d16b3e3a1e199ed" title="How much specular light (highlights from a light) is reflected.">SpecularColor</a>; <a name="l00227"></a>00227 <a class="code" href="classirr_1_1video_1_1_s_material.html#877106a83108db6d1f30a38379d28494" title="Value affecting the size of specular highlights.">Shininess</a> = other.<a class="code" href="classirr_1_1video_1_1_s_material.html#877106a83108db6d1f30a38379d28494" title="Value affecting the size of specular highlights.">Shininess</a>; <a name="l00228"></a>00228 <a class="code" href="classirr_1_1video_1_1_s_material.html#efe0acce491efa8dedcd2b7cb49f8133" title="Free parameter, dependent on the material type.">MaterialTypeParam</a> = other.<a class="code" href="classirr_1_1video_1_1_s_material.html#efe0acce491efa8dedcd2b7cb49f8133" title="Free parameter, dependent on the material type.">MaterialTypeParam</a>; <a name="l00229"></a>00229 <a class="code" href="classirr_1_1video_1_1_s_material.html#3c4af8e0325a95ff78c3066a497161de" title="Second free parameter, dependent on the material type.">MaterialTypeParam2</a> = other.<a class="code" href="classirr_1_1video_1_1_s_material.html#3c4af8e0325a95ff78c3066a497161de" title="Second free parameter, dependent on the material type.">MaterialTypeParam2</a>; <a name="l00230"></a>00230 <a class="code" href="classirr_1_1video_1_1_s_material.html#5b147b8e6fa53c54d3f33e44982220a1" title="Thickness of non-3dimensional elements such as lines and points.">Thickness</a> = other.<a class="code" href="classirr_1_1video_1_1_s_material.html#5b147b8e6fa53c54d3f33e44982220a1" title="Thickness of non-3dimensional elements such as lines and points.">Thickness</a>; <a name="l00231"></a>00231 <span class="keywordflow">for</span> (<a class="code" href="namespaceirr.html#0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> i=0; i<<a class="code" href="namespaceirr_1_1video.html#d41ca808200ca2e8e9d9326355020052" title="Maximum number of texture an SMaterial can have.">MATERIAL_MAX_TEXTURES</a>; ++i) <a name="l00232"></a>00232 { <a name="l00233"></a>00233 <a class="code" href="classirr_1_1video_1_1_s_material.html#2a722a68bcc2cb3e779882785a409890" title="Texture layer array.">TextureLayer</a>[i] = other.<a class="code" href="classirr_1_1video_1_1_s_material.html#2a722a68bcc2cb3e779882785a409890" title="Texture layer array.">TextureLayer</a>[i]; <a name="l00234"></a>00234 } <a name="l00235"></a>00235 <a name="l00236"></a>00236 <a class="code" href="classirr_1_1video_1_1_s_material.html#6fb428e6e27d0e143cc7da5ea19f8dcc" title="Draw as wireframe or filled triangles? Default: false.">Wireframe</a> = other.<a class="code" href="classirr_1_1video_1_1_s_material.html#6fb428e6e27d0e143cc7da5ea19f8dcc" title="Draw as wireframe or filled triangles? Default: false.">Wireframe</a>; <a name="l00237"></a>00237 <a class="code" href="classirr_1_1video_1_1_s_material.html#457d243ff8c1cd1777c70349fa55515c" title="Draw as point cloud or filled triangles? Default: false.">PointCloud</a> = other.<a class="code" href="classirr_1_1video_1_1_s_material.html#457d243ff8c1cd1777c70349fa55515c" title="Draw as point cloud or filled triangles? Default: false.">PointCloud</a>; <a name="l00238"></a>00238 <a class="code" href="classirr_1_1video_1_1_s_material.html#bf4a3e138d75670ec772fbadb8965e43" title="Flat or Gouraud shading? Default: true.">GouraudShading</a> = other.<a class="code" href="classirr_1_1video_1_1_s_material.html#bf4a3e138d75670ec772fbadb8965e43" title="Flat or Gouraud shading? Default: true.">GouraudShading</a>; <a name="l00239"></a>00239 <a class="code" href="classirr_1_1video_1_1_s_material.html#fde014546a3d1da0f91ee06494d48e2b" title="Will this material be lighted? Default: true.">Lighting</a> = other.<a class="code" href="classirr_1_1video_1_1_s_material.html#fde014546a3d1da0f91ee06494d48e2b" title="Will this material be lighted? Default: true.">Lighting</a>; <a name="l00240"></a>00240 <a class="code" href="classirr_1_1video_1_1_s_material.html#0e6b40e87162a74f2c730af597e20721" title="Is the zbuffer writeable or is it read-only. Default: true.">ZWriteEnable</a> = other.<a class="code" href="classirr_1_1video_1_1_s_material.html#0e6b40e87162a74f2c730af597e20721" title="Is the zbuffer writeable or is it read-only. Default: true.">ZWriteEnable</a>; <a name="l00241"></a>00241 <a class="code" href="classirr_1_1video_1_1_s_material.html#f3fcfcd5c2042a699a3f6b45deac475e" title="Is backface culling enabled? Default: true.">BackfaceCulling</a> = other.<a class="code" href="classirr_1_1video_1_1_s_material.html#f3fcfcd5c2042a699a3f6b45deac475e" title="Is backface culling enabled? Default: true.">BackfaceCulling</a>; <a name="l00242"></a>00242 <a class="code" href="classirr_1_1video_1_1_s_material.html#9e0d15829ae99858ed8442582961149f" title="Is frontface culling enabled? Default: false.">FrontfaceCulling</a> = other.<a class="code" href="classirr_1_1video_1_1_s_material.html#9e0d15829ae99858ed8442582961149f" title="Is frontface culling enabled? Default: false.">FrontfaceCulling</a>; <a name="l00243"></a>00243 <a class="code" href="classirr_1_1video_1_1_s_material.html#a361f179c15991ec85f0894cec38b880" title="Is fog enabled? Default: false.">FogEnable</a> = other.<a class="code" href="classirr_1_1video_1_1_s_material.html#a361f179c15991ec85f0894cec38b880" title="Is fog enabled? Default: false.">FogEnable</a>; <a name="l00244"></a>00244 <a class="code" href="classirr_1_1video_1_1_s_material.html#eee37deac57bebcd42650bc50aeccc2d" title="Should normals be normalized?">NormalizeNormals</a> = other.<a class="code" href="classirr_1_1video_1_1_s_material.html#eee37deac57bebcd42650bc50aeccc2d" title="Should normals be normalized?">NormalizeNormals</a>; <a name="l00245"></a>00245 <a class="code" href="classirr_1_1video_1_1_s_material.html#7e604773b2ac61ab7a15ec9afef0dabf" title="Is the ZBuffer enabled? Default: ECFN_LESSEQUAL.">ZBuffer</a> = other.<a class="code" href="classirr_1_1video_1_1_s_material.html#7e604773b2ac61ab7a15ec9afef0dabf" title="Is the ZBuffer enabled? Default: ECFN_LESSEQUAL.">ZBuffer</a>; <a name="l00246"></a>00246 <a class="code" href="classirr_1_1video_1_1_s_material.html#8f42b43ebf214c502e6758b9b608c095" title="Sets the antialiasing mode.">AntiAliasing</a> = other.<a class="code" href="classirr_1_1video_1_1_s_material.html#8f42b43ebf214c502e6758b9b608c095" title="Sets the antialiasing mode.">AntiAliasing</a>; <a name="l00247"></a>00247 <a class="code" href="classirr_1_1video_1_1_s_material.html#5a4833b515b453c592224d89356dbc01" title="Defines the enabled color planes.">ColorMask</a> = other.<a class="code" href="classirr_1_1video_1_1_s_material.html#5a4833b515b453c592224d89356dbc01" title="Defines the enabled color planes.">ColorMask</a>; <a name="l00248"></a>00248 <a class="code" href="classirr_1_1video_1_1_s_material.html#127d0d7a428cb9e5450f2e448b7652ae" title="Defines the interpretation of vertex color in the lighting equation.">ColorMaterial</a> = other.<a class="code" href="classirr_1_1video_1_1_s_material.html#127d0d7a428cb9e5450f2e448b7652ae" title="Defines the interpretation of vertex color in the lighting equation.">ColorMaterial</a>; <a name="l00249"></a>00249 <a name="l00250"></a>00250 <span class="keywordflow">return</span> *<span class="keyword">this</span>; <a name="l00251"></a>00251 } <a name="l00252"></a>00252 <a name="l00254"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#2a722a68bcc2cb3e779882785a409890">00254</a> <a class="code" href="classirr_1_1video_1_1_s_material_layer.html" title="Struct for holding material parameters which exist per texture layer.">SMaterialLayer</a> <a class="code" href="classirr_1_1video_1_1_s_material.html#2a722a68bcc2cb3e779882785a409890" title="Texture layer array.">TextureLayer</a>[<a class="code" href="namespaceirr_1_1video.html#d41ca808200ca2e8e9d9326355020052" title="Maximum number of texture an SMaterial can have.">MATERIAL_MAX_TEXTURES</a>]; <a name="l00255"></a>00255 <a name="l00257"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#8cb63ab4b49ae1c61fbca8353e6b2f8a">00257</a> <a class="code" href="namespaceirr_1_1video.html#c8e9b6c66f7cebabd1a6d30cbc5430f1" title="Abstracted and easy to use fixed function/programmable pipeline material modes.">E_MATERIAL_TYPE</a> <a class="code" href="classirr_1_1video_1_1_s_material.html#8cb63ab4b49ae1c61fbca8353e6b2f8a" title="Type of the material. Specifies how everything is blended together.">MaterialType</a>; <a name="l00258"></a>00258 <a name="l00260"></a>00260 <a name="l00263"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#434c189b7c618c66f4d09118d30e6b4b">00263</a> <a class="code" href="classirr_1_1video_1_1_s_color.html" title="Class representing a 32 bit ARGB color.">SColor</a> <a class="code" href="classirr_1_1video_1_1_s_material.html#434c189b7c618c66f4d09118d30e6b4b" title="How much ambient light (a global light) is reflected by this material.">AmbientColor</a>; <a name="l00264"></a>00264 <a name="l00266"></a>00266 <a name="l00267"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#c4e1aaf4751f7267eaf255496cc058df">00267</a> <a class="code" href="classirr_1_1video_1_1_s_color.html" title="Class representing a 32 bit ARGB color.">SColor</a> <a class="code" href="classirr_1_1video_1_1_s_material.html#c4e1aaf4751f7267eaf255496cc058df" title="How much diffuse light coming from a light source is reflected by this material.">DiffuseColor</a>; <a name="l00268"></a>00268 <a name="l00270"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#005f9acf8855681c21b3e3e7de67306f">00270</a> <a class="code" href="classirr_1_1video_1_1_s_color.html" title="Class representing a 32 bit ARGB color.">SColor</a> <a class="code" href="classirr_1_1video_1_1_s_material.html#005f9acf8855681c21b3e3e7de67306f" title="Light emitted by this material. Default is to emit no light.">EmissiveColor</a>; <a name="l00271"></a>00271 <a name="l00273"></a>00273 <a name="l00275"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#253c2acbafe6698e3d16b3e3a1e199ed">00275</a> <a class="code" href="classirr_1_1video_1_1_s_color.html" title="Class representing a 32 bit ARGB color.">SColor</a> <a class="code" href="classirr_1_1video_1_1_s_material.html#253c2acbafe6698e3d16b3e3a1e199ed" title="How much specular light (highlights from a light) is reflected.">SpecularColor</a>; <a name="l00276"></a>00276 <a name="l00278"></a>00278 <a name="l00307"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#877106a83108db6d1f30a38379d28494">00307</a> <a class="code" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> <a class="code" href="classirr_1_1video_1_1_s_material.html#877106a83108db6d1f30a38379d28494" title="Value affecting the size of specular highlights.">Shininess</a>; <a name="l00308"></a>00308 <a name="l00310"></a>00310 <a name="l00312"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#efe0acce491efa8dedcd2b7cb49f8133">00312</a> <a class="code" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> <a class="code" href="classirr_1_1video_1_1_s_material.html#efe0acce491efa8dedcd2b7cb49f8133" title="Free parameter, dependent on the material type.">MaterialTypeParam</a>; <a name="l00313"></a>00313 <a name="l00315"></a>00315 <a name="l00316"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#3c4af8e0325a95ff78c3066a497161de">00316</a> <a class="code" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> <a class="code" href="classirr_1_1video_1_1_s_material.html#3c4af8e0325a95ff78c3066a497161de" title="Second free parameter, dependent on the material type.">MaterialTypeParam2</a>; <a name="l00317"></a>00317 <a name="l00319"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#5b147b8e6fa53c54d3f33e44982220a1">00319</a> <a class="code" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> <a class="code" href="classirr_1_1video_1_1_s_material.html#5b147b8e6fa53c54d3f33e44982220a1" title="Thickness of non-3dimensional elements such as lines and points.">Thickness</a>; <a name="l00320"></a>00320 <a name="l00322"></a>00322 <a name="l00323"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#7e604773b2ac61ab7a15ec9afef0dabf">00323</a> <a class="code" href="namespaceirr.html#646874f69af8ff87fc10201b0254a761" title="8 bit unsigned variable.">u8</a> <a class="code" href="classirr_1_1video_1_1_s_material.html#7e604773b2ac61ab7a15ec9afef0dabf" title="Is the ZBuffer enabled? Default: ECFN_LESSEQUAL.">ZBuffer</a>; <a name="l00324"></a>00324 <a name="l00326"></a>00326 <a name="l00329"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#8f42b43ebf214c502e6758b9b608c095">00329</a> <a class="code" href="namespaceirr.html#646874f69af8ff87fc10201b0254a761" title="8 bit unsigned variable.">u8</a> <a class="code" href="classirr_1_1video_1_1_s_material.html#8f42b43ebf214c502e6758b9b608c095" title="Sets the antialiasing mode.">AntiAliasing</a>; <a name="l00330"></a>00330 <a name="l00332"></a>00332 <a name="l00336"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#5a4833b515b453c592224d89356dbc01">00336</a> <a class="code" href="namespaceirr.html#646874f69af8ff87fc10201b0254a761" title="8 bit unsigned variable.">u8</a> <a class="code" href="classirr_1_1video_1_1_s_material.html#5a4833b515b453c592224d89356dbc01" title="Defines the enabled color planes.">ColorMask</a>:4; <a name="l00337"></a>00337 <a name="l00339"></a>00339 <a name="l00344"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#127d0d7a428cb9e5450f2e448b7652ae">00344</a> <a class="code" href="namespaceirr.html#646874f69af8ff87fc10201b0254a761" title="8 bit unsigned variable.">u8</a> <a class="code" href="classirr_1_1video_1_1_s_material.html#127d0d7a428cb9e5450f2e448b7652ae" title="Defines the interpretation of vertex color in the lighting equation.">ColorMaterial</a>:3; <a name="l00345"></a>00345 <a name="l00347"></a>00347 <a name="l00350"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#6fb428e6e27d0e143cc7da5ea19f8dcc">00350</a> <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#6fb428e6e27d0e143cc7da5ea19f8dcc" title="Draw as wireframe or filled triangles? Default: false.">Wireframe</a>:1; <a name="l00351"></a>00351 <a name="l00353"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#457d243ff8c1cd1777c70349fa55515c">00353</a> <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#457d243ff8c1cd1777c70349fa55515c" title="Draw as point cloud or filled triangles? Default: false.">PointCloud</a>:1; <a name="l00354"></a>00354 <a name="l00356"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#bf4a3e138d75670ec772fbadb8965e43">00356</a> <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#bf4a3e138d75670ec772fbadb8965e43" title="Flat or Gouraud shading? Default: true.">GouraudShading</a>:1; <a name="l00357"></a>00357 <a name="l00359"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#fde014546a3d1da0f91ee06494d48e2b">00359</a> <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#fde014546a3d1da0f91ee06494d48e2b" title="Will this material be lighted? Default: true.">Lighting</a>:1; <a name="l00360"></a>00360 <a name="l00362"></a>00362 <a name="l00365"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#0e6b40e87162a74f2c730af597e20721">00365</a> <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#0e6b40e87162a74f2c730af597e20721" title="Is the zbuffer writeable or is it read-only. Default: true.">ZWriteEnable</a>:1; <a name="l00366"></a>00366 <a name="l00368"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#f3fcfcd5c2042a699a3f6b45deac475e">00368</a> <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#f3fcfcd5c2042a699a3f6b45deac475e" title="Is backface culling enabled? Default: true.">BackfaceCulling</a>:1; <a name="l00369"></a>00369 <a name="l00371"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#9e0d15829ae99858ed8442582961149f">00371</a> <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#9e0d15829ae99858ed8442582961149f" title="Is frontface culling enabled? Default: false.">FrontfaceCulling</a>:1; <a name="l00372"></a>00372 <a name="l00374"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#a361f179c15991ec85f0894cec38b880">00374</a> <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#a361f179c15991ec85f0894cec38b880" title="Is fog enabled? Default: false.">FogEnable</a>:1; <a name="l00375"></a>00375 <a name="l00377"></a>00377 <a name="l00378"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#eee37deac57bebcd42650bc50aeccc2d">00378</a> <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#eee37deac57bebcd42650bc50aeccc2d" title="Should normals be normalized?">NormalizeNormals</a>:1; <a name="l00379"></a>00379 <a name="l00381"></a>00381 <a name="l00383"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#102aec38ea69a7c609edfad74b40463c">00383</a> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">core::matrix4</a>& <a class="code" href="classirr_1_1video_1_1_s_material.html#102aec38ea69a7c609edfad74b40463c" title="Gets the texture transformation matrix for level i.">getTextureMatrix</a>(<a class="code" href="namespaceirr.html#0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> i) <a name="l00384"></a>00384 { <a name="l00385"></a>00385 <span class="keywordflow">return</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#2a722a68bcc2cb3e779882785a409890" title="Texture layer array.">TextureLayer</a>[i].<a class="code" href="classirr_1_1video_1_1_s_material_layer.html#a8d7c025f5bb282537b8886c340dbe63" title="Gets the texture transformation matrix.">getTextureMatrix</a>(); <a name="l00386"></a>00386 } <a name="l00387"></a>00387 <a name="l00389"></a>00389 <a name="l00391"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#62f6041818b50efc772658a84e0fd5df">00391</a> <span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">core::matrix4</a>& <a class="code" href="classirr_1_1video_1_1_s_material.html#102aec38ea69a7c609edfad74b40463c" title="Gets the texture transformation matrix for level i.">getTextureMatrix</a>(<a class="code" href="namespaceirr.html#0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> i)<span class="keyword"> const</span> <a name="l00392"></a>00392 <span class="keyword"> </span>{ <a name="l00393"></a>00393 <span class="keywordflow">if</span> (i<<a class="code" href="namespaceirr_1_1video.html#d41ca808200ca2e8e9d9326355020052" title="Maximum number of texture an SMaterial can have.">MATERIAL_MAX_TEXTURES</a>) <a name="l00394"></a>00394 <span class="keywordflow">return</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#2a722a68bcc2cb3e779882785a409890" title="Texture layer array.">TextureLayer</a>[i].<a class="code" href="classirr_1_1video_1_1_s_material_layer.html#a8d7c025f5bb282537b8886c340dbe63" title="Gets the texture transformation matrix.">getTextureMatrix</a>(); <a name="l00395"></a>00395 <span class="keywordflow">else</span> <a name="l00396"></a>00396 <span class="keywordflow">return</span> <a class="code" href="namespaceirr_1_1core.html#c4561f3920d3fbfbfff74c9bed1f2713" title="global const identity matrix">core::IdentityMatrix</a>; <a name="l00397"></a>00397 } <a name="l00398"></a>00398 <a name="l00400"></a>00400 <a name="l00402"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#6e1a89f5005226a9cecb5272ef44ba7d">00402</a> <span class="keywordtype">void</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#6e1a89f5005226a9cecb5272ef44ba7d" title="Sets the i-th texture transformation matrix.">setTextureMatrix</a>(<a class="code" href="namespaceirr.html#0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> i, <span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">core::matrix4</a>& mat) <a name="l00403"></a>00403 { <a name="l00404"></a>00404 <span class="keywordflow">if</span> (i>=<a class="code" href="namespaceirr_1_1video.html#d41ca808200ca2e8e9d9326355020052" title="Maximum number of texture an SMaterial can have.">MATERIAL_MAX_TEXTURES</a>) <a name="l00405"></a>00405 <span class="keywordflow">return</span>; <a name="l00406"></a>00406 <a class="code" href="classirr_1_1video_1_1_s_material.html#2a722a68bcc2cb3e779882785a409890" title="Texture layer array.">TextureLayer</a>[i].<a class="code" href="classirr_1_1video_1_1_s_material_layer.html#0f84f47351a17b2a6041688a425fda1a" title="Sets the texture transformation matrix to mat.">setTextureMatrix</a>(mat); <a name="l00407"></a>00407 } <a name="l00408"></a>00408 <a name="l00410"></a>00410 <a name="l00412"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#14f940e986da1150678fb0f039355d48">00412</a> <a class="code" href="classirr_1_1video_1_1_i_texture.html" title="Interface of a Video Driver dependent Texture.">ITexture</a>* <a class="code" href="classirr_1_1video_1_1_s_material.html#14f940e986da1150678fb0f039355d48" title="Gets the i-th texture.">getTexture</a>(<a class="code" href="namespaceirr.html#0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> i)<span class="keyword"> const</span> <a name="l00413"></a>00413 <span class="keyword"> </span>{ <a name="l00414"></a>00414 <span class="keywordflow">return</span> i < <a class="code" href="namespaceirr_1_1video.html#d41ca808200ca2e8e9d9326355020052" title="Maximum number of texture an SMaterial can have.">MATERIAL_MAX_TEXTURES</a> ? <a class="code" href="classirr_1_1video_1_1_s_material.html#2a722a68bcc2cb3e779882785a409890" title="Texture layer array.">TextureLayer</a>[i].<a class="code" href="classirr_1_1video_1_1_s_material_layer.html#ee7162444c5ed350375c7a46e1bbe450" title="Texture.">Texture</a> : 0; <a name="l00415"></a>00415 } <a name="l00416"></a>00416 <a name="l00418"></a>00418 <a name="l00421"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#44dc38e7d4a78434d12ffd02e88e3d60">00421</a> <span class="keywordtype">void</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#44dc38e7d4a78434d12ffd02e88e3d60" title="Sets the i-th texture.">setTexture</a>(<a class="code" href="namespaceirr.html#0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> i, <a class="code" href="classirr_1_1video_1_1_i_texture.html" title="Interface of a Video Driver dependent Texture.">ITexture</a>* tex) <a name="l00422"></a>00422 { <a name="l00423"></a>00423 <span class="keywordflow">if</span> (i>=<a class="code" href="namespaceirr_1_1video.html#d41ca808200ca2e8e9d9326355020052" title="Maximum number of texture an SMaterial can have.">MATERIAL_MAX_TEXTURES</a>) <a name="l00424"></a>00424 <span class="keywordflow">return</span>; <a name="l00425"></a>00425 <a class="code" href="classirr_1_1video_1_1_s_material.html#2a722a68bcc2cb3e779882785a409890" title="Texture layer array.">TextureLayer</a>[i].<a class="code" href="classirr_1_1video_1_1_s_material_layer.html#ee7162444c5ed350375c7a46e1bbe450" title="Texture.">Texture</a> = tex; <a name="l00426"></a>00426 } <a name="l00427"></a>00427 <a name="l00429"></a>00429 <a name="l00431"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#460db947d8e2022c6be895b77a65bbda">00431</a> <span class="keywordtype">void</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#460db947d8e2022c6be895b77a65bbda" title="Sets the Material flag to the given value.">setFlag</a>(<a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d3" title="Material flags.">E_MATERIAL_FLAG</a> flag, <span class="keywordtype">bool</span> value) <a name="l00432"></a>00432 { <a name="l00433"></a>00433 <span class="keywordflow">switch</span> (flag) <a name="l00434"></a>00434 { <a name="l00435"></a>00435 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d3bc620823efed8d6bdbd46c8a0180893a" title="Draw as wireframe or filled triangles? Default: false.">EMF_WIREFRAME</a>: <a name="l00436"></a>00436 <a class="code" href="classirr_1_1video_1_1_s_material.html#6fb428e6e27d0e143cc7da5ea19f8dcc" title="Draw as wireframe or filled triangles? Default: false.">Wireframe</a> = value; <span class="keywordflow">break</span>; <a name="l00437"></a>00437 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d33726bbddc57e6b37b05481b640eefb07" title="Draw as point cloud or filled triangles? Default: false.">EMF_POINTCLOUD</a>: <a name="l00438"></a>00438 <a class="code" href="classirr_1_1video_1_1_s_material.html#457d243ff8c1cd1777c70349fa55515c" title="Draw as point cloud or filled triangles? Default: false.">PointCloud</a> = value; <span class="keywordflow">break</span>; <a name="l00439"></a>00439 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d38c9d516b266f04179afb232f0b56e51c" title="Flat or Gouraud shading? Default: true.">EMF_GOURAUD_SHADING</a>: <a name="l00440"></a>00440 <a class="code" href="classirr_1_1video_1_1_s_material.html#bf4a3e138d75670ec772fbadb8965e43" title="Flat or Gouraud shading? Default: true.">GouraudShading</a> = value; <span class="keywordflow">break</span>; <a name="l00441"></a>00441 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d3cea597a2692b8415486a464a7f954d34" title="Will this material be lighted? Default: true.">EMF_LIGHTING</a>: <a name="l00442"></a>00442 <a class="code" href="classirr_1_1video_1_1_s_material.html#fde014546a3d1da0f91ee06494d48e2b" title="Will this material be lighted? Default: true.">Lighting</a> = value; <span class="keywordflow">break</span>; <a name="l00443"></a>00443 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d3493bb44efafebb48adab96e31eb029e5" title="Is the ZBuffer enabled? Default: true.">EMF_ZBUFFER</a>: <a name="l00444"></a>00444 <a class="code" href="classirr_1_1video_1_1_s_material.html#7e604773b2ac61ab7a15ec9afef0dabf" title="Is the ZBuffer enabled? Default: ECFN_LESSEQUAL.">ZBuffer</a> = value; <span class="keywordflow">break</span>; <a name="l00445"></a>00445 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d34bc03b7b9dd19e577bf909313ea62510" title="May be written to the zbuffer or is it readonly. Default: true.">EMF_ZWRITE_ENABLE</a>: <a name="l00446"></a>00446 <a class="code" href="classirr_1_1video_1_1_s_material.html#0e6b40e87162a74f2c730af597e20721" title="Is the zbuffer writeable or is it read-only. Default: true.">ZWriteEnable</a> = value; <span class="keywordflow">break</span>; <a name="l00447"></a>00447 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d3e1d176d0ce05ccc5df9e43ce854393bb" title="Is backface culling enabled? Default: true.">EMF_BACK_FACE_CULLING</a>: <a name="l00448"></a>00448 <a class="code" href="classirr_1_1video_1_1_s_material.html#f3fcfcd5c2042a699a3f6b45deac475e" title="Is backface culling enabled? Default: true.">BackfaceCulling</a> = value; <span class="keywordflow">break</span>; <a name="l00449"></a>00449 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d31b3b367405da4f85738c8dbe7647842d" title="Is frontface culling enabled? Default: false.">EMF_FRONT_FACE_CULLING</a>: <a name="l00450"></a>00450 <a class="code" href="classirr_1_1video_1_1_s_material.html#9e0d15829ae99858ed8442582961149f" title="Is frontface culling enabled? Default: false.">FrontfaceCulling</a> = value; <span class="keywordflow">break</span>; <a name="l00451"></a>00451 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d3fbf2b289d416e70466e4ab05e97b4934" title="Is bilinear filtering enabled? Default: true.">EMF_BILINEAR_FILTER</a>: <a name="l00452"></a>00452 { <a name="l00453"></a>00453 <span class="keywordflow">for</span> (<a class="code" href="namespaceirr.html#0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> i=0; i<<a class="code" href="namespaceirr_1_1video.html#d41ca808200ca2e8e9d9326355020052" title="Maximum number of texture an SMaterial can have.">MATERIAL_MAX_TEXTURES</a>; ++i) <a name="l00454"></a>00454 <a class="code" href="classirr_1_1video_1_1_s_material.html#2a722a68bcc2cb3e779882785a409890" title="Texture layer array.">TextureLayer</a>[i].BilinearFilter = value; <a name="l00455"></a>00455 } <a name="l00456"></a>00456 <span class="keywordflow">break</span>; <a name="l00457"></a>00457 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d37a2ed21d879b182fbc767a4c20d72eef" title="Is trilinear filtering enabled? Default: false.">EMF_TRILINEAR_FILTER</a>: <a name="l00458"></a>00458 { <a name="l00459"></a>00459 <span class="keywordflow">for</span> (<a class="code" href="namespaceirr.html#0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> i=0; i<<a class="code" href="namespaceirr_1_1video.html#d41ca808200ca2e8e9d9326355020052" title="Maximum number of texture an SMaterial can have.">MATERIAL_MAX_TEXTURES</a>; ++i) <a name="l00460"></a>00460 <a class="code" href="classirr_1_1video_1_1_s_material.html#2a722a68bcc2cb3e779882785a409890" title="Texture layer array.">TextureLayer</a>[i].TrilinearFilter = value; <a name="l00461"></a>00461 } <a name="l00462"></a>00462 <span class="keywordflow">break</span>; <a name="l00463"></a>00463 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d3941c0756b9dc3f987a183a401c6fd4ad" title="Is anisotropic filtering? Default: false.">EMF_ANISOTROPIC_FILTER</a>: <a name="l00464"></a>00464 { <a name="l00465"></a>00465 <span class="keywordflow">if</span> (value) <a name="l00466"></a>00466 <span class="keywordflow">for</span> (<a class="code" href="namespaceirr.html#0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> i=0; i<<a class="code" href="namespaceirr_1_1video.html#d41ca808200ca2e8e9d9326355020052" title="Maximum number of texture an SMaterial can have.">MATERIAL_MAX_TEXTURES</a>; ++i) <a name="l00467"></a>00467 <a class="code" href="classirr_1_1video_1_1_s_material.html#2a722a68bcc2cb3e779882785a409890" title="Texture layer array.">TextureLayer</a>[i].AnisotropicFilter = 0xFF; <a name="l00468"></a>00468 <span class="keywordflow">else</span> <a name="l00469"></a>00469 <span class="keywordflow">for</span> (<a class="code" href="namespaceirr.html#0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> i=0; i<MATERIAL_MAX_TEXTURES; ++i) <a name="l00470"></a>00470 <a class="code" href="classirr_1_1video_1_1_s_material.html#2a722a68bcc2cb3e779882785a409890" title="Texture layer array.">TextureLayer</a>[i].AnisotropicFilter = 0; <a name="l00471"></a>00471 } <a name="l00472"></a>00472 <span class="keywordflow">break</span>; <a name="l00473"></a>00473 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d35b898e76a9f5e5cfb9c27bee1fbc38be" title="Is fog enabled? Default: false.">EMF_FOG_ENABLE</a>: <a name="l00474"></a>00474 <a class="code" href="classirr_1_1video_1_1_s_material.html#a361f179c15991ec85f0894cec38b880" title="Is fog enabled? Default: false.">FogEnable</a> = value; <span class="keywordflow">break</span>; <a name="l00475"></a>00475 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d33efe2d4921909a842adfc44dacc74520" title="Normalizes normals. Default: false.">EMF_NORMALIZE_NORMALS</a>: <a name="l00476"></a>00476 <a class="code" href="classirr_1_1video_1_1_s_material.html#eee37deac57bebcd42650bc50aeccc2d" title="Should normals be normalized?">NormalizeNormals</a> = value; <span class="keywordflow">break</span>; <a name="l00477"></a>00477 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d3824f828adf0a1e28c6dcb2f5875371b4" title="Access to all layers texture wrap settings. Overwrites separate layer settings.">EMF_TEXTURE_WRAP</a>: <a name="l00478"></a>00478 { <a name="l00479"></a>00479 <span class="keywordflow">for</span> (<a class="code" href="namespaceirr.html#0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> i=0; i<<a class="code" href="namespaceirr_1_1video.html#d41ca808200ca2e8e9d9326355020052" title="Maximum number of texture an SMaterial can have.">MATERIAL_MAX_TEXTURES</a>; ++i) <a name="l00480"></a>00480 <a class="code" href="classirr_1_1video_1_1_s_material.html#2a722a68bcc2cb3e779882785a409890" title="Texture layer array.">TextureLayer</a>[i].TextureWrap = (<a class="code" href="namespaceirr_1_1video.html#5d9933edc5ed7704a7a084f84b39811f" title="Texture coord clamp mode outside [0.0, 1.0].">E_TEXTURE_CLAMP</a>)value; <a name="l00481"></a>00481 } <a name="l00482"></a>00482 <span class="keywordflow">break</span>; <a name="l00483"></a>00483 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d39f512ba36b9ff14e1743150fb68196b0" title="AntiAliasing mode.">EMF_ANTI_ALIASING</a>: <a name="l00484"></a>00484 <a class="code" href="classirr_1_1video_1_1_s_material.html#8f42b43ebf214c502e6758b9b608c095" title="Sets the antialiasing mode.">AntiAliasing</a> = value?<a class="code" href="namespaceirr_1_1video.html#a8647c2a52bdd3bc15ee773e8f2b149d05900b0839b8484a7ff78dbdac7e5dd7" title="Default anti-aliasing mode.">EAAM_SIMPLE</a>:<a class="code" href="namespaceirr_1_1video.html#a8647c2a52bdd3bc15ee773e8f2b149db88de631372a6fc318762f20f1095433" title="Use to turn off anti-aliasing for this material.">EAAM_OFF</a>; <a name="l00485"></a>00485 <span class="keywordflow">break</span>; <a name="l00486"></a>00486 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d372ede4598946d81f12aa407fb680fc40" title="ColorMask bits, for enabling the color planes.">EMF_COLOR_MASK</a>: <a name="l00487"></a>00487 <a class="code" href="classirr_1_1video_1_1_s_material.html#5a4833b515b453c592224d89356dbc01" title="Defines the enabled color planes.">ColorMask</a> = value?<a class="code" href="namespaceirr_1_1video.html#a9f25191ae536c1a4b08ec5334866a21674ec773096b1b504b38ed78213e1e38" title="All planes enabled.">ECP_ALL</a>:<a class="code" href="namespaceirr_1_1video.html#a9f25191ae536c1a4b08ec5334866a21a5afe366b19c967f884d0bd4ca083df9" title="No color enabled.">ECP_NONE</a>; <a name="l00488"></a>00488 <span class="keywordflow">break</span>; <a name="l00489"></a>00489 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d38623708e0a7188b1ae04592b7627eb98" title="ColorMaterial enum for vertex color interpretation.">EMF_COLOR_MATERIAL</a>: <a name="l00490"></a>00490 <a class="code" href="classirr_1_1video_1_1_s_material.html#127d0d7a428cb9e5450f2e448b7652ae" title="Defines the interpretation of vertex color in the lighting equation.">ColorMaterial</a> = value?<a class="code" href="namespaceirr_1_1video.html#41af617fc9a691366e4b162cd1cdea7893dd321bbb0c52003ba44960ccc07afc" title="Use vertex color for diffuse light, this is default.">ECM_DIFFUSE</a>:<a class="code" href="namespaceirr_1_1video.html#41af617fc9a691366e4b162cd1cdea781fbe9f2cc7932b308a8a3503a9409a2e" title="Don&#39;t use vertex color for lighting.">ECM_NONE</a>; <a name="l00491"></a>00491 <span class="keywordflow">break</span>; <a name="l00492"></a>00492 <span class="keywordflow">default</span>: <a name="l00493"></a>00493 <span class="keywordflow">break</span>; <a name="l00494"></a>00494 } <a name="l00495"></a>00495 } <a name="l00496"></a>00496 <a name="l00498"></a>00498 <a name="l00500"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#b8b10dbd364b03745e6708a41b59e9e9">00500</a> <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#b8b10dbd364b03745e6708a41b59e9e9" title="Gets the Material flag.">getFlag</a>(<a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d3" title="Material flags.">E_MATERIAL_FLAG</a> flag)<span class="keyword"> const</span> <a name="l00501"></a>00501 <span class="keyword"> </span>{ <a name="l00502"></a>00502 <span class="keywordflow">switch</span> (flag) <a name="l00503"></a>00503 { <a name="l00504"></a>00504 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d3bc620823efed8d6bdbd46c8a0180893a" title="Draw as wireframe or filled triangles? Default: false.">EMF_WIREFRAME</a>: <a name="l00505"></a>00505 <span class="keywordflow">return</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#6fb428e6e27d0e143cc7da5ea19f8dcc" title="Draw as wireframe or filled triangles? Default: false.">Wireframe</a>; <a name="l00506"></a>00506 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d33726bbddc57e6b37b05481b640eefb07" title="Draw as point cloud or filled triangles? Default: false.">EMF_POINTCLOUD</a>: <a name="l00507"></a>00507 <span class="keywordflow">return</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#457d243ff8c1cd1777c70349fa55515c" title="Draw as point cloud or filled triangles? Default: false.">PointCloud</a>; <a name="l00508"></a>00508 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d38c9d516b266f04179afb232f0b56e51c" title="Flat or Gouraud shading? Default: true.">EMF_GOURAUD_SHADING</a>: <a name="l00509"></a>00509 <span class="keywordflow">return</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#bf4a3e138d75670ec772fbadb8965e43" title="Flat or Gouraud shading? Default: true.">GouraudShading</a>; <a name="l00510"></a>00510 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d3cea597a2692b8415486a464a7f954d34" title="Will this material be lighted? Default: true.">EMF_LIGHTING</a>: <a name="l00511"></a>00511 <span class="keywordflow">return</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#fde014546a3d1da0f91ee06494d48e2b" title="Will this material be lighted? Default: true.">Lighting</a>; <a name="l00512"></a>00512 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d3493bb44efafebb48adab96e31eb029e5" title="Is the ZBuffer enabled? Default: true.">EMF_ZBUFFER</a>: <a name="l00513"></a>00513 <span class="keywordflow">return</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#7e604773b2ac61ab7a15ec9afef0dabf" title="Is the ZBuffer enabled? Default: ECFN_LESSEQUAL.">ZBuffer</a>!=<a class="code" href="namespaceirr_1_1video.html#f5f3986e1d1be0f8d9aca55130ff5878506fee7d9b0132be08b01b28495ed63c" title="Test never succeeds, this equals disable.">ECFN_NEVER</a>; <a name="l00514"></a>00514 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d34bc03b7b9dd19e577bf909313ea62510" title="May be written to the zbuffer or is it readonly. Default: true.">EMF_ZWRITE_ENABLE</a>: <a name="l00515"></a>00515 <span class="keywordflow">return</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#0e6b40e87162a74f2c730af597e20721" title="Is the zbuffer writeable or is it read-only. Default: true.">ZWriteEnable</a>; <a name="l00516"></a>00516 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d3e1d176d0ce05ccc5df9e43ce854393bb" title="Is backface culling enabled? Default: true.">EMF_BACK_FACE_CULLING</a>: <a name="l00517"></a>00517 <span class="keywordflow">return</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#f3fcfcd5c2042a699a3f6b45deac475e" title="Is backface culling enabled? Default: true.">BackfaceCulling</a>; <a name="l00518"></a>00518 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d31b3b367405da4f85738c8dbe7647842d" title="Is frontface culling enabled? Default: false.">EMF_FRONT_FACE_CULLING</a>: <a name="l00519"></a>00519 <span class="keywordflow">return</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#9e0d15829ae99858ed8442582961149f" title="Is frontface culling enabled? Default: false.">FrontfaceCulling</a>; <a name="l00520"></a>00520 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d3fbf2b289d416e70466e4ab05e97b4934" title="Is bilinear filtering enabled? Default: true.">EMF_BILINEAR_FILTER</a>: <a name="l00521"></a>00521 <span class="keywordflow">return</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#2a722a68bcc2cb3e779882785a409890" title="Texture layer array.">TextureLayer</a>[0].<a class="code" href="classirr_1_1video_1_1_s_material_layer.html#72b122a636971204922d399ec6c0e8ac" title="Is bilinear filtering enabled? Default: true.">BilinearFilter</a>; <a name="l00522"></a>00522 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d37a2ed21d879b182fbc767a4c20d72eef" title="Is trilinear filtering enabled? Default: false.">EMF_TRILINEAR_FILTER</a>: <a name="l00523"></a>00523 <span class="keywordflow">return</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#2a722a68bcc2cb3e779882785a409890" title="Texture layer array.">TextureLayer</a>[0].<a class="code" href="classirr_1_1video_1_1_s_material_layer.html#d1b093b1a8e26cb10156a02ac78bdf67" title="Is trilinear filtering enabled? Default: false.">TrilinearFilter</a>; <a name="l00524"></a>00524 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d3941c0756b9dc3f987a183a401c6fd4ad" title="Is anisotropic filtering? Default: false.">EMF_ANISOTROPIC_FILTER</a>: <a name="l00525"></a>00525 <span class="keywordflow">return</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#2a722a68bcc2cb3e779882785a409890" title="Texture layer array.">TextureLayer</a>[0].<a class="code" href="classirr_1_1video_1_1_s_material_layer.html#ed142b316a920ec8fc5e0df09d3de3eb" title="Is anisotropic filtering enabled? Default: 0, disabled.">AnisotropicFilter</a>!=0; <a name="l00526"></a>00526 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d35b898e76a9f5e5cfb9c27bee1fbc38be" title="Is fog enabled? Default: false.">EMF_FOG_ENABLE</a>: <a name="l00527"></a>00527 <span class="keywordflow">return</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#a361f179c15991ec85f0894cec38b880" title="Is fog enabled? Default: false.">FogEnable</a>; <a name="l00528"></a>00528 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d33efe2d4921909a842adfc44dacc74520" title="Normalizes normals. Default: false.">EMF_NORMALIZE_NORMALS</a>: <a name="l00529"></a>00529 <span class="keywordflow">return</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#eee37deac57bebcd42650bc50aeccc2d" title="Should normals be normalized?">NormalizeNormals</a>; <a name="l00530"></a>00530 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d3824f828adf0a1e28c6dcb2f5875371b4" title="Access to all layers texture wrap settings. Overwrites separate layer settings.">EMF_TEXTURE_WRAP</a>: <a name="l00531"></a>00531 <span class="keywordflow">return</span> !(<a class="code" href="classirr_1_1video_1_1_s_material.html#2a722a68bcc2cb3e779882785a409890" title="Texture layer array.">TextureLayer</a>[0].<a class="code" href="classirr_1_1video_1_1_s_material_layer.html#9afbb92d874d44470d6a3ce1973ce46c" title="Texture Clamp Mode.">TextureWrap</a> || <a name="l00532"></a>00532 <a class="code" href="classirr_1_1video_1_1_s_material.html#2a722a68bcc2cb3e779882785a409890" title="Texture layer array.">TextureLayer</a>[1].<a class="code" href="classirr_1_1video_1_1_s_material_layer.html#9afbb92d874d44470d6a3ce1973ce46c" title="Texture Clamp Mode.">TextureWrap</a> || <a name="l00533"></a>00533 <a class="code" href="classirr_1_1video_1_1_s_material.html#2a722a68bcc2cb3e779882785a409890" title="Texture layer array.">TextureLayer</a>[2].<a class="code" href="classirr_1_1video_1_1_s_material_layer.html#9afbb92d874d44470d6a3ce1973ce46c" title="Texture Clamp Mode.">TextureWrap</a> || <a name="l00534"></a>00534 <a class="code" href="classirr_1_1video_1_1_s_material.html#2a722a68bcc2cb3e779882785a409890" title="Texture layer array.">TextureLayer</a>[3].<a class="code" href="classirr_1_1video_1_1_s_material_layer.html#9afbb92d874d44470d6a3ce1973ce46c" title="Texture Clamp Mode.">TextureWrap</a>); <a name="l00535"></a>00535 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d39f512ba36b9ff14e1743150fb68196b0" title="AntiAliasing mode.">EMF_ANTI_ALIASING</a>: <a name="l00536"></a>00536 <span class="keywordflow">return</span> (<a class="code" href="classirr_1_1video_1_1_s_material.html#8f42b43ebf214c502e6758b9b608c095" title="Sets the antialiasing mode.">AntiAliasing</a>==1); <a name="l00537"></a>00537 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d372ede4598946d81f12aa407fb680fc40" title="ColorMask bits, for enabling the color planes.">EMF_COLOR_MASK</a>: <a name="l00538"></a>00538 <span class="keywordflow">return</span> (<a class="code" href="classirr_1_1video_1_1_s_material.html#5a4833b515b453c592224d89356dbc01" title="Defines the enabled color planes.">ColorMask</a>!=<a class="code" href="namespaceirr_1_1video.html#a9f25191ae536c1a4b08ec5334866a21a5afe366b19c967f884d0bd4ca083df9" title="No color enabled.">ECP_NONE</a>); <a name="l00539"></a>00539 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#8a3bc00ae8137535b9fbc5f40add70d38623708e0a7188b1ae04592b7627eb98" title="ColorMaterial enum for vertex color interpretation.">EMF_COLOR_MATERIAL</a>: <a name="l00540"></a>00540 <span class="keywordflow">return</span> (<a class="code" href="classirr_1_1video_1_1_s_material.html#127d0d7a428cb9e5450f2e448b7652ae" title="Defines the interpretation of vertex color in the lighting equation.">ColorMaterial</a> != <a class="code" href="namespaceirr_1_1video.html#41af617fc9a691366e4b162cd1cdea781fbe9f2cc7932b308a8a3503a9409a2e" title="Don&#39;t use vertex color for lighting.">ECM_NONE</a>); <a name="l00541"></a>00541 } <a name="l00542"></a>00542 <a name="l00543"></a>00543 <span class="keywordflow">return</span> <span class="keyword">false</span>; <a name="l00544"></a>00544 } <a name="l00545"></a>00545 <a name="l00547"></a>00547 <a name="l00549"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#a509d4f4822d3321aa400bfd8d767d10">00549</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#a509d4f4822d3321aa400bfd8d767d10" title="Inequality operator.">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classirr_1_1video_1_1_s_material.html" title="Struct for holding parameters for a material renderer.">SMaterial</a>& b)<span class="keyword"> const</span> <a name="l00550"></a>00550 <span class="keyword"> </span>{ <a name="l00551"></a>00551 <span class="keywordtype">bool</span> different = <a name="l00552"></a>00552 <a class="code" href="classirr_1_1video_1_1_s_material.html#8cb63ab4b49ae1c61fbca8353e6b2f8a" title="Type of the material. Specifies how everything is blended together.">MaterialType</a> != b.<a class="code" href="classirr_1_1video_1_1_s_material.html#8cb63ab4b49ae1c61fbca8353e6b2f8a" title="Type of the material. Specifies how everything is blended together.">MaterialType</a> || <a name="l00553"></a>00553 <a class="code" href="classirr_1_1video_1_1_s_material.html#434c189b7c618c66f4d09118d30e6b4b" title="How much ambient light (a global light) is reflected by this material.">AmbientColor</a> != b.<a class="code" href="classirr_1_1video_1_1_s_material.html#434c189b7c618c66f4d09118d30e6b4b" title="How much ambient light (a global light) is reflected by this material.">AmbientColor</a> || <a name="l00554"></a>00554 <a class="code" href="classirr_1_1video_1_1_s_material.html#c4e1aaf4751f7267eaf255496cc058df" title="How much diffuse light coming from a light source is reflected by this material.">DiffuseColor</a> != b.<a class="code" href="classirr_1_1video_1_1_s_material.html#c4e1aaf4751f7267eaf255496cc058df" title="How much diffuse light coming from a light source is reflected by this material.">DiffuseColor</a> || <a name="l00555"></a>00555 <a class="code" href="classirr_1_1video_1_1_s_material.html#005f9acf8855681c21b3e3e7de67306f" title="Light emitted by this material. Default is to emit no light.">EmissiveColor</a> != b.<a class="code" href="classirr_1_1video_1_1_s_material.html#005f9acf8855681c21b3e3e7de67306f" title="Light emitted by this material. Default is to emit no light.">EmissiveColor</a> || <a name="l00556"></a>00556 <a class="code" href="classirr_1_1video_1_1_s_material.html#253c2acbafe6698e3d16b3e3a1e199ed" title="How much specular light (highlights from a light) is reflected.">SpecularColor</a> != b.<a class="code" href="classirr_1_1video_1_1_s_material.html#253c2acbafe6698e3d16b3e3a1e199ed" title="How much specular light (highlights from a light) is reflected.">SpecularColor</a> || <a name="l00557"></a>00557 <a class="code" href="classirr_1_1video_1_1_s_material.html#877106a83108db6d1f30a38379d28494" title="Value affecting the size of specular highlights.">Shininess</a> != b.<a class="code" href="classirr_1_1video_1_1_s_material.html#877106a83108db6d1f30a38379d28494" title="Value affecting the size of specular highlights.">Shininess</a> || <a name="l00558"></a>00558 <a class="code" href="classirr_1_1video_1_1_s_material.html#efe0acce491efa8dedcd2b7cb49f8133" title="Free parameter, dependent on the material type.">MaterialTypeParam</a> != b.<a class="code" href="classirr_1_1video_1_1_s_material.html#efe0acce491efa8dedcd2b7cb49f8133" title="Free parameter, dependent on the material type.">MaterialTypeParam</a> || <a name="l00559"></a>00559 <a class="code" href="classirr_1_1video_1_1_s_material.html#3c4af8e0325a95ff78c3066a497161de" title="Second free parameter, dependent on the material type.">MaterialTypeParam2</a> != b.<a class="code" href="classirr_1_1video_1_1_s_material.html#3c4af8e0325a95ff78c3066a497161de" title="Second free parameter, dependent on the material type.">MaterialTypeParam2</a> || <a name="l00560"></a>00560 <a class="code" href="classirr_1_1video_1_1_s_material.html#5b147b8e6fa53c54d3f33e44982220a1" title="Thickness of non-3dimensional elements such as lines and points.">Thickness</a> != b.<a class="code" href="classirr_1_1video_1_1_s_material.html#5b147b8e6fa53c54d3f33e44982220a1" title="Thickness of non-3dimensional elements such as lines and points.">Thickness</a> || <a name="l00561"></a>00561 <a class="code" href="classirr_1_1video_1_1_s_material.html#6fb428e6e27d0e143cc7da5ea19f8dcc" title="Draw as wireframe or filled triangles? Default: false.">Wireframe</a> != b.<a class="code" href="classirr_1_1video_1_1_s_material.html#6fb428e6e27d0e143cc7da5ea19f8dcc" title="Draw as wireframe or filled triangles? Default: false.">Wireframe</a> || <a name="l00562"></a>00562 <a class="code" href="classirr_1_1video_1_1_s_material.html#457d243ff8c1cd1777c70349fa55515c" title="Draw as point cloud or filled triangles? Default: false.">PointCloud</a> != b.<a class="code" href="classirr_1_1video_1_1_s_material.html#457d243ff8c1cd1777c70349fa55515c" title="Draw as point cloud or filled triangles? Default: false.">PointCloud</a> || <a name="l00563"></a>00563 <a class="code" href="classirr_1_1video_1_1_s_material.html#bf4a3e138d75670ec772fbadb8965e43" title="Flat or Gouraud shading? Default: true.">GouraudShading</a> != b.<a class="code" href="classirr_1_1video_1_1_s_material.html#bf4a3e138d75670ec772fbadb8965e43" title="Flat or Gouraud shading? Default: true.">GouraudShading</a> || <a name="l00564"></a>00564 <a class="code" href="classirr_1_1video_1_1_s_material.html#fde014546a3d1da0f91ee06494d48e2b" title="Will this material be lighted? Default: true.">Lighting</a> != b.<a class="code" href="classirr_1_1video_1_1_s_material.html#fde014546a3d1da0f91ee06494d48e2b" title="Will this material be lighted? Default: true.">Lighting</a> || <a name="l00565"></a>00565 <a class="code" href="classirr_1_1video_1_1_s_material.html#7e604773b2ac61ab7a15ec9afef0dabf" title="Is the ZBuffer enabled? Default: ECFN_LESSEQUAL.">ZBuffer</a> != b.<a class="code" href="classirr_1_1video_1_1_s_material.html#7e604773b2ac61ab7a15ec9afef0dabf" title="Is the ZBuffer enabled? Default: ECFN_LESSEQUAL.">ZBuffer</a> || <a name="l00566"></a>00566 <a class="code" href="classirr_1_1video_1_1_s_material.html#0e6b40e87162a74f2c730af597e20721" title="Is the zbuffer writeable or is it read-only. Default: true.">ZWriteEnable</a> != b.<a class="code" href="classirr_1_1video_1_1_s_material.html#0e6b40e87162a74f2c730af597e20721" title="Is the zbuffer writeable or is it read-only. Default: true.">ZWriteEnable</a> || <a name="l00567"></a>00567 <a class="code" href="classirr_1_1video_1_1_s_material.html#f3fcfcd5c2042a699a3f6b45deac475e" title="Is backface culling enabled? Default: true.">BackfaceCulling</a> != b.<a class="code" href="classirr_1_1video_1_1_s_material.html#f3fcfcd5c2042a699a3f6b45deac475e" title="Is backface culling enabled? Default: true.">BackfaceCulling</a> || <a name="l00568"></a>00568 <a class="code" href="classirr_1_1video_1_1_s_material.html#9e0d15829ae99858ed8442582961149f" title="Is frontface culling enabled? Default: false.">FrontfaceCulling</a> != b.<a class="code" href="classirr_1_1video_1_1_s_material.html#9e0d15829ae99858ed8442582961149f" title="Is frontface culling enabled? Default: false.">FrontfaceCulling</a> || <a name="l00569"></a>00569 <a class="code" href="classirr_1_1video_1_1_s_material.html#a361f179c15991ec85f0894cec38b880" title="Is fog enabled? Default: false.">FogEnable</a> != b.<a class="code" href="classirr_1_1video_1_1_s_material.html#a361f179c15991ec85f0894cec38b880" title="Is fog enabled? Default: false.">FogEnable</a> || <a name="l00570"></a>00570 <a class="code" href="classirr_1_1video_1_1_s_material.html#eee37deac57bebcd42650bc50aeccc2d" title="Should normals be normalized?">NormalizeNormals</a> != b.<a class="code" href="classirr_1_1video_1_1_s_material.html#eee37deac57bebcd42650bc50aeccc2d" title="Should normals be normalized?">NormalizeNormals</a> || <a name="l00571"></a>00571 <a class="code" href="classirr_1_1video_1_1_s_material.html#8f42b43ebf214c502e6758b9b608c095" title="Sets the antialiasing mode.">AntiAliasing</a> != b.<a class="code" href="classirr_1_1video_1_1_s_material.html#8f42b43ebf214c502e6758b9b608c095" title="Sets the antialiasing mode.">AntiAliasing</a> || <a name="l00572"></a>00572 <a class="code" href="classirr_1_1video_1_1_s_material.html#5a4833b515b453c592224d89356dbc01" title="Defines the enabled color planes.">ColorMask</a> != b.<a class="code" href="classirr_1_1video_1_1_s_material.html#5a4833b515b453c592224d89356dbc01" title="Defines the enabled color planes.">ColorMask</a> || <a name="l00573"></a>00573 <a class="code" href="classirr_1_1video_1_1_s_material.html#127d0d7a428cb9e5450f2e448b7652ae" title="Defines the interpretation of vertex color in the lighting equation.">ColorMaterial</a> != b.<a class="code" href="classirr_1_1video_1_1_s_material.html#127d0d7a428cb9e5450f2e448b7652ae" title="Defines the interpretation of vertex color in the lighting equation.">ColorMaterial</a>; <a name="l00574"></a>00574 <span class="keywordflow">for</span> (<a class="code" href="namespaceirr.html#0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> i=0; (i<<a class="code" href="namespaceirr_1_1video.html#d41ca808200ca2e8e9d9326355020052" title="Maximum number of texture an SMaterial can have.">MATERIAL_MAX_TEXTURES</a>) && !different; ++i) <a name="l00575"></a>00575 { <a name="l00576"></a>00576 different |= (<a class="code" href="classirr_1_1video_1_1_s_material.html#2a722a68bcc2cb3e779882785a409890" title="Texture layer array.">TextureLayer</a>[i] != b.<a class="code" href="classirr_1_1video_1_1_s_material.html#2a722a68bcc2cb3e779882785a409890" title="Texture layer array.">TextureLayer</a>[i]); <a name="l00577"></a>00577 } <a name="l00578"></a>00578 <span class="keywordflow">return</span> different; <a name="l00579"></a>00579 } <a name="l00580"></a>00580 <a name="l00582"></a>00582 <a name="l00584"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#d6427ceb4e1a89a186aeb5030756c32c">00584</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#d6427ceb4e1a89a186aeb5030756c32c" title="Equality operator.">operator==</a>(<span class="keyword">const</span> <a class="code" href="classirr_1_1video_1_1_s_material.html" title="Struct for holding parameters for a material renderer.">SMaterial</a>& b)<span class="keyword"> const</span> <a name="l00585"></a>00585 <span class="keyword"> </span>{ <span class="keywordflow">return</span> !(b!=*<span class="keyword">this</span>); } <a name="l00586"></a>00586 <a name="l00587"></a><a class="code" href="classirr_1_1video_1_1_s_material.html#c2bee0b84bfbc0b17571574ea914ca8a">00587</a> <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#c2bee0b84bfbc0b17571574ea914ca8a">isTransparent</a>()<span class="keyword"> const</span> <a name="l00588"></a>00588 <span class="keyword"> </span>{ <a name="l00589"></a>00589 <span class="keywordflow">return</span> <a class="code" href="classirr_1_1video_1_1_s_material.html#8cb63ab4b49ae1c61fbca8353e6b2f8a" title="Type of the material. Specifies how everything is blended together.">MaterialType</a>==<a class="code" href="namespaceirr_1_1video.html#c8e9b6c66f7cebabd1a6d30cbc5430f11b5a814c4466aca2943ff056003a50d1" title="A transparent material.">EMT_TRANSPARENT_ADD_COLOR</a> || <a name="l00590"></a>00590 <a class="code" href="classirr_1_1video_1_1_s_material.html#8cb63ab4b49ae1c61fbca8353e6b2f8a" title="Type of the material. Specifies how everything is blended together.">MaterialType</a>==<a class="code" href="namespaceirr_1_1video.html#c8e9b6c66f7cebabd1a6d30cbc5430f1c08aa3715ad41281472202107a81f736" title="Makes the material transparent based on the texture alpha channel.">EMT_TRANSPARENT_ALPHA_CHANNEL</a> || <a name="l00591"></a>00591 <a class="code" href="classirr_1_1video_1_1_s_material.html#8cb63ab4b49ae1c61fbca8353e6b2f8a" title="Type of the material. Specifies how everything is blended together.">MaterialType</a>==<a class="code" href="namespaceirr_1_1video.html#c8e9b6c66f7cebabd1a6d30cbc5430f126529b1cf18ec4d8073809f6bd15ebbb" title="Makes the material transparent based on the vertex alpha value.">EMT_TRANSPARENT_VERTEX_ALPHA</a> || <a name="l00592"></a>00592 <a class="code" href="classirr_1_1video_1_1_s_material.html#8cb63ab4b49ae1c61fbca8353e6b2f8a" title="Type of the material. Specifies how everything is blended together.">MaterialType</a>==<a class="code" href="namespaceirr_1_1video.html#c8e9b6c66f7cebabd1a6d30cbc5430f18b074c837c82178daa178a3a7321a32d" title="A transparent reflecting material with an optional additional non reflecting texture...">EMT_TRANSPARENT_REFLECTION_2_LAYER</a>; <a name="l00593"></a>00593 } <a name="l00594"></a>00594 }; <a name="l00595"></a>00595 <a name="l00597"></a>00597 <a class="code" href="_irr_compile_config_8h.html#a93137544a73eaa2563931a1e665862d" title="Set FPU settings.">IRRLICHT_API</a> <span class="keyword">extern</span> SMaterial <a class="code" href="namespaceirr_1_1video.html#6c7a0046dcf64bb165eca2af94045a61" title="global const identity Material">IdentityMaterial</a>; <a name="l00598"></a>00598 <a name="l00599"></a>00599 } <span class="comment">// end namespace video</span> <a name="l00600"></a>00600 } <span class="comment">// end namespace irr</span> <a name="l00601"></a>00601 <a name="l00602"></a>00602 <span class="preprocessor">#endif</span> </pre></div></div> <hr size="1"> <address style="align: right;"> <small> </small> </address> <table width="100%" border="0" cellspacing="0" cellpadding="2"> <tr> <td width="0"> <div align="left"><small><a href="http://irrlicht.sourceforge.net" target="_blank"><img src="irrlicht.png" alt="The Irrlicht Engine" align="middle" border=0 width=88 height=31></a></small></div></td> <td> <div align="left"><small><em><font size="2">The <a href="http://irrlicht.sourceforge.net" target="_blank">Irrlicht Engine</a> Documentation © 2003-2009 by Nikolaus Gebhardt. Generated on Sun Jan 10 09:24:05 2010 by <a href="http://www.doxygen.org" target="_blank">Doxygen</a> (1.5.6)</font></em></small></div></td> </tr> </table> <address style="align: right;"> </address> </body> </html>