Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > bad97183153701b09df5fae1052b1c30 > files > 1773

crystalspace-doc-1.2.1-5mdv2010.0.i586.rpm

<!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>Crystal Space 1.2.1: ivideo/graph3d.h File Reference (Crystal Space 1.2.1 Public API Reference)</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="head">
 <tr height="59">
  <td class="head" width="202" valign="bottom" style="padding-left:0;"><a href="http://www.crystalspace3d.org/"><img src="csblur.png" width="236" height="59" alt="CrystalSpace" border="0"></a></td>
  <td class="head"><h2>Public API Reference</h2></td>
 </tr>
 <tr height="11">
  <td colspan="2" class="headshadow" valign="top" style="padding-left:0;"><img src="csblurb.png" width="236" height="11" alt="" border="0"></td>
 </tr>
</table>
<div class="content">
<!-- Generated by Doxygen 1.5.3 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li><a href="classes.html"><span>Classes</span></a></li>
    <li class="current"><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul>
</div>
<h1>ivideo/graph3d.h File Reference</h1>3D graphics interface <a href="#_details">More...</a>
<p>
<code>#include &quot;<a class="el" href="scf_8h-source.html">csutil/scf.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="transfrm_8h-source.html">csgeom/transfrm.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="flags_8h-source.html">csutil/flags.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="csutil_2strset_8h-source.html">csutil/strset.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="rndbuf_8h-source.html">ivideo/rndbuf.h</a>&quot;</code><br>

<p>
<a href="graph3d_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcsAlphaMode.html">csAlphaMode</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Describes how to deal with alpha values in textures.  <a href="structcsAlphaMode.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcsGraphics3DCaps.html">csGraphics3DCaps</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Information about 3d renderer capabilities.  <a href="structcsGraphics3DCaps.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcsSimpleRenderMesh.html">csSimpleRenderMesh</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A simple render mesh.  <a href="structcsSimpleRenderMesh.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiGraphics3D.html">iGraphics3D</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is the standard 3D graphics interface.  <a href="structiGraphics3D.html#_details">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g5290bb1d367bba5f785cb9744e1e5448"></a><!-- doxytag: member="graph3d.h::CS_VATTRIB_GENERIC_FIRST" ref="g5290bb1d367bba5f785cb9744e1e5448" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g5290bb1d367bba5f785cb9744e1e5448">CS_VATTRIB_GENERIC_FIRST</a>&nbsp;&nbsp;&nbsp;100</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g5984c9a74424494bb5ac40574122fe04"></a><!-- doxytag: member="graph3d.h::CS_VATTRIB_GENERIC_LAST" ref="g5984c9a74424494bb5ac40574122fe04" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g5984c9a74424494bb5ac40574122fe04">CS_VATTRIB_GENERIC_LAST</a>&nbsp;&nbsp;&nbsp;(CS_VATTRIB_GENERIC_FIRST + 15)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gd70e0c7a583331b3620d7f8163ed70e2"></a><!-- doxytag: member="graph3d.h::CS_VATTRIB_IS_GENERIC" ref="gd70e0c7a583331b3620d7f8163ed70e2" args="(va)" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#gd70e0c7a583331b3620d7f8163ed70e2">CS_VATTRIB_IS_GENERIC</a>(va)&nbsp;&nbsp;&nbsp;((va &gt;= CS_VATTRIB_GENERIC_FIRST) &amp;&amp; (va &lt;=CS_VATTRIB_GENERIC_LAST))</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gc6370838845f2f5c59081a1e4e3dabeb"></a><!-- doxytag: member="graph3d.h::CS_VATTRIB_IS_SPECIFIC" ref="gc6370838845f2f5c59081a1e4e3dabeb" args="(va)" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#gc6370838845f2f5c59081a1e4e3dabeb">CS_VATTRIB_IS_SPECIFIC</a>(va)&nbsp;&nbsp;&nbsp;((va &gt;= CS_VATTRIB_SPECIFIC_FIRST) &amp;&amp; (va &lt;=CS_VATTRIB_SPECIFIC_LAST))</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3f705d9dae284c65d68c3a6bd42d5e04"></a><!-- doxytag: member="graph3d.h::CS_VATTRIB_SPECIFIC_FIRST" ref="g3f705d9dae284c65d68c3a6bd42d5e04" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g3f705d9dae284c65d68c3a6bd42d5e04">CS_VATTRIB_SPECIFIC_FIRST</a>&nbsp;&nbsp;&nbsp;0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g7ce2aa06ad352f022a1f4701dca2d593"></a><!-- doxytag: member="graph3d.h::CS_VATTRIB_SPECIFIC_LAST" ref="g7ce2aa06ad352f022a1f4701dca2d593" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g7ce2aa06ad352f022a1f4701dca2d593">CS_VATTRIB_SPECIFIC_LAST</a>&nbsp;&nbsp;&nbsp;15</td></tr>

<tr><td colspan="2"><div class="groupHeader">Clipping requirement for DrawTriangleMesh</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g568a33e28806ce566e8446420bcb3bd3">CS_CLIP_NEEDED</a>&nbsp;&nbsp;&nbsp;1</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clipping may be needed.  <a href="group__gfx3d.html#g568a33e28806ce566e8446420bcb3bd3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#ge0c49e6b4ff330f8920a64c13acb9c5d">CS_CLIP_NOT</a>&nbsp;&nbsp;&nbsp;0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">No clipping required.  <a href="group__gfx3d.html#ge0c49e6b4ff330f8920a64c13acb9c5d"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Type of clipper (for iGraphics3D::SetClipper())</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#gf8e6612dd833ab4914ab4a7a1608e363">CS_CLIPPER_NONE</a>&nbsp;&nbsp;&nbsp;-1</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">There is no clipper.  <a href="group__gfx3d.html#gf8e6612dd833ab4914ab4a7a1608e363"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#gb4d7dbe53c5c4fc71ab7871c233bae9f">CS_CLIPPER_OPTIONAL</a>&nbsp;&nbsp;&nbsp;0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clipper is optional.  <a href="group__gfx3d.html#gb4d7dbe53c5c4fc71ab7871c233bae9f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#gaa52708cea2dcea900681b7643c3aff5">CS_CLIPPER_REQUIRED</a>&nbsp;&nbsp;&nbsp;2</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clipper is required.  <a href="group__gfx3d.html#gaa52708cea2dcea900681b7643c3aff5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g40e00c647036b433b16268a0cc3149c3">CS_CLIPPER_TOPLEVEL</a>&nbsp;&nbsp;&nbsp;1</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clipper is top-level.  <a href="group__gfx3d.html#g40e00c647036b433b16268a0cc3149c3"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Mix mode: Default modes</div></td></tr>
<tr><td colspan="2"><div class="groupText">A set of commonly used mix modes. <br><br></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g59466bfe3d5df98a96bd96c81c90a854">CS_FX_ADD</a>&nbsp;&nbsp;&nbsp;(CS_MIXMODE_BLEND(ONE, ONE) | CS_MIXMODE_ALPHATEST_DISABLE)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Additive blending. Formula: <code>=SRC+DST</code>.  <a href="group__gfx3d.html#g59466bfe3d5df98a96bd96c81c90a854"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g89072101df1b847eb56c7662664fc148">CS_FX_ALPHA</a>&nbsp;&nbsp;&nbsp;(CS_MIXMODE_BLEND(SRCALPHA, SRCALPHA_INV) | CS_MIXMODE_ALPHATEST_DISABLE)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Alpha blending.  <a href="group__gfx3d.html#g89072101df1b847eb56c7662664fc148"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g157a5b79fc02bff999d17b291dac354d">CS_FX_COPY</a>&nbsp;&nbsp;&nbsp;(CS_MIXMODE_TYPE_AUTO | CS_MIXMODE_ALPHATEST_AUTO)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This mixmode uses alpha smooth blending, binary blending (ie enabled alpha test) and no blending depending on the contents of csRenderMesh::alphaMode.  <a href="group__gfx3d.html#g157a5b79fc02bff999d17b291dac354d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g9619d4c92edc9b5873b0f53fe2e02a04">CS_FX_DESTALPHAADD</a>&nbsp;&nbsp;&nbsp;(CS_MIXMODE_BLEND(DSTALPHA, ONE) | CS_MIXMODE_ALPHATEST_DISABLE)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply source color with destination alpha and add.  <a href="group__gfx3d.html#g9619d4c92edc9b5873b0f53fe2e02a04"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#gb067ef5d5d60de998bf43d15978a5d75">CS_FX_FLAT</a>&nbsp;&nbsp;&nbsp;(0x04000000)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flat shading flag.  <a href="group__gfx3d.html#gb067ef5d5d60de998bf43d15978a5d75"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#gc5ac035511e3c8a35a7dc18b55cbf868">CS_FX_MASK_ALPHA</a>&nbsp;&nbsp;&nbsp;(0x000000FF)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mixmode alpha part.  <a href="group__gfx3d.html#gc5ac035511e3c8a35a7dc18b55cbf868"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#ge7f16e1fb3eff6747db082caec700c9b">CS_FX_MASK_MIXMODE</a>&nbsp;&nbsp;&nbsp;(0xf0ff0000)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit mask for bits relevant to mix mode comparison; contains type, alpha test flags and blending op factors.  <a href="group__gfx3d.html#ge7f16e1fb3eff6747db082caec700c9b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#gdbbfe64fc8250e928827dc5c4f93d503">CS_FX_MESH</a>&nbsp;&nbsp;&nbsp;(CS_MIXMODE_TYPE_MESH)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Use the mix mode of the mesh mix mode.  <a href="group__gfx3d.html#gdbbfe64fc8250e928827dc5c4f93d503"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#gb90560b5ab7d9bcf32901e0eb5f041d2">CS_FX_MULTIPLY</a>&nbsp;&nbsp;&nbsp;(CS_MIXMODE_BLEND(DSTCOLOR, ZERO) | CS_MIXMODE_ALPHATEST_DISABLE)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplicative blending. Formula: <code>=SRC*DST</code>.  <a href="group__gfx3d.html#gb90560b5ab7d9bcf32901e0eb5f041d2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g305a050d961b6f0cab41af02763d255b">CS_FX_MULTIPLY2</a>&nbsp;&nbsp;&nbsp;(CS_MIXMODE_BLEND(DSTCOLOR, SRCCOLOR) | CS_MIXMODE_ALPHATEST_DISABLE)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplicative doubling blending. Formula: <code>=2*SRC*DST</code>.  <a href="group__gfx3d.html#g305a050d961b6f0cab41af02763d255b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#gb116e9a5671f2b3314dfb84f3156363a">CS_FX_PREMULTALPHA</a>&nbsp;&nbsp;&nbsp;(CS_MIXMODE_BLEND(ONE, SRCALPHA_INV) | CS_MIXMODE_ALPHATEST_DISABLE)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply destination color with inverse source alpha and add source color.  <a href="group__gfx3d.html#gb116e9a5671f2b3314dfb84f3156363a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g6c38f097325623b97008651fac2d436e">CS_FX_SRCALPHAADD</a>&nbsp;&nbsp;&nbsp;(CS_MIXMODE_BLEND(SRCALPHA, ONE) | CS_MIXMODE_ALPHATEST_DISABLE)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply source color with source alpha and add.  <a href="group__gfx3d.html#g6c38f097325623b97008651fac2d436e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#gbdfcef391e5a2c8ee4974995ca4c6454">CS_FX_TRANSPARENT</a>&nbsp;&nbsp;&nbsp;(CS_MIXMODE_BLEND(ZERO, ONE) | CS_MIXMODE_ALPHATEST_DISABLE)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transparent blending (keep framebuffer unmodified).  <a href="group__gfx3d.html#gbdfcef391e5a2c8ee4974995ca4c6454"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Mix mode: alpha helpers</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#gc5a2e0c327c6b69ccab0183bd0e2a529">CS_FX_SETALPHA</a>(alpha)&nbsp;&nbsp;&nbsp;(CS_FX_ALPHA | <a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> ((alpha) * CS_FX_MASK_ALPHA))</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro for setting of alpha bits into mixmode (alpha between 0 and 1).  <a href="group__gfx3d.html#gc5a2e0c327c6b69ccab0183bd0e2a529"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#gd86331b25169e33b6fcfa9eabd6bc24c">CS_FX_SETALPHA_INT</a>(alpha)&nbsp;&nbsp;&nbsp;(CS_FX_ALPHA | <a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> ((alpha) &amp; CS_FX_MASK_ALPHA))</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro for setting of alpha bits into mixmode (alpha between 0 and 255).  <a href="group__gfx3d.html#gd86331b25169e33b6fcfa9eabd6bc24c"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Light parameters</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph3d_8h.html#138140e872f433308b457292170d74b8">CS_LIGHTPARAM_ATTENUATION</a>&nbsp;&nbsp;&nbsp;3</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attenuation of the light.  <a href="#138140e872f433308b457292170d74b8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph3d_8h.html#d9807886217437cecd85a0f0ddee7085">CS_LIGHTPARAM_DIFFUSE</a>&nbsp;&nbsp;&nbsp;1</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Diffuse color of the light.  <a href="#d9807886217437cecd85a0f0ddee7085"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph3d_8h.html#96604da2b5005980794869fd1d4a0fac">CS_LIGHTPARAM_POSITION</a>&nbsp;&nbsp;&nbsp;0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Position of the light.  <a href="#96604da2b5005980794869fd1d4a0fac"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph3d_8h.html#16c8cff479c9442ea9e0c7b9a9470bb2">CS_LIGHTPARAM_SPECULAR</a>&nbsp;&nbsp;&nbsp;2</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specular color of the light.  <a href="#16c8cff479c9442ea9e0c7b9a9470bb2"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Mix mode: Alpha test flags</div></td></tr>
<tr><td colspan="2"><div class="groupText">Enabled alpha test (or <em>binary alpha</em>) means that a fragment is only drawn when its alpha component is above a certain threshold, and discarded otherwise. <br><br></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g5618a7d398f0500b4ccd81a1d88245d6">CS_MIXMODE_ALPHATEST_AUTO</a>&nbsp;&nbsp;&nbsp;(0x00000000)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Automatic alpha test.  <a href="group__gfx3d.html#g5618a7d398f0500b4ccd81a1d88245d6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g2823006b1eec2520e1e39d4d75f2fcb1">CS_MIXMODE_ALPHATEST_DISABLE</a>&nbsp;&nbsp;&nbsp;(0x20000000)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unconditionally disable alpha test.  <a href="group__gfx3d.html#g2823006b1eec2520e1e39d4d75f2fcb1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g633cd7c79aa65d6714d3d62129f895ab">CS_MIXMODE_ALPHATEST_ENABLE</a>&nbsp;&nbsp;&nbsp;(0x10000000)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unconditionally enable alpha test.  <a href="group__gfx3d.html#g633cd7c79aa65d6714d3d62129f895ab"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#gcbc0e919d2b2eb10da60e2e40631602d">CS_MIXMODE_ALPHATEST_MASK</a>&nbsp;&nbsp;&nbsp;(0x30000000)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit mask to extract the alpha test flag from a mixmode specifier.  <a href="group__gfx3d.html#gcbc0e919d2b2eb10da60e2e40631602d"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Mix mode: Blending mode helpers</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#gab0163a168de01d26be545e9c3dba638">CS_MIXMODE_BLEND</a>(Src, Dst)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Helper macro to construct a blending operation mixmode <em>Src</em> and <em>Dst</em> are <a class="el" href="group__gfx3d.html#gg634f9f55e799f3052a34590f08100017f5ce179a35fe83eb4d7bc9412fe53c42">blending op factors </a>, however sans the CS_MIXMODE_FACT_ prefix.  <a href="group__gfx3d.html#gab0163a168de01d26be545e9c3dba638"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g44d0c355da9e25c99c000890e6d2c569">CS_MIXMODE_BLENDOP_DST</a>(mode)&nbsp;&nbsp;&nbsp;((mode &gt;&gt; 16) &amp; CS_MIXMODE_FACT_MASK)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Helper macro to extract the <code>dstFactor</code> from a blending op mixmode.  <a href="group__gfx3d.html#g44d0c355da9e25c99c000890e6d2c569"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#gfafe978b680e6b4cf43945f7646366de">CS_MIXMODE_BLENDOP_SRC</a>(mode)&nbsp;&nbsp;&nbsp;((mode &gt;&gt; 20) &amp; CS_MIXMODE_FACT_MASK)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Helper macro to extract the <code>srcFactor</code> from a blending op mixmode.  <a href="group__gfx3d.html#gfafe978b680e6b4cf43945f7646366de"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Mix mode: Types</div></td></tr>
<tr><td colspan="2"><div class="groupText">The mix mode specifies how a shaded fragment (denoted as <code>SRC</code>) is mixed (or <em>blended</em>) with the framebuffer fragment (<code>DST</code>). <br><br></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#gcca3666c7b178a88ae163dd8b1729928">CS_MIXMODE_TYPE_AUTO</a>&nbsp;&nbsp;&nbsp;(0x00000000)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Automatic blending mode.  <a href="group__gfx3d.html#gcca3666c7b178a88ae163dd8b1729928"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g318fafd4e8247e9b533e0e1c8104fa61">CS_MIXMODE_TYPE_BLENDOP</a>&nbsp;&nbsp;&nbsp;(0x40000000)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Blend with a blending operation.  <a href="group__gfx3d.html#g318fafd4e8247e9b533e0e1c8104fa61"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g3031097131f3c1669c9cacb590b93ce9">CS_MIXMODE_TYPE_MASK</a>&nbsp;&nbsp;&nbsp;(0xc0000000)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit mask to extract the type from a mixmode specifier.  <a href="group__gfx3d.html#g3031097131f3c1669c9cacb590b93ce9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g48ff680bfd4f154edd1610fd5f1dd3d3">CS_MIXMODE_TYPE_MESH</a>&nbsp;&nbsp;&nbsp;(0x80000000)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Use the mix mode of the mesh mix mode.  <a href="group__gfx3d.html#g48ff680bfd4f154edd1610fd5f1dd3d3"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Shadow states</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph3d_8h.html#e251a7a0cd425e703b858b53024edcfb">CS_SHADOW_VOLUME_BEGIN</a>&nbsp;&nbsp;&nbsp;1</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear stencil.  <a href="#e251a7a0cd425e703b858b53024edcfb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph3d_8h.html#f82832b14ae98bee3f5f2032fd3679e5">CS_SHADOW_VOLUME_FAIL1</a>&nbsp;&nbsp;&nbsp;4</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setup for carmack's reverse pass 1.  <a href="#f82832b14ae98bee3f5f2032fd3679e5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph3d_8h.html#73714961951e848a16e563caba96c98d">CS_SHADOW_VOLUME_FAIL2</a>&nbsp;&nbsp;&nbsp;5</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setup for carmack's reverse pass 2.  <a href="#73714961951e848a16e563caba96c98d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph3d_8h.html#ebc9e0f66eccded04d00b16624ee8b60">CS_SHADOW_VOLUME_FINISH</a>&nbsp;&nbsp;&nbsp;7</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Restore states.  <a href="#ebc9e0f66eccded04d00b16624ee8b60"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph3d_8h.html#d5f21d76142da946f71ee6f5c60f34be">CS_SHADOW_VOLUME_PASS1</a>&nbsp;&nbsp;&nbsp;2</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setup for pass 1.  <a href="#d5f21d76142da946f71ee6f5c60f34be"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph3d_8h.html#817aabd70731cb5f9332dfd6e96270bf">CS_SHADOW_VOLUME_PASS2</a>&nbsp;&nbsp;&nbsp;3</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setup for pass 2.  <a href="#817aabd70731cb5f9332dfd6e96270bf"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph3d_8h.html#c58e45ce876228e66ec5d82917704a07">CS_SHADOW_VOLUME_USE</a>&nbsp;&nbsp;&nbsp;6</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setup for shadow masking.  <a href="#c58e45ce876228e66ec5d82917704a07"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">iGraphics3D::BeginDraw() flags</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g47b590113bd65530bbf7eaf899a7cccc">CSDRAW_2DGRAPHICS</a>&nbsp;&nbsp;&nbsp;0x00000001</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">We're going to draw 2D graphics.  <a href="group__gfx3d.html#g47b590113bd65530bbf7eaf899a7cccc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g0e278a65bce73be55547a726dacea45b">CSDRAW_3DGRAPHICS</a>&nbsp;&nbsp;&nbsp;0x00000002</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">We're going to draw 3D graphics.  <a href="group__gfx3d.html#g0e278a65bce73be55547a726dacea45b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#gcfd8b9e6c472495b63cbe5a48a5a6275">CSDRAW_CLEARSCREEN</a>&nbsp;&nbsp;&nbsp;0x00000020</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear frame buffer ?  <a href="group__gfx3d.html#gcfd8b9e6c472495b63cbe5a48a5a6275"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#ge0c2e7ed59b255514bf0c08308383a2b">CSDRAW_CLEARZBUFFER</a>&nbsp;&nbsp;&nbsp;0x00000010</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear Z-buffer ?  <a href="group__gfx3d.html#ge0c2e7ed59b255514bf0c08308383a2b"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
&nbsp;&nbsp;<a class="el" href="group__gfx3d.html#gg634f9f55e799f3052a34590f08100017f5ce179a35fe83eb4d7bc9412fe53c42">CS_MIXMODE_FACT_ZERO</a> =  0x0, 
<a class="el" href="group__gfx3d.html#gg634f9f55e799f3052a34590f0810001762585826f145edac424308dd93100b15">CS_MIXMODE_FACT_ONE</a> =  0x1, 
<a class="el" href="group__gfx3d.html#gg634f9f55e799f3052a34590f081000175f2225042583871689d329f3d551c5b5">CS_MIXMODE_FACT_SRCCOLOR</a> =  0x2, 
<a class="el" href="group__gfx3d.html#gg634f9f55e799f3052a34590f0810001739df002786ee50e5a002606e76298b01">CS_MIXMODE_FACT_SRCCOLOR_INV</a> =  0x3, 
<br>
&nbsp;&nbsp;<a class="el" href="group__gfx3d.html#gg634f9f55e799f3052a34590f081000176d03e7095dabb0cefe33d15164c1d3d4">CS_MIXMODE_FACT_DSTCOLOR</a> =  0x4, 
<a class="el" href="group__gfx3d.html#gg634f9f55e799f3052a34590f081000172cbcb29d021d8dedb4ae80c2ec469e4f">CS_MIXMODE_FACT_DSTCOLOR_INV</a> =  0x5, 
<a class="el" href="group__gfx3d.html#gg634f9f55e799f3052a34590f08100017ba5a437af635a0f59c2df4a711b077e0">CS_MIXMODE_FACT_SRCALPHA</a> =  0x6, 
<a class="el" href="group__gfx3d.html#gg634f9f55e799f3052a34590f08100017402ca8198cd18db1db1c89d580340562">CS_MIXMODE_FACT_SRCALPHA_INV</a> =  0x7, 
<br>
&nbsp;&nbsp;<a class="el" href="group__gfx3d.html#gg634f9f55e799f3052a34590f08100017c77a53103daa13c42b245c309061bb8c">CS_MIXMODE_FACT_DSTALPHA</a> =  0x8, 
<a class="el" href="group__gfx3d.html#gg634f9f55e799f3052a34590f08100017c0dce88efddadc4c010208518a4637fe">CS_MIXMODE_FACT_DSTALPHA_INV</a> =  0x9, 
<a class="el" href="group__gfx3d.html#gg634f9f55e799f3052a34590f0810001747f785c2424ca7659c468f85674e18f0">CS_MIXMODE_FACT_COUNT</a> =  0xa, 
<a class="el" href="group__gfx3d.html#gg634f9f55e799f3052a34590f08100017982f2fa247ecce5a55dfa01fd64dc956">CS_MIXMODE_FACT_MASK</a> =  0xf
<br>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mix mode: Blending op factors.  <a href="group__gfx3d.html#g634f9f55e799f3052a34590f08100017">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph3d_8h.html#15882d23f9a1274e3480e2aee9d7eb03">csOpenPortalFlags</a> { <a class="el" href="graph3d_8h.html#15882d23f9a1274e3480e2aee9d7eb03d04cd916604a8c08737fc6d7adeffbe1">CS_OPENPORTAL_ZFILL</a> =  0x00000004, 
<a class="el" href="graph3d_8h.html#15882d23f9a1274e3480e2aee9d7eb037516a125836c49ac48669dbd376ad6fd">CS_OPENPORTAL_MIRROR</a> =  0x00000010, 
<a class="el" href="graph3d_8h.html#15882d23f9a1274e3480e2aee9d7eb03e51b7914a78d935300de786b35628152">CS_OPENPORTAL_FLOAT</a> =  0x00000040
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flags to inform the renderer about properties of a portal when calling OpenPortal().  <a href="graph3d_8h.html#15882d23f9a1274e3480e2aee9d7eb03">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph3d_8h.html#df2df8d75f18c8ea2351b8e2c8180420">csRenderMeshType</a> { <br>
&nbsp;&nbsp;<a class="el" href="graph3d_8h.html#df2df8d75f18c8ea2351b8e2c818042094b4df90ff18151ccf452f3d4d4f611e">CS_MESHTYPE_TRIANGLES</a>, 
<a class="el" href="graph3d_8h.html#df2df8d75f18c8ea2351b8e2c81804207af9a68303966071a8d7ef158cbd1cfc">CS_MESHTYPE_QUADS</a>, 
<a class="el" href="graph3d_8h.html#df2df8d75f18c8ea2351b8e2c81804204fad3831709890a09dc724e90443bfa6">CS_MESHTYPE_TRIANGLESTRIP</a>, 
<a class="el" href="graph3d_8h.html#df2df8d75f18c8ea2351b8e2c81804202f963fcdc2a8c89c3c95c551b0377a92">CS_MESHTYPE_TRIANGLEFAN</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="graph3d_8h.html#df2df8d75f18c8ea2351b8e2c8180420ace39785186b57317280cd79a346aef3">CS_MESHTYPE_POINTS</a>, 
<a class="el" href="graph3d_8h.html#df2df8d75f18c8ea2351b8e2c818042084a28f3e39ea9d89d488f1309e8fe5cd">CS_MESHTYPE_POINT_SPRITES</a>, 
<a class="el" href="graph3d_8h.html#df2df8d75f18c8ea2351b8e2c818042059fe9f301c01d26d0824511d303840a6">CS_MESHTYPE_LINES</a>, 
<a class="el" href="graph3d_8h.html#df2df8d75f18c8ea2351b8e2c818042021ff882fb5102b6b047cde1787341121">CS_MESHTYPE_LINESTRIP</a>
<br>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Primitive type of a mesh.  <a href="graph3d_8h.html#df2df8d75f18c8ea2351b8e2c8180420">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph3d_8h.html#ee23f4994ae356cdb3e3de782239f4fd">csSimpleMeshFlags</a> { <a class="el" href="graph3d_8h.html#ee23f4994ae356cdb3e3de782239f4fd077b8eb55639b0b95a6dc9bad17349ca">csSimpleMeshScreenspace</a> =  0x01
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flags to influence the behaviour of DrawSimpleMesh().  <a href="graph3d_8h.html#ee23f4994ae356cdb3e3de782239f4fd">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g3daee560553f3d8fa3894b31cdde006e">csVertexAttrib</a> { <br>
&nbsp;&nbsp;<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e026fc3aa470e1e44ba930606ab8b3863">CS_VATTRIB_UNUSED</a> =  -2, 
<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006eb1b455ce0b20c060873059d1887542b7">CS_VATTRIB_INVALID</a> =  -1, 
<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006eab619a477422498b90846f39990e195f">CS_VATTRIB_POSITION</a> =  CS_VATTRIB_SPECIFIC_FIRST + 0, 
<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e1ead0cdcb9c3be87bd202c4fe4432f0d">CS_VATTRIB_WEIGHT</a> =  CS_VATTRIB_SPECIFIC_FIRST + 1, 
<br>
&nbsp;&nbsp;<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006ef67f740afa9ebaadd60f64de2f085bf3">CS_VATTRIB_NORMAL</a> =  CS_VATTRIB_SPECIFIC_FIRST + 2, 
<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e0ff9ca117d29e284477caad786f3f853">CS_VATTRIB_COLOR</a> =  CS_VATTRIB_SPECIFIC_FIRST + 3, 
<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e5a6485e98c14a4bf228699e74e7a48b7">CS_VATTRIB_PRIMARY_COLOR</a> =  CS_VATTRIB_SPECIFIC_FIRST + 3, 
<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e958512dff8ec2755b7d237a1ade41cd3">CS_VATTRIB_SECONDARY_COLOR</a> =  CS_VATTRIB_SPECIFIC_FIRST + 4, 
<br>
&nbsp;&nbsp;<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e1e369f7d01ce96085fb0edf9d01a82a7">CS_VATTRIB_FOGCOORD</a> =  CS_VATTRIB_SPECIFIC_FIRST + 5, 
<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e7e4568e58dba4297cf9a3b821a58f629">CS_VATTRIB_TEXCOORD</a> =  CS_VATTRIB_SPECIFIC_FIRST + 8, 
<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e0d0f41cbd64b186995780ad9e3ed47d2">CS_VATTRIB_TEXCOORD0</a> =  CS_VATTRIB_SPECIFIC_FIRST + 8, 
<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006eef6b4ebfb4995018e69ec67a76a6bb4c">CS_VATTRIB_TEXCOORD1</a> =  CS_VATTRIB_SPECIFIC_FIRST + 9, 
<br>
&nbsp;&nbsp;<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e10fcf346863dfcfe6dbc6a660dd19543">CS_VATTRIB_TEXCOORD2</a> =  CS_VATTRIB_SPECIFIC_FIRST + 10, 
<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e01f3d12e1d39880330c58b0f842ff8f2">CS_VATTRIB_TEXCOORD3</a> =  CS_VATTRIB_SPECIFIC_FIRST + 11, 
<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e370b8c1678a53011c2436668acdd5fe4">CS_VATTRIB_TEXCOORD4</a> =  CS_VATTRIB_SPECIFIC_FIRST + 12, 
<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e6abe7aff3889a168eb52a8baf718d76e">CS_VATTRIB_TEXCOORD5</a> =  CS_VATTRIB_SPECIFIC_FIRST + 13, 
<br>
&nbsp;&nbsp;<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e760327dc8cce5560113aae0db0c4921e">CS_VATTRIB_TEXCOORD6</a> =  CS_VATTRIB_SPECIFIC_FIRST + 14, 
<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e7552f3c9b1c946238118354e1e9bf3df">CS_VATTRIB_TEXCOORD7</a> =  CS_VATTRIB_SPECIFIC_FIRST + 15, 
<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006ea9bf86e14cb193f29fb5052f419066d6">CS_VATTRIB_0</a> =  CS_VATTRIB_GENERIC_FIRST + 0, 
<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e168a67b5a657b5df0bb346ba35ee972e">CS_VATTRIB_1</a> =  CS_VATTRIB_GENERIC_FIRST + 1, 
<br>
&nbsp;&nbsp;<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e7bb4528724921e6482bce7c38e5956b6">CS_VATTRIB_2</a> =  CS_VATTRIB_GENERIC_FIRST + 2, 
<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e2a9989bc0d1aa920a7f32e7b633ebd49">CS_VATTRIB_3</a> =  CS_VATTRIB_GENERIC_FIRST + 3, 
<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006ec69d8c525e5b229efb3ee07a350ad44a">CS_VATTRIB_4</a> =  CS_VATTRIB_GENERIC_FIRST + 4, 
<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e3987e42dea1cc0b527e4e97897f4c0cc">CS_VATTRIB_5</a> =  CS_VATTRIB_GENERIC_FIRST + 5, 
<br>
&nbsp;&nbsp;<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e812ecc39e5c698565ebc2c3c523087e5">CS_VATTRIB_6</a> =  CS_VATTRIB_GENERIC_FIRST + 6, 
<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e8185f2e8c5862324360790c0be8ab753">CS_VATTRIB_7</a> =  CS_VATTRIB_GENERIC_FIRST + 7, 
<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006ecf05f5abcbaa8cb742d93dca1c3f25f8">CS_VATTRIB_8</a> =  CS_VATTRIB_GENERIC_FIRST + 8, 
<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006ebd611a3a7aefef1a6e8dfe409d88e89b">CS_VATTRIB_9</a> =  CS_VATTRIB_GENERIC_FIRST + 9, 
<br>
&nbsp;&nbsp;<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006eca055527ef42fd3e482c03ae696b1761">CS_VATTRIB_10</a> =  CS_VATTRIB_GENERIC_FIRST + 10, 
<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006eb676dc64e1d2d336a124bf3e2c194b55">CS_VATTRIB_11</a> =  CS_VATTRIB_GENERIC_FIRST + 11, 
<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006ebd296d6c3ae879230f999cbf8da8b236">CS_VATTRIB_12</a> =  CS_VATTRIB_GENERIC_FIRST + 12, 
<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e7848f6e6504120d1a1c4fced6d78e9b7">CS_VATTRIB_13</a> =  CS_VATTRIB_GENERIC_FIRST + 13, 
<br>
&nbsp;&nbsp;<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006ec63255a8d7842935e9deda1b5126c229">CS_VATTRIB_14</a> =  CS_VATTRIB_GENERIC_FIRST + 14, 
<a class="el" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006ec2f16d599bef49beb42fbddd99b54cca">CS_VATTRIB_15</a> =  CS_VATTRIB_GENERIC_FIRST + 15
<br>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Vertex attributes.  <a href="group__gfx3d.html#g3daee560553f3d8fa3894b31cdde006e">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g79fdaed7abd7a72af33d0f0c5dc99055">csZBufMode</a> { <br>
&nbsp;&nbsp;<a class="el" href="group__gfx3d.html#gg79fdaed7abd7a72af33d0f0c5dc9905567cd6d13a1e237117f19f7ec2b39d18f">CS_ZBUF_NONE</a> =  0x00000000, 
<a class="el" href="group__gfx3d.html#gg79fdaed7abd7a72af33d0f0c5dc9905563a97a0f7626f1d6bc1a957671cc5db5">CS_ZBUF_FILL</a> =  0x00000001, 
<a class="el" href="group__gfx3d.html#gg79fdaed7abd7a72af33d0f0c5dc99055c148abe1ca758f0f4371f4b03206477a">CS_ZBUF_TEST</a> =  0x00000002, 
<a class="el" href="group__gfx3d.html#gg79fdaed7abd7a72af33d0f0c5dc99055a3ec275ebf4843e1254ebd30019b2802">CS_ZBUF_USE</a> =  0x00000003, 
<br>
&nbsp;&nbsp;<a class="el" href="group__gfx3d.html#gg79fdaed7abd7a72af33d0f0c5dc9905598140ae58f6601b4ad323a5a93580808">CS_ZBUF_EQUAL</a> =  0x00000004, 
<a class="el" href="group__gfx3d.html#gg79fdaed7abd7a72af33d0f0c5dc99055c68b085c072e36facd72b574b334c70f">CS_ZBUF_INVERT</a> =  0x00000005, 
<a class="el" href="group__gfx3d.html#gg79fdaed7abd7a72af33d0f0c5dc990557dbbff2560756ee934aae61ae0124aa1">CS_ZBUF_MESH</a> =  0x80000000, 
<a class="el" href="group__gfx3d.html#gg79fdaed7abd7a72af33d0f0c5dc99055dbcfaa0df9ba70a214fd05d014949564">CS_ZBUF_MESH2</a> =  0x80000001
<br>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Z-buffer modes.  <a href="group__gfx3d.html#g79fdaed7abd7a72af33d0f0c5dc99055">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8">G3D_RENDERSTATEOPTION</a> { <br>
&nbsp;&nbsp;<a class="el" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8bf5d3bf2ad799639b53a75d90628089f">G3DRENDERSTATE_ZBUFFERMODE</a>, 
<a class="el" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8301b85eecbf942cf1bc75ff008d75d67">G3DRENDERSTATE_DITHERENABLE</a>, 
<a class="el" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8102832aaab26cc8037c5a47f6ae32111">G3DRENDERSTATE_BILINEARMAPPINGENABLE</a>, 
<a class="el" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8be1fad6000b39661f231648f42b61391">G3DRENDERSTATE_TRILINEARMAPPINGENABLE</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f83e5001804025d4cd486492fed47cecfd">G3DRENDERSTATE_TRANSPARENCYENABLE</a>, 
<a class="el" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8adb11ad10ffa83dc8dd8736fbe838c03">G3DRENDERSTATE_MIPMAPENABLE</a>, 
<a class="el" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f82f8539216e26b1f5460cd61d74204ad5">G3DRENDERSTATE_TEXTUREMAPPINGENABLE</a>, 
<a class="el" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f89993fe4325760197feb3b39042e8f673">G3DRENDERSTATE_LIGHTINGENABLE</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8189e5fe3d22b6ebd279f772c6a9d829f">G3DRENDERSTATE_INTERLACINGENABLE</a>, 
<a class="el" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8c276a6c68a89efffec1501e68c330d59">G3DRENDERSTATE_MMXENABLE</a>, 
<a class="el" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8527fe3292a32fddf82701cdd0982d146">G3DRENDERSTATE_INTERPOLATIONSTEP</a>, 
<a class="el" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f85ea5dc921e83f83a08d3edcdcf97d1e2">G3DRENDERSTATE_MAXPOLYGONSTODRAW</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f89464ccd49110102667ad1f075f363aac">G3DRENDERSTATE_GOURAUDENABLE</a>, 
<a class="el" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8d2c312a32eb7289954cbe7865356aea9">G3DRENDERSTATE_EDGES</a>
<br>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Graphics3D render state options.  <a href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8">More...</a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
3D graphics interface 
<p>

<p>Definition in file <a class="el" href="graph3d_8h-source.html">graph3d.h</a>.</p>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="138140e872f433308b457292170d74b8"></a><!-- doxytag: member="graph3d.h::CS_LIGHTPARAM_ATTENUATION" ref="138140e872f433308b457292170d74b8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CS_LIGHTPARAM_ATTENUATION&nbsp;&nbsp;&nbsp;3          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Attenuation of the light. 
<p>

<p>Definition at line <a class="el" href="graph3d_8h-source.html#l00451">451</a> of file <a class="el" href="graph3d_8h-source.html">graph3d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="d9807886217437cecd85a0f0ddee7085"></a><!-- doxytag: member="graph3d.h::CS_LIGHTPARAM_DIFFUSE" ref="d9807886217437cecd85a0f0ddee7085" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CS_LIGHTPARAM_DIFFUSE&nbsp;&nbsp;&nbsp;1          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Diffuse color of the light. 
<p>

<p>Definition at line <a class="el" href="graph3d_8h-source.html#l00447">447</a> of file <a class="el" href="graph3d_8h-source.html">graph3d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="96604da2b5005980794869fd1d4a0fac"></a><!-- doxytag: member="graph3d.h::CS_LIGHTPARAM_POSITION" ref="96604da2b5005980794869fd1d4a0fac" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CS_LIGHTPARAM_POSITION&nbsp;&nbsp;&nbsp;0          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Position of the light. 
<p>

<p>Definition at line <a class="el" href="graph3d_8h-source.html#l00445">445</a> of file <a class="el" href="graph3d_8h-source.html">graph3d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="16c8cff479c9442ea9e0c7b9a9470bb2"></a><!-- doxytag: member="graph3d.h::CS_LIGHTPARAM_SPECULAR" ref="16c8cff479c9442ea9e0c7b9a9470bb2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CS_LIGHTPARAM_SPECULAR&nbsp;&nbsp;&nbsp;2          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Specular color of the light. 
<p>

<p>Definition at line <a class="el" href="graph3d_8h-source.html#l00449">449</a> of file <a class="el" href="graph3d_8h-source.html">graph3d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="e251a7a0cd425e703b858b53024edcfb"></a><!-- doxytag: member="graph3d.h::CS_SHADOW_VOLUME_BEGIN" ref="e251a7a0cd425e703b858b53024edcfb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CS_SHADOW_VOLUME_BEGIN&nbsp;&nbsp;&nbsp;1          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Clear stencil. 
<p>

<p>Definition at line <a class="el" href="graph3d_8h-source.html#l00457">457</a> of file <a class="el" href="graph3d_8h-source.html">graph3d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="f82832b14ae98bee3f5f2032fd3679e5"></a><!-- doxytag: member="graph3d.h::CS_SHADOW_VOLUME_FAIL1" ref="f82832b14ae98bee3f5f2032fd3679e5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CS_SHADOW_VOLUME_FAIL1&nbsp;&nbsp;&nbsp;4          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Setup for carmack's reverse pass 1. 
<p>

<p>Definition at line <a class="el" href="graph3d_8h-source.html#l00463">463</a> of file <a class="el" href="graph3d_8h-source.html">graph3d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="73714961951e848a16e563caba96c98d"></a><!-- doxytag: member="graph3d.h::CS_SHADOW_VOLUME_FAIL2" ref="73714961951e848a16e563caba96c98d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CS_SHADOW_VOLUME_FAIL2&nbsp;&nbsp;&nbsp;5          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Setup for carmack's reverse pass 2. 
<p>

<p>Definition at line <a class="el" href="graph3d_8h-source.html#l00465">465</a> of file <a class="el" href="graph3d_8h-source.html">graph3d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="ebc9e0f66eccded04d00b16624ee8b60"></a><!-- doxytag: member="graph3d.h::CS_SHADOW_VOLUME_FINISH" ref="ebc9e0f66eccded04d00b16624ee8b60" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CS_SHADOW_VOLUME_FINISH&nbsp;&nbsp;&nbsp;7          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Restore states. 
<p>

<p>Definition at line <a class="el" href="graph3d_8h-source.html#l00469">469</a> of file <a class="el" href="graph3d_8h-source.html">graph3d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="d5f21d76142da946f71ee6f5c60f34be"></a><!-- doxytag: member="graph3d.h::CS_SHADOW_VOLUME_PASS1" ref="d5f21d76142da946f71ee6f5c60f34be" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CS_SHADOW_VOLUME_PASS1&nbsp;&nbsp;&nbsp;2          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Setup for pass 1. 
<p>

<p>Definition at line <a class="el" href="graph3d_8h-source.html#l00459">459</a> of file <a class="el" href="graph3d_8h-source.html">graph3d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="817aabd70731cb5f9332dfd6e96270bf"></a><!-- doxytag: member="graph3d.h::CS_SHADOW_VOLUME_PASS2" ref="817aabd70731cb5f9332dfd6e96270bf" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CS_SHADOW_VOLUME_PASS2&nbsp;&nbsp;&nbsp;3          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Setup for pass 2. 
<p>

<p>Definition at line <a class="el" href="graph3d_8h-source.html#l00461">461</a> of file <a class="el" href="graph3d_8h-source.html">graph3d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="c58e45ce876228e66ec5d82917704a07"></a><!-- doxytag: member="graph3d.h::CS_SHADOW_VOLUME_USE" ref="c58e45ce876228e66ec5d82917704a07" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CS_SHADOW_VOLUME_USE&nbsp;&nbsp;&nbsp;6          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Setup for shadow masking. 
<p>

<p>Definition at line <a class="el" href="graph3d_8h-source.html#l00467">467</a> of file <a class="el" href="graph3d_8h-source.html">graph3d.h</a>.</p>

</div>
</div><p>
<hr><h2>Enumeration Type Documentation</h2>
<a class="anchor" name="15882d23f9a1274e3480e2aee9d7eb03"></a><!-- doxytag: member="graph3d.h::csOpenPortalFlags" ref="15882d23f9a1274e3480e2aee9d7eb03" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="graph3d_8h.html#15882d23f9a1274e3480e2aee9d7eb03">csOpenPortalFlags</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Flags to inform the renderer about properties of a portal when calling OpenPortal(). 
<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="15882d23f9a1274e3480e2aee9d7eb03d04cd916604a8c08737fc6d7adeffbe1"></a><!-- doxytag: member="CS_OPENPORTAL_ZFILL" ref="15882d23f9a1274e3480e2aee9d7eb03d04cd916604a8c08737fc6d7adeffbe1" args="" -->CS_OPENPORTAL_ZFILL</em>&nbsp;</td><td>
If this flag is set then renderer must do a Z-fill after rendering the portal contents. 
<p>
This is mainly useful for floating portals where it is possible that there is geometry in the same sector that will be rendered behind the portal (and does could accidently get written in the portal sector because the Z-buffer cannot be trusted). </td></tr>
<tr><td valign="top"><em><a class="anchor" name="15882d23f9a1274e3480e2aee9d7eb037516a125836c49ac48669dbd376ad6fd"></a><!-- doxytag: member="CS_OPENPORTAL_MIRROR" ref="15882d23f9a1274e3480e2aee9d7eb037516a125836c49ac48669dbd376ad6fd" args="" -->CS_OPENPORTAL_MIRROR</em>&nbsp;</td><td>
If this flag is set then this portal mirrors space (changes order of the vertices of polygons). </td></tr>
<tr><td valign="top"><em><a class="anchor" name="15882d23f9a1274e3480e2aee9d7eb03e51b7914a78d935300de786b35628152"></a><!-- doxytag: member="CS_OPENPORTAL_FLOAT" ref="15882d23f9a1274e3480e2aee9d7eb03e51b7914a78d935300de786b35628152" args="" -->CS_OPENPORTAL_FLOAT</em>&nbsp;</td><td>
If this flag is used then the portal must use possible available stencil buffer on the hardware to do good clipping. 
<p>
This flag should be used if you have a portal that is not at the boundary of the sector and that can be covered (or itself covers) other objects. It is usually used in combination with CS_OPENPORTAL_ZFILL. </td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="graph3d_8h-source.html#l00589">589</a> of file <a class="el" href="graph3d_8h-source.html">graph3d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="df2df8d75f18c8ea2351b8e2c8180420"></a><!-- doxytag: member="graph3d.h::csRenderMeshType" ref="df2df8d75f18c8ea2351b8e2c8180420" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="graph3d_8h.html#df2df8d75f18c8ea2351b8e2c8180420">csRenderMeshType</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Primitive type of a mesh. 
<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="df2df8d75f18c8ea2351b8e2c818042094b4df90ff18151ccf452f3d4d4f611e"></a><!-- doxytag: member="CS_MESHTYPE_TRIANGLES" ref="df2df8d75f18c8ea2351b8e2c818042094b4df90ff18151ccf452f3d4d4f611e" args="" -->CS_MESHTYPE_TRIANGLES</em>&nbsp;</td><td>
Triangles. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="df2df8d75f18c8ea2351b8e2c81804207af9a68303966071a8d7ef158cbd1cfc"></a><!-- doxytag: member="CS_MESHTYPE_QUADS" ref="df2df8d75f18c8ea2351b8e2c81804207af9a68303966071a8d7ef158cbd1cfc" args="" -->CS_MESHTYPE_QUADS</em>&nbsp;</td><td>
Quads. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="df2df8d75f18c8ea2351b8e2c81804204fad3831709890a09dc724e90443bfa6"></a><!-- doxytag: member="CS_MESHTYPE_TRIANGLESTRIP" ref="df2df8d75f18c8ea2351b8e2c81804204fad3831709890a09dc724e90443bfa6" args="" -->CS_MESHTYPE_TRIANGLESTRIP</em>&nbsp;</td><td>
Triangle strip. 
<p>
The OpenGL spec describes it pretty well: "A triangle strip is a series of triangles connected along shared edges. A triangle strip is specified by giving a series of defining vertices [...]. In this case, the first three vertices define the first triangle [...]. Each subsequent vertex defines a new triangle using that point along with two vertices from the previous triangle." </td></tr>
<tr><td valign="top"><em><a class="anchor" name="df2df8d75f18c8ea2351b8e2c81804202f963fcdc2a8c89c3c95c551b0377a92"></a><!-- doxytag: member="CS_MESHTYPE_TRIANGLEFAN" ref="df2df8d75f18c8ea2351b8e2c81804202f963fcdc2a8c89c3c95c551b0377a92" args="" -->CS_MESHTYPE_TRIANGLEFAN</em>&nbsp;</td><td>
Triangle fan. 
<p>
Similar to a triangle strip, however, a triangle is always defined with the first, previously added and the recently added vertex. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="df2df8d75f18c8ea2351b8e2c8180420ace39785186b57317280cd79a346aef3"></a><!-- doxytag: member="CS_MESHTYPE_POINTS" ref="df2df8d75f18c8ea2351b8e2c8180420ace39785186b57317280cd79a346aef3" args="" -->CS_MESHTYPE_POINTS</em>&nbsp;</td><td>
Points. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="df2df8d75f18c8ea2351b8e2c818042084a28f3e39ea9d89d488f1309e8fe5cd"></a><!-- doxytag: member="CS_MESHTYPE_POINT_SPRITES" ref="df2df8d75f18c8ea2351b8e2c818042084a28f3e39ea9d89d488f1309e8fe5cd" args="" -->CS_MESHTYPE_POINT_SPRITES</em>&nbsp;</td><td>
Point sprites. 
<p>
Note: only supported if the <em>SupportsPointSprites</em> member of the <em><a class="el" href="structcsGraphics3DCaps.html" title="Information about 3d renderer capabilities.">csGraphics3DCaps</a></em> structure for this renderer is true. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="df2df8d75f18c8ea2351b8e2c818042059fe9f301c01d26d0824511d303840a6"></a><!-- doxytag: member="CS_MESHTYPE_LINES" ref="df2df8d75f18c8ea2351b8e2c818042059fe9f301c01d26d0824511d303840a6" args="" -->CS_MESHTYPE_LINES</em>&nbsp;</td><td>
Lines. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="df2df8d75f18c8ea2351b8e2c818042021ff882fb5102b6b047cde1787341121"></a><!-- doxytag: member="CS_MESHTYPE_LINESTRIP" ref="df2df8d75f18c8ea2351b8e2c818042021ff882fb5102b6b047cde1787341121" args="" -->CS_MESHTYPE_LINESTRIP</em>&nbsp;</td><td>
Line strip. 
<p>
A line is defined from the prebviously and recently added vertex. </td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="graph3d_8h-source.html#l00528">528</a> of file <a class="el" href="graph3d_8h-source.html">graph3d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="ee23f4994ae356cdb3e3de782239f4fd"></a><!-- doxytag: member="graph3d.h::csSimpleMeshFlags" ref="ee23f4994ae356cdb3e3de782239f4fd" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="graph3d_8h.html#ee23f4994ae356cdb3e3de782239f4fd">csSimpleMeshFlags</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Flags to influence the behaviour of DrawSimpleMesh(). 
<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="ee23f4994ae356cdb3e3de782239f4fd077b8eb55639b0b95a6dc9bad17349ca"></a><!-- doxytag: member="csSimpleMeshScreenspace" ref="ee23f4994ae356cdb3e3de782239f4fd077b8eb55639b0b95a6dc9bad17349ca" args="" -->csSimpleMeshScreenspace</em>&nbsp;</td><td>
Ignore the object2camera transform in the <a class="el" href="structcsSimpleRenderMesh.html" title="A simple render mesh.">csSimpleRenderMesh</a> struct and replace it with a transformation that effectively lets you specify the vertices in screen space. 
<p>
The Z components of the mesh vertices should be set to 0 when this flag is specified. </td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="graph3d_8h-source.html#l00574">574</a> of file <a class="el" href="graph3d_8h-source.html">graph3d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="a0747e910ca225613629d9e9d2fdd9f8"></a><!-- doxytag: member="graph3d.h::G3D_RENDERSTATEOPTION" ref="a0747e910ca225613629d9e9d2fdd9f8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8">G3D_RENDERSTATEOPTION</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Graphics3D render state options. 
<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="a0747e910ca225613629d9e9d2fdd9f8bf5d3bf2ad799639b53a75d90628089f"></a><!-- doxytag: member="G3DRENDERSTATE_ZBUFFERMODE" ref="a0747e910ca225613629d9e9d2fdd9f8bf5d3bf2ad799639b53a75d90628089f" args="" -->G3DRENDERSTATE_ZBUFFERMODE</em>&nbsp;</td><td>
Set Z-buffer fill/test/use mode (parameter is a csZBufMode). </td></tr>
<tr><td valign="top"><em><a class="anchor" name="a0747e910ca225613629d9e9d2fdd9f8301b85eecbf942cf1bc75ff008d75d67"></a><!-- doxytag: member="G3DRENDERSTATE_DITHERENABLE" ref="a0747e910ca225613629d9e9d2fdd9f8301b85eecbf942cf1bc75ff008d75d67" args="" -->G3DRENDERSTATE_DITHERENABLE</em>&nbsp;</td><td>
Enable/disable dithering (parameter is a bool). </td></tr>
<tr><td valign="top"><em><a class="anchor" name="a0747e910ca225613629d9e9d2fdd9f8102832aaab26cc8037c5a47f6ae32111"></a><!-- doxytag: member="G3DRENDERSTATE_BILINEARMAPPINGENABLE" ref="a0747e910ca225613629d9e9d2fdd9f8102832aaab26cc8037c5a47f6ae32111" args="" -->G3DRENDERSTATE_BILINEARMAPPINGENABLE</em>&nbsp;</td><td>
Enable/disable bi-linear mapping (parameter is a bool). </td></tr>
<tr><td valign="top"><em><a class="anchor" name="a0747e910ca225613629d9e9d2fdd9f8be1fad6000b39661f231648f42b61391"></a><!-- doxytag: member="G3DRENDERSTATE_TRILINEARMAPPINGENABLE" ref="a0747e910ca225613629d9e9d2fdd9f8be1fad6000b39661f231648f42b61391" args="" -->G3DRENDERSTATE_TRILINEARMAPPINGENABLE</em>&nbsp;</td><td>
Enable/disable tri-linear mapping (parameter is a bool). </td></tr>
<tr><td valign="top"><em><a class="anchor" name="a0747e910ca225613629d9e9d2fdd9f83e5001804025d4cd486492fed47cecfd"></a><!-- doxytag: member="G3DRENDERSTATE_TRANSPARENCYENABLE" ref="a0747e910ca225613629d9e9d2fdd9f83e5001804025d4cd486492fed47cecfd" args="" -->G3DRENDERSTATE_TRANSPARENCYENABLE</em>&nbsp;</td><td>
Enable/disable transparent textures (parameter is a bool). </td></tr>
<tr><td valign="top"><em><a class="anchor" name="a0747e910ca225613629d9e9d2fdd9f8adb11ad10ffa83dc8dd8736fbe838c03"></a><!-- doxytag: member="G3DRENDERSTATE_MIPMAPENABLE" ref="a0747e910ca225613629d9e9d2fdd9f8adb11ad10ffa83dc8dd8736fbe838c03" args="" -->G3DRENDERSTATE_MIPMAPENABLE</em>&nbsp;</td><td>
Enable/disable mip-mapping (parameter is a bool). </td></tr>
<tr><td valign="top"><em><a class="anchor" name="a0747e910ca225613629d9e9d2fdd9f82f8539216e26b1f5460cd61d74204ad5"></a><!-- doxytag: member="G3DRENDERSTATE_TEXTUREMAPPINGENABLE" ref="a0747e910ca225613629d9e9d2fdd9f82f8539216e26b1f5460cd61d74204ad5" args="" -->G3DRENDERSTATE_TEXTUREMAPPINGENABLE</em>&nbsp;</td><td>
Enable/disable textures (parameter is a bool). </td></tr>
<tr><td valign="top"><em><a class="anchor" name="a0747e910ca225613629d9e9d2fdd9f89993fe4325760197feb3b39042e8f673"></a><!-- doxytag: member="G3DRENDERSTATE_LIGHTINGENABLE" ref="a0747e910ca225613629d9e9d2fdd9f89993fe4325760197feb3b39042e8f673" args="" -->G3DRENDERSTATE_LIGHTINGENABLE</em>&nbsp;</td><td>
Enable/disable lighting (parameter is a bool). </td></tr>
<tr><td valign="top"><em><a class="anchor" name="a0747e910ca225613629d9e9d2fdd9f8189e5fe3d22b6ebd279f772c6a9d829f"></a><!-- doxytag: member="G3DRENDERSTATE_INTERLACINGENABLE" ref="a0747e910ca225613629d9e9d2fdd9f8189e5fe3d22b6ebd279f772c6a9d829f" args="" -->G3DRENDERSTATE_INTERLACINGENABLE</em>&nbsp;</td><td>
Enable/disable interlacing (parameter is a bool). </td></tr>
<tr><td valign="top"><em><a class="anchor" name="a0747e910ca225613629d9e9d2fdd9f8c276a6c68a89efffec1501e68c330d59"></a><!-- doxytag: member="G3DRENDERSTATE_MMXENABLE" ref="a0747e910ca225613629d9e9d2fdd9f8c276a6c68a89efffec1501e68c330d59" args="" -->G3DRENDERSTATE_MMXENABLE</em>&nbsp;</td><td>
Enable/disable MMX instructions usage (parameter is a bool). </td></tr>
<tr><td valign="top"><em><a class="anchor" name="a0747e910ca225613629d9e9d2fdd9f8527fe3292a32fddf82701cdd0982d146"></a><!-- doxytag: member="G3DRENDERSTATE_INTERPOLATIONSTEP" ref="a0747e910ca225613629d9e9d2fdd9f8527fe3292a32fddf82701cdd0982d146" args="" -->G3DRENDERSTATE_INTERPOLATIONSTEP</em>&nbsp;</td><td>
Set perspective-correction interpolation step (parameter is a int). </td></tr>
<tr><td valign="top"><em><a class="anchor" name="a0747e910ca225613629d9e9d2fdd9f85ea5dc921e83f83a08d3edcdcf97d1e2"></a><!-- doxytag: member="G3DRENDERSTATE_MAXPOLYGONSTODRAW" ref="a0747e910ca225613629d9e9d2fdd9f85ea5dc921e83f83a08d3edcdcf97d1e2" args="" -->G3DRENDERSTATE_MAXPOLYGONSTODRAW</em>&nbsp;</td><td>
Set maximal number of polygons per frame to draw (parameter is a int). </td></tr>
<tr><td valign="top"><em><a class="anchor" name="a0747e910ca225613629d9e9d2fdd9f89464ccd49110102667ad1f075f363aac"></a><!-- doxytag: member="G3DRENDERSTATE_GOURAUDENABLE" ref="a0747e910ca225613629d9e9d2fdd9f89464ccd49110102667ad1f075f363aac" args="" -->G3DRENDERSTATE_GOURAUDENABLE</em>&nbsp;</td><td>
Enable/disable Gouraud shading (parameter is a bool). </td></tr>
<tr><td valign="top"><em><a class="anchor" name="a0747e910ca225613629d9e9d2fdd9f8d2c312a32eb7289954cbe7865356aea9"></a><!-- doxytag: member="G3DRENDERSTATE_EDGES" ref="a0747e910ca225613629d9e9d2fdd9f8d2c312a32eb7289954cbe7865356aea9" args="" -->G3DRENDERSTATE_EDGES</em>&nbsp;</td><td>
Enable/disable edge drawing (debugging) (parameter is a bool). </td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="graph3d_8h-source.html#l00473">473</a> of file <a class="el" href="graph3d_8h-source.html">graph3d.h</a>.</p>

</div>
</div><p>
<hr size="1"><address><small>Generated for Crystal Space 1.2.1 by 
<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.3 
</small></address> </div></body> </html>