Sophie

Sophie

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

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: 3D (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><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul>
</div>
<h1>3D<br>
<small>
[<a class="el" href="group__gfx.html">Graphics</a>]</small>
</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCS.html">CS</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Main namespace for CrystalSpace. <br></td></tr>

<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCS.html">CS</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Main namespace for CrystalSpace. <br></td></tr>

<p>
<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="structcsCoreRenderMesh.html">csCoreRenderMesh</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Data required by the renderer to draw a mesh.  <a href="structcsCoreRenderMesh.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRenderBufferHolder.html">csRenderBufferHolder</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holder of standard renderbuffers.  <a href="classcsRenderBufferHolder.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="structcsRenderMesh.html">csRenderMesh</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mesh data as returned by mesh plugins.  <a href="structcsRenderMesh.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="structcsRenderMeshModes.html">csRenderMeshModes</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mesh render mode information.  <a href="structcsRenderMeshModes.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsShaderVariable.html">csShaderVariable</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Storage class for "shader vars", inheritable variables in the shader system.  <a href="classcsShaderVariable.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="structiFireTexture.html">iFireTexture</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Interface to the 'fire' procedural texture.  <a href="structiFireTexture.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="structiHalo.html">iHalo</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="structiHalo.html" title="iHalo: used to render halos (aka &quot;light globes&quot;).">iHalo</a>: used to render halos (aka "light globes").  <a href="structiHalo.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="structiMaterial.html">iMaterial</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This class represents a material as seen from the engine view.  <a href="structiMaterial.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="structiProcTexture.html">iProcTexture</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Interface to a texture factory.  <a href="structiProcTexture.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="structiRenderBuffer.html">iRenderBuffer</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is a general buffer.  <a href="structiRenderBuffer.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="structiRenderBufferAccessor.html">iRenderBufferAccessor</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Interface for renderbuffer accessor.  <a href="structiRenderBufferAccessor.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="structiRenderBufferCallback.html">iRenderBufferCallback</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Callback function used upon destruction of render buffer.  <a href="structiRenderBufferCallback.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="structiRendererLightmap.html">iRendererLightmap</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A lightmap registered with a renderer.  <a href="structiRendererLightmap.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="structiShaderVariableAccessor.html">iShaderVariableAccessor</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Interface to an accessorcallback for shadervariables.  <a href="structiShaderVariableAccessor.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="structiSuperLightmap.html">iSuperLightmap</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A super light map.  <a href="structiSuperLightmap.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="structiTextureFactory.html">iTextureFactory</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Interface to a texture factory.  <a href="structiTextureFactory.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="structiTextureHandle.html">iTextureHandle</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A texture handle as returned by <a class="el" href="structiTextureManager.html" title="This is the standard texture manager interface.">iTextureManager</a>.  <a href="structiTextureHandle.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="structiTextureManager.html">iTextureManager</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is the standard texture manager interface.  <a href="structiTextureManager.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="structiTextureType.html">iTextureType</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Texture type.  <a href="structiTextureType.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCS_1_1StructuredTextureFormat.html">CS::StructuredTextureFormat</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structured representation of a texture format.  <a href="classCS_1_1StructuredTextureFormat.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCS_1_1TextureFormatStrings.html">CS::TextureFormatStrings</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Texture format string parser routines.  <a href="classCS_1_1TextureFormatStrings.html#_details">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Clipping requirement for DrawTriangleMesh</h2></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="#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="#ge0c49e6b4ff330f8920a64c13acb9c5d"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Type of clipper (for iGraphics3D::SetClipper())</h2></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="#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="#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="#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="#g40e00c647036b433b16268a0cc3149c3"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Mix mode: Default modes</h2></td></tr>
<tr><td colspan="2">A set of commonly used mix modes. <br><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#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="#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="#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="#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="#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="#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="#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="#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="#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="#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="#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="#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="#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="#gbdfcef391e5a2c8ee4974995ca4c6454"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Mix mode: alpha helpers</h2></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="#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="#gd86331b25169e33b6fcfa9eabd6bc24c"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Mix mode: Alpha test flags</h2></td></tr>
<tr><td colspan="2">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></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="#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="#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="#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="#gcbc0e919d2b2eb10da60e2e40631602d"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Mix mode: Blending mode helpers</h2></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="#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="#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="#gfafe978b680e6b4cf43945f7646366de"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Mix mode: Types</h2></td></tr>
<tr><td colspan="2">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></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="#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="#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="#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="#g48ff680bfd4f154edd1610fd5f1dd3d3"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Texture registration flags.</h2></td></tr>
<tr><td colspan="2">During texture registration you should tell the manager which way you're going to use the texture: whenever you're going to use it for 2D (DrawPixmap ()), for 3D (DrawPolygon ()), whenever the texture will be dynamically modified. <br><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#g21a2c2a6e098d70e99ab94ec953c180f">CS_TEXTURE_2D</a>&nbsp;&nbsp;&nbsp;0x00000001</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">You're going to use the texture for 2D drawing.  <a href="#g21a2c2a6e098d70e99ab94ec953c180f"></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#g1007d93d9702d59e43af6012bca0c2c4">CS_TEXTURE_3D</a>&nbsp;&nbsp;&nbsp;0x00000002</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">You're going to use the texture for 3D drawing.  <a href="#g1007d93d9702d59e43af6012bca0c2c4"></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#g01c5b1061d803374676797ff655ef428">CS_TEXTURE_CLAMP</a>&nbsp;&nbsp;&nbsp;0x00000010</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This texture will not be tiled, and color lookups outside the 0.  <a href="#g01c5b1061d803374676797ff655ef428"></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#g27830a1f98f13acaaa267e5f1b94f2e0">CS_TEXTURE_NOFILTER</a>&nbsp;&nbsp;&nbsp;0x00000020</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This texture will not be filtered, even if texture filtering is available.  <a href="#g27830a1f98f13acaaa267e5f1b94f2e0"></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#gfd1f975876f1718dd2b7f6e1b714f96c">CS_TEXTURE_NOMIPMAPS</a>&nbsp;&nbsp;&nbsp;0x00000008</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create mipmaps for this texture? Sometimes we know in advance that some texture will need just one mipmap (or we just don't care about the mipmapping artifacts because of, say, how texture is looking (smoothed etc)).  <a href="#gfd1f975876f1718dd2b7f6e1b714f96c"></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#gcbd91f874a0d5b44daf143e61ae57d0b">CS_TEXTURE_NPOTS</a>&nbsp;&nbsp;&nbsp;0x00000040</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Store texture as non-power-of-two sized (NPOTS) if possible.  <a href="#gcbd91f874a0d5b44daf143e61ae57d0b"></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#g887196d09f40664a27eb29ae57993b32">CS_TEXTURE_SCALE_DOWN</a>&nbsp;&nbsp;&nbsp;0x00000100</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Texture resizing control flag.  <a href="#g887196d09f40664a27eb29ae57993b32"></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#g94d929ab750e4d6240e110604535f547">CS_TEXTURE_SCALE_UP</a>&nbsp;&nbsp;&nbsp;0x00000080</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Texture resizing control flag.  <a href="#g94d929ab750e4d6240e110604535f547"></a><br></td></tr>
<tr><td colspan="2"><br><h2>iGraphics3D::BeginDraw() flags</h2></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="#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="#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="#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="#ge0c2e7ed59b255514bf0c08308383a2b"></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="g7865b8f5164e05b03f751f6c2e943826"></a><!-- doxytag: member="gfx3d::CS_BUF_LOCK_NOLOCK" ref="g7865b8f5164e05b03f751f6c2e943826" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g7865b8f5164e05b03f751f6c2e943826">CS_BUF_LOCK_NOLOCK</a>&nbsp;&nbsp;&nbsp;<a class="el" href="structCS_1_1Deprecated_1_1CS__BUF__LOCK__NOLOCK.html#a0fb8591bda7b1973e3d59bc61f3ef3f">CS::Deprecated::CS_BUF_LOCK_NOLOCK::value</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g53716bef72ba998ca85a10f99b841a62"></a><!-- doxytag: member="gfx3d::CS_BUFFER_MAKE_MASKABLE" ref="g53716bef72ba998ca85a10f99b841a62" args="(x)" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g53716bef72ba998ca85a10f99b841a62">CS_BUFFER_MAKE_MASKABLE</a>(x)&nbsp;&nbsp;&nbsp;(1&lt;&lt;(x))</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#gdeda0074d73bd0bcef9aed23ace12314">CS_MATERIAL_TEXTURE_DIFFUSE</a>&nbsp;&nbsp;&nbsp;&quot;tex diffuse&quot;</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Name string for the material "diffuse" texture.  <a href="#gdeda0074d73bd0bcef9aed23ace12314"></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#g663ebe12fbc69f07b34462cdccfa2c73">CS_MATERIAL_VARNAME_FLATCOLOR</a>&nbsp;&nbsp;&nbsp;&quot;mat flatcolor&quot;</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Name string for the material "flat color" shader var.  <a href="#g663ebe12fbc69f07b34462cdccfa2c73"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g5290bb1d367bba5f785cb9744e1e5448"></a><!-- doxytag: member="gfx3d::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="gfx3d::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="gfx3d::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="gfx3d::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="gfx3d::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="gfx3d::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"><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#ggbd3a73e27ee5d24e0660e5d6e02e8fa3ea1b0373f6ce3921dac7abdbffb66d15">CS::StructuredTextureFormat::compR</a> =  0x01, 
<a class="el" href="group__gfx3d.html#ggbd3a73e27ee5d24e0660e5d6e02e8fa307463652e50be8ca18caf7c4a43a0801">CS::StructuredTextureFormat::compG</a> =  0x02, 
<a class="el" href="group__gfx3d.html#ggbd3a73e27ee5d24e0660e5d6e02e8fa37abf487abfbf2aa7a7baab5616198a27">CS::StructuredTextureFormat::compB</a> =  0x04, 
<a class="el" href="group__gfx3d.html#ggbd3a73e27ee5d24e0660e5d6e02e8fa3b1de66d99bc3969da9af4d6e582c9169">CS::StructuredTextureFormat::compA</a> =  0x08, 
<br>
&nbsp;&nbsp;<a class="el" href="group__gfx3d.html#ggbd3a73e27ee5d24e0660e5d6e02e8fa3d3e35daaa7ae2d4e5a819c7d0c661a2c">CS::StructuredTextureFormat::compX</a> =  0x10, 
<a class="el" href="group__gfx3d.html#ggbd3a73e27ee5d24e0660e5d6e02e8fa3c4e2266cd38ee155fb17bed8b06c9d1b">CS::StructuredTextureFormat::compL</a> =  0x20, 
<a class="el" href="group__gfx3d.html#ggbd3a73e27ee5d24e0660e5d6e02e8fa3d504896c6a09c1a63a612d72c25883cb">CS::StructuredTextureFormat::compD</a> =  0x40, 
<a class="el" href="group__gfx3d.html#ggbd3a73e27ee5d24e0660e5d6e02e8fa3f3149626a043ece26b4800376eae6fde">CS::StructuredTextureFormat::compS</a> =  0x80, 
<br>
&nbsp;&nbsp;<a class="el" href="group__gfx3d.html#ggbd3a73e27ee5d24e0660e5d6e02e8fa31bf979e7bc1b944d62e6ab52b6587dff">CS::StructuredTextureFormat::compRGB</a> =  compR | compB | compG, 
<a class="el" href="group__gfx3d.html#ggbd3a73e27ee5d24e0660e5d6e02e8fa3d999ec2d3c708563e5e079bc18caee84">CS::StructuredTextureFormat::compRGBA</a> =  compR | compB | compG | compA, 
<a class="el" href="group__gfx3d.html#ggbd3a73e27ee5d24e0660e5d6e02e8fa3e78d82aed2749e5f22147838b613f858">CS::StructuredTextureFormat::compLumA</a> =  compL | compA, 
<a class="el" href="group__gfx3d.html#ggbd3a73e27ee5d24e0660e5d6e02e8fa358469ffed83156c77026bc2acf653777">CS::StructuredTextureFormat::compDepthStencil</a> =  compD | compS, 
<br>
&nbsp;&nbsp;<a class="el" href="group__gfx3d.html#ggbd3a73e27ee5d24e0660e5d6e02e8fa36319eb0febc4c5a12e82160244d47991">CS::StructuredTextureFormat::compUnknown</a> =  0x80000000
<br>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit flags for components present in a format.  <a href="group__gfx3d.html#gbd3a73e27ee5d24e0660e5d6e02e8fa3">More...</a><br></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="group__gfx3d.html#g2e793d8189bb8566ed81c168875f452b">csRenderBufferComponentType</a> { <br>
&nbsp;&nbsp;<a class="el" href="group__gfx3d.html#gg2e793d8189bb8566ed81c168875f452b26ae57b4ddbceb9634861c68516a81d7">CS_BUFCOMP_BYTE</a> =  0, 
<a class="el" href="group__gfx3d.html#gg2e793d8189bb8566ed81c168875f452b25702e67abcd7290c92062ce2a867a0c">CS_BUFCOMP_UNSIGNED_BYTE</a>, 
<a class="el" href="group__gfx3d.html#gg2e793d8189bb8566ed81c168875f452bab6038604aa2bd575bd4351c8343d3a0">CS_BUFCOMP_SHORT</a>, 
<a class="el" href="group__gfx3d.html#gg2e793d8189bb8566ed81c168875f452b93ac3748f171605ca85ad3dd9e1827fc">CS_BUFCOMP_UNSIGNED_SHORT</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="group__gfx3d.html#gg2e793d8189bb8566ed81c168875f452ba95b8898b542f169190e6a49ea7cf2b8">CS_BUFCOMP_INT</a>, 
<a class="el" href="group__gfx3d.html#gg2e793d8189bb8566ed81c168875f452b96a405b29bd36a67e0796c74424387de">CS_BUFCOMP_UNSIGNED_INT</a>, 
<a class="el" href="group__gfx3d.html#gg2e793d8189bb8566ed81c168875f452b5df131ffd6ead0cdfa3dc9eea6a78e73">CS_BUFCOMP_FLOAT</a>, 
<a class="el" href="group__gfx3d.html#gg2e793d8189bb8566ed81c168875f452bef38bb2295605b7e873b85cd273a66a1">CS_BUFCOMP_DOUBLE</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="group__gfx3d.html#gg2e793d8189bb8566ed81c168875f452b61c8ed2a5c9aacc87ccef178fb7b89b0">CS_BUFCOMP_TYPECOUNT</a>
<br>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type of components.  <a href="group__gfx3d.html#g2e793d8189bb8566ed81c168875f452b">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#g6415ede5d389a1c56c44ddbc924c8fdc">csRenderBufferLockType</a> { <a class="el" href="group__gfx3d.html#gg6415ede5d389a1c56c44ddbc924c8fdc7c3697778fea9d548b1658261e9dff0b">CS_BUF_LOCK_READ</a> =  1, 
<a class="el" href="group__gfx3d.html#gg6415ede5d389a1c56c44ddbc924c8fdcbbd9fe06e63ce950e6c2e497cf923247">CS_BUF_LOCK_NORMAL</a>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type of lock of a render buffer.  <a href="group__gfx3d.html#g6415ede5d389a1c56c44ddbc924c8fdc">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#g70013f7ff48bca5acf2c00bbb02eb6d6">csRenderBufferName</a> { <br>
&nbsp;&nbsp;<a class="el" href="group__gfx3d.html#gg70013f7ff48bca5acf2c00bbb02eb6d65ec24b6d2704d612590d07b225198d5b">CS_BUFFER_NONE</a> =  -1, 
<a class="el" href="group__gfx3d.html#gg70013f7ff48bca5acf2c00bbb02eb6d61d4d14cca40d7d73682995e3d22bc154">CS_BUFFER_INDEX</a>, 
<a class="el" href="group__gfx3d.html#gg70013f7ff48bca5acf2c00bbb02eb6d6df5a5d67b6a8bdca1600ebbbc6eb3d4b">CS_BUFFER_POSITION</a>, 
<a class="el" href="group__gfx3d.html#gg70013f7ff48bca5acf2c00bbb02eb6d6e38efaab04c9792a378a2cf7dd2ff7d3">CS_BUFFER_NORMAL</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="group__gfx3d.html#gg70013f7ff48bca5acf2c00bbb02eb6d628fe02aac5a13fe0825ade3463afc9bc">CS_BUFFER_COLOR</a>, 
<a class="el" href="group__gfx3d.html#gg70013f7ff48bca5acf2c00bbb02eb6d656cd4292bf21fa603ab283dd5ed0eabc">CS_BUFFER_COLOR_UNLIT</a>, 
<a class="el" href="group__gfx3d.html#gg70013f7ff48bca5acf2c00bbb02eb6d6de143dd54224fa8cad3e609ba13818a1">CS_BUFFER_TEXCOORD0</a>, 
<a class="el" href="group__gfx3d.html#gg70013f7ff48bca5acf2c00bbb02eb6d65757ac940985744be53cdb25332d3f1c">CS_BUFFER_TEXCOORD1</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="group__gfx3d.html#gg70013f7ff48bca5acf2c00bbb02eb6d67c89dc351d2dbf831860a646babf0376">CS_BUFFER_TEXCOORD2</a>, 
<a class="el" href="group__gfx3d.html#gg70013f7ff48bca5acf2c00bbb02eb6d60aa692cc85d6a8cd245199a786ee7f0e">CS_BUFFER_TEXCOORD3</a>, 
<a class="el" href="group__gfx3d.html#gg70013f7ff48bca5acf2c00bbb02eb6d6514b5e788e074dae98f9ca2e16269bf6">CS_BUFFER_TEXCOORD_LIGHTMAP</a>, 
<a class="el" href="group__gfx3d.html#gg70013f7ff48bca5acf2c00bbb02eb6d6dae51ca8f98f3971827e177aa78e9345">CS_BUFFER_GENERIC0</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="group__gfx3d.html#gg70013f7ff48bca5acf2c00bbb02eb6d6a33bf88df3a2d9e0f781e415654ff38d">CS_BUFFER_GENERIC1</a>, 
<a class="el" href="group__gfx3d.html#gg70013f7ff48bca5acf2c00bbb02eb6d6b9affc94776b3cd6dbad4de70771854b">CS_BUFFER_GENERIC2</a>, 
<a class="el" href="group__gfx3d.html#gg70013f7ff48bca5acf2c00bbb02eb6d6c2189f64e731a8c30af1a99157505181">CS_BUFFER_GENERIC3</a>, 
<a class="el" href="group__gfx3d.html#gg70013f7ff48bca5acf2c00bbb02eb6d6cbabbcd809b60be7c6b711224b36a506">CS_BUFFER_TANGENT</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="group__gfx3d.html#gg70013f7ff48bca5acf2c00bbb02eb6d6362465dcd0e89c922c75795c2a62fb80">CS_BUFFER_BINORMAL</a>, 
<a class="el" href="group__gfx3d.html#gg70013f7ff48bca5acf2c00bbb02eb6d66f222fb98c109c0645d819d905f5ba57">CS_BUFFER_COUNT</a>
<br>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Defines the names of the renderbuffers as provided by the meshes.  <a href="group__gfx3d.html#g70013f7ff48bca5acf2c00bbb02eb6d6">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#gee595b32113dbb3fd91a9aee0193640c">csRenderBufferNameMask</a> { <br>
&nbsp;&nbsp;<a class="el" href="group__gfx3d.html#ggee595b32113dbb3fd91a9aee0193640c7bf4bbb194f315b2853f4583c97919dd">CS_BUFFER_INDEX_MASK</a> =  1 &lt;&lt; CS_BUFFER_INDEX, 
<a class="el" href="group__gfx3d.html#ggee595b32113dbb3fd91a9aee0193640cdfb81fe24cf97abaf06d6103b24576a5">CS_BUFFER_POSITION_MASK</a> =  1 &lt;&lt; CS_BUFFER_POSITION, 
<a class="el" href="group__gfx3d.html#ggee595b32113dbb3fd91a9aee0193640c661d7d8931f17ba9fb1a6cf21e61339c">CS_BUFFER_NORMAL_MASK</a> =  1 &lt;&lt; CS_BUFFER_NORMAL, 
<a class="el" href="group__gfx3d.html#ggee595b32113dbb3fd91a9aee0193640c760dc0e4997ca2e4d1141e25bdd62bea">CS_BUFFER_COLOR_MASK</a> =  1 &lt;&lt; CS_BUFFER_COLOR, 
<br>
&nbsp;&nbsp;<a class="el" href="group__gfx3d.html#ggee595b32113dbb3fd91a9aee0193640c3e9ebe6ee594e96933b27d31432c07ae">CS_BUFFER_COLOR_LIGHTING_MASK</a> =  1 &lt;&lt; CS_BUFFER_COLOR_UNLIT, 
<a class="el" href="group__gfx3d.html#ggee595b32113dbb3fd91a9aee0193640c51ecfccbe0a0b861a459a3510f036826">CS_BUFFER_TEXCOORD0_MASK</a> =  1 &lt;&lt; CS_BUFFER_TEXCOORD0, 
<a class="el" href="group__gfx3d.html#ggee595b32113dbb3fd91a9aee0193640c721ec440fb479a28c055e6b8f820499c">CS_BUFFER_TEXCOORD1_MASK</a> =  1 &lt;&lt; CS_BUFFER_TEXCOORD1, 
<a class="el" href="group__gfx3d.html#ggee595b32113dbb3fd91a9aee0193640c6756c8848f8b6f213618f47c0e2ffaed">CS_BUFFER_TEXCOORD2_MASK</a> =  1 &lt;&lt; CS_BUFFER_TEXCOORD2, 
<br>
&nbsp;&nbsp;<a class="el" href="group__gfx3d.html#ggee595b32113dbb3fd91a9aee0193640c69214192dbea4d4d9d9504f50fe61900">CS_BUFFER_TEXCOORD3_MASK</a> =  1 &lt;&lt; CS_BUFFER_TEXCOORD3, 
<a class="el" href="group__gfx3d.html#ggee595b32113dbb3fd91a9aee0193640cbdd0e8f35e8ba0ff4a789c9bbc708dcb">CS_BUFFER_TEXCOORD_LIGHTMAP_MASK</a> =  1 &lt;&lt; CS_BUFFER_TEXCOORD_LIGHTMAP, 
<a class="el" href="group__gfx3d.html#ggee595b32113dbb3fd91a9aee0193640c03e1601e0504ff8020c1cade7df46137">CS_BUFFER_GENERIC0_MASK</a> =  1 &lt;&lt; CS_BUFFER_GENERIC0, 
<a class="el" href="group__gfx3d.html#ggee595b32113dbb3fd91a9aee0193640c32a662ec2c384fde629d5ceaa1c895ef">CS_BUFFER_GENERIC1_MASK</a> =  1 &lt;&lt; CS_BUFFER_GENERIC1, 
<br>
&nbsp;&nbsp;<a class="el" href="group__gfx3d.html#ggee595b32113dbb3fd91a9aee0193640c6acb52bbc510582d994a789c9864f35a">CS_BUFFER_GENERIC2_MASK</a> =  1 &lt;&lt; CS_BUFFER_GENERIC2, 
<a class="el" href="group__gfx3d.html#ggee595b32113dbb3fd91a9aee0193640c1cc834adbf1827b6ae35ce1a1e99b78c">CS_BUFFER_GENERIC3_MASK</a> =  1 &lt;&lt; CS_BUFFER_GENERIC3, 
<a class="el" href="group__gfx3d.html#ggee595b32113dbb3fd91a9aee0193640c654bc088755ceb45fea085c01f872f3f">CS_BUFFER_TANGENT_MASK</a> =  1 &lt;&lt; CS_BUFFER_TANGENT, 
<a class="el" href="group__gfx3d.html#ggee595b32113dbb3fd91a9aee0193640ccccde1e75a788abc7e3cc28197dbf52b">CS_BUFFER_BINORMAL_MASK</a> =  1 &lt;&lt; CS_BUFFER_BINORMAL, 
<br>
&nbsp;&nbsp;<a class="el" href="group__gfx3d.html#ggee595b32113dbb3fd91a9aee0193640c33e2f06a76d9c479cc6408dcec824236">CS_BUFFER_ALL_MASK</a> =  ~0
<br>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Masks for renderbuffer accessors.  <a href="group__gfx3d.html#gee595b32113dbb3fd91a9aee0193640c">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#ge5b18d205d829115e359b43a81a963b4">csRenderBufferType</a> { <a class="el" href="group__gfx3d.html#gge5b18d205d829115e359b43a81a963b49b03161135422ec511917cf00a5daefb">CS_BUF_DYNAMIC</a>, 
<a class="el" href="group__gfx3d.html#gge5b18d205d829115e359b43a81a963b466d406023eaf1687599a0f32879758e6">CS_BUF_STATIC</a>, 
<a class="el" href="group__gfx3d.html#gge5b18d205d829115e359b43a81a963b47441bff129697a80f150365aac7e1aba">CS_BUF_STREAM</a>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Buffer usage type.  <a href="group__gfx3d.html#ge5b18d205d829115e359b43a81a963b4">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 colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g3a4849e49042f80f6ea3e4514828365b">CS::StructuredTextureFormat::AddComponent</a> (char cmp, int size)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new component to the texture format.  <a href="#g3a4849e49042f80f6ea3e4514828365b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static <br>
StructuredTextureFormat&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#ge799b7a4cbbd4c35fce20e32789d8c79">CS::TextureFormatStrings::ConvertStructured</a> (const char *in)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert a (canonical of not) texture format to a structured form.  <a href="#ge799b7a4cbbd4c35fce20e32789d8c79"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g8ca24f1bb0f8f6badd99d9160568b666">CS::StructuredTextureFormat::FixSizes</a> (int size)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fix the unset sizes (i.e.  <a href="#g8ca24f1bb0f8f6badd99d9160568b666"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsString.html">csString</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#gb5756f68c1ccccee3a3d551575e28e7c">CS::StructuredTextureFormat::GetCanonical</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert this structured format to canonical format.  <a href="#gb5756f68c1ccccee3a3d551575e28e7c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g700c6dc9764062fb1f9dcbe3edc48a91">CS::StructuredTextureFormat::GetComponent</a> (int n) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the nth component.  <a href="#g700c6dc9764062fb1f9dcbe3edc48a91"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#gafbee0cf93ce2db3bf03bedec1234a45">CS::StructuredTextureFormat::GetComponentCount</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of components in this format.  <a href="#gafbee0cf93ce2db3bf03bedec1234a45"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g3df28ac452bc6c38aa10a8e27fa2a095">CS::StructuredTextureFormat::GetComponentMask</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a bit mask that identifies the contained components, regardless of their order.  <a href="#g3df28ac452bc6c38aa10a8e27fa2a095"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#gcd7b230be7bbc93f02906449b29b33ed">CS::StructuredTextureFormat::GetComponentSize</a> (int n) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get size of the nth component.  <a href="#gcd7b230be7bbc93f02906449b29b33ed"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">TextureFormat&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#gf4ed0e98cb9174d6246702821df394a3">CS::StructuredTextureFormat::GetFormat</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the basic storage type for this texture format.  <a href="#gf4ed0e98cb9174d6246702821df394a3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#gde7c7e0c3ea489ed69ad255a4f68860c">CS::StructuredTextureFormat::GetSpecial</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the special format string.  <a href="#gde7c7e0c3ea489ed69ad255a4f68860c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#gedd846f03d09cefa720125baff26afc6">CS::StructuredTextureFormat::IsValid</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns whether the contained format is a valid texture format.  <a href="#gedd846f03d09cefa720125baff26afc6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g03618b8691f59b3737730eba3f91f656"></a><!-- doxytag: member="gfx3d::operator==" ref="g03618b8691f59b3737730eba3f91f656" args="(const StructuredTextureFormat &amp;other) const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g03618b8691f59b3737730eba3f91f656">CS::StructuredTextureFormat::operator==</a> (const StructuredTextureFormat &amp;other) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g3216bc440155a8184ccc58dd9c9184d5">CS::StructuredTextureFormat::SetFormat</a> (TextureFormat format)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the format.  <a href="#g3216bc440155a8184ccc58dd9c9184d5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g741f1a2c56d95d26133c8d78bc60b30d">CS::StructuredTextureFormat::SetSpecial</a> (const char *special)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A special format (like '*dxt1').  <a href="#g741f1a2c56d95d26133c8d78bc60b30d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g53502acc0131350ff7f190b84852ca1a">CS::StructuredTextureFormat::StructuredTextureFormat</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct an invalid texture format.  <a href="#g53502acc0131350ff7f190b84852ca1a"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gfx3d.html#g542a5dba96bc9616b5857070afe19ef0">csRenderBufferComponentSizes</a> [CS_BUFCOMP_TYPECOUNT]</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sizes of individual buffer components in bytes.  <a href="#g542a5dba96bc9616b5857070afe19ef0"></a><br></td></tr>
</table>
<h3><a class="anchor" name="TextureFormatStrings">Texture format strings</a></h3><h2><a class="anchor" name="tfs_s">
Special formats</a></h2>
Special formats are simple: they're designated by a string starting with <code>*</code>, everything else afterwards is arbitrary.<p>
Examples: <ul>
<li><code>*dxt1</code> DXT1 compressed texture </li>
<li><code>*3dc</code> 3Dc compressed texture</li>
</ul>
<h2><a class="anchor" name="tsf_g">
General formats</a></h2>
The general syntax is (in dog EBNF): <pre>
 format := components {components} [_ format] 
 components := component {component} size
 </pre> whereas <code>component</code> is the component type, summarized below, <code>size</code> is the width of the component, in bit, and <code>format</code> is an optional specifier for the component format.<h3><a class="anchor" name="tfs_g_comptypes">
Component types</a></h3>
<ul>
<li><code>r</code> Red </li>
<li><code>g</code> Green </li>
<li><code>b</code> Blue </li>
<li><code>a</code> Alpha </li>
<li><code>x</code> Junk (unused) </li>
<li><code>l</code> Luminance </li>
<li><code>d</code> Depth </li>
<li><code>s</code> Stencil</li>
</ul>
<h3><a class="anchor" name="tfs_g_format">
Format</a></h3>
Format optionally specifies how the data is encoded. <ul>
<li><code>f</code> Float </li>
<li><code>i</code> Unsigned integer</li>
</ul>
Examples: <ul>
<li><code>abgr32_f:</code> Red, green, blue, alpha are stored as 32-bit floats.</li>
</ul>
<h3><a class="anchor" name="tfs_g_matching">
Matching components and sizes</a></h3>
A component has the size as specified by the next size specifier right of it.<p>
Examples: <ul>
<li><code>argb8, a8r8g8b8:</code> Red, green, blue, alpha are all 8 bit wide. </li>
<li><code>r5g6b5:</code> Red is 5 bit wide, green 6 bit, blue 5bit. </li>
<li><code>x1rgb5, x1r5g5b5:</code> Red, green, blue are all 5 bit wide. One bit is unused.</li>
</ul>
<h3><a class="anchor" name="tfs_g_storage">
Storage</a></h3>
The leftmost component is stored in the most significant bits; the rightmost component in the least significant bits. A tuple of components is interpreted as a word with the size being the sum of all component sizes, rounded up to the next multiple of 8. These words are then stored in little-endian.<p>
This means that for formats with 8-bit components, the bytes in memory are swapped in comparison to their order in the format string. See the examples.<p>
Examples: <ul>
<li><code>argb8</code> When interpreted as 32-bit words, blue is in bits 0-7, green in 8-15, red in 16-23, alpha 24-31. When interpreted as bytes, it's four bytes, the first stores blue, the second green, the third red, the fourth alpha. </li>
<li><code>r5g6b5:</code> Red is stored in the 5 most significant bits of the second byte, green in the 3 least significant bits of the second byte and 3 most significant bits of the first byte, blue in the 5 least significant bits of the first byte.</li>
</ul>
<h3><a class="anchor" name="tfs_g_canonical">
Canonical Format</a></h3>
Canonical format strings, in comparison to "normal" format strings, require all "optional" parts to be present. That is, <ul>
<li>after each component a size must appear, </li>
<li>a format specifier must appear.</li>
</ul>
Examples: <ul>
<li><code>rgba32_f</code> becomes <code>r32g32b32a32_f</code> </li>
<li><code>r5g6b5</code> becomes <code>r5g6b6_i</code> </li>
<li><code>b8g8r8_i</code> becomes <code>b8g8r8_i</code> </li>
<li><code>d24</code> becomes <code>d24_i</code> </li>
<li><code>d24s8</code> becomes <code>d24s8_i</code> </li>
<li><code>*dxt1</code>, as a special format, stays <code>*dxt1</code> </li>
<li>Any invalid format becomes <code>-</code> </li>
</ul>
<h3><a class="anchor" name="tfs_g_moreexamples">
More examples</a></h3>
<ul>
<li><code>d24:</code> 24-bit depth texture. </li>
<li><code>d24s8:</code> Combined 24-bit depth and 8-bit stencil texture. </li>
</ul>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="g568a33e28806ce566e8446420bcb3bd3"></a><!-- doxytag: member="graph3d.h::CS_CLIP_NEEDED" ref="g568a33e28806ce566e8446420bcb3bd3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CS_CLIP_NEEDED&nbsp;&nbsp;&nbsp;1          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Clipping may be needed. 
<p>
Depending on the type of the clipper (one of the CS_CLIPPER_??? flags) the renderer has to clip or not. (setting for clip_portal, clip_plane, or clip_z_plane). 
<p>Definition at line <a class="el" href="graph3d_8h-source.html#l00108">108</a> of file <a class="el" href="graph3d_8h-source.html">graph3d.h</a>.</p>

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

<p>
No clipping required. 
<p>
(setting for clip_portal, clip_plane, or clip_z_plane). 
<p>Definition at line <a class="el" href="graph3d_8h-source.html#l00102">102</a> of file <a class="el" href="graph3d_8h-source.html">graph3d.h</a>.</p>

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

<p>
There is no clipper. 
<p>

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

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

<p>
Clipper is optional. 
<p>

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

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

<p>
Clipper is required. 
<p>

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

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

<p>
Clipper is top-level. 
<p>

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

</div>
</div><p>
<a class="anchor" name="g59466bfe3d5df98a96bd96c81c90a854"></a><!-- doxytag: member="graph3d.h::CS_FX_ADD" ref="g59466bfe3d5df98a96bd96c81c90a854" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CS_FX_ADD&nbsp;&nbsp;&nbsp;(CS_MIXMODE_BLEND(ONE, ONE) | CS_MIXMODE_ALPHATEST_DISABLE)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Additive blending. Formula: <code>=SRC+DST</code>. 
<p>

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

</div>
</div><p>
<a class="anchor" name="g89072101df1b847eb56c7662664fc148"></a><!-- doxytag: member="graph3d.h::CS_FX_ALPHA" ref="g89072101df1b847eb56c7662664fc148" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CS_FX_ALPHA&nbsp;&nbsp;&nbsp;(CS_MIXMODE_BLEND(SRCALPHA, SRCALPHA_INV) | CS_MIXMODE_ALPHATEST_DISABLE)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Alpha blending. 
<p>
Formula: <code>=srcAlpha*SRC + (1-srcAlpha)*DST</code> <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Usually used with a non-zero alpha part. </dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__gfx3d.html#gc5ac035511e3c8a35a7dc18b55cbf868" title="Mixmode alpha part.">CS_FX_MASK_ALPHA</a>, <p>
<a class="el" href="group__gfx3d.html#gc5a2e0c327c6b69ccab0183bd0e2a529" title="Macro for setting of alpha bits into mixmode (alpha between 0 and 1).">CS_FX_SETALPHA</a> </dd></dl>

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

</div>
</div><p>
<a class="anchor" name="g157a5b79fc02bff999d17b291dac354d"></a><!-- doxytag: member="graph3d.h::CS_FX_COPY" ref="g157a5b79fc02bff999d17b291dac354d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CS_FX_COPY&nbsp;&nbsp;&nbsp;(CS_MIXMODE_TYPE_AUTO | CS_MIXMODE_ALPHATEST_AUTO)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This mixmode uses alpha smooth blending, binary blending (ie enabled alpha test) and no blending depending on the contents of csRenderMesh::alphaMode. 
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>For a "true" copy mixmode that just writes the source fragment color to the frame buffer, you can use: <div class="fragment"><pre class="fragment">   <a class="code" href="group__gfx3d.html#gab0163a168de01d26be545e9c3dba638" title="Helper macro to construct a blending operation mixmode Src and Dst are blending op...">CS_MIXMODE_BLEND</a>(ONE, ZERO) | <a class="code" href="group__gfx3d.html#g2823006b1eec2520e1e39d4d75f2fcb1" title="Unconditionally disable alpha test.">CS_MIXMODE_ALPHATEST_DISABLE</a>
</pre></div> </dd></dl>

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

<p>Referenced by <a class="el" href="rendermesh_8h-source.html#l00048">csRenderMeshModes::csRenderMeshModes()</a>, and <a class="el" href="meshobjtmpl_8h-source.html#l00224">csMeshObject::GetMixMode()</a>.</p>

</div>
</div><p>
<a class="anchor" name="g9619d4c92edc9b5873b0f53fe2e02a04"></a><!-- doxytag: member="graph3d.h::CS_FX_DESTALPHAADD" ref="g9619d4c92edc9b5873b0f53fe2e02a04" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CS_FX_DESTALPHAADD&nbsp;&nbsp;&nbsp;(CS_MIXMODE_BLEND(DSTALPHA, ONE) | CS_MIXMODE_ALPHATEST_DISABLE)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Multiply source color with destination alpha and add. 
<p>
Formula: <code>=(dstalpha)*SRC + DST</code> 
<p>Definition at line <a class="el" href="graph3d_8h-source.html#l00360">360</a> of file <a class="el" href="graph3d_8h-source.html">graph3d.h</a>.</p>

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

<p>
Flat shading flag. 
<p>

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

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

<p>
Mixmode alpha part. 
<p>
Values range from 0(opaque) to 255 (transparent) (note that this is the reverse of the "common" alpha meaning). When this part is non-null, the renderer will scale the incoming color buffer alpha components by the (inverse of) this value. <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The scaling may be relatively expensive, it is recommended to scale the vertex alpha by other means, e.g. through a vertex program. </dd></dl>

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

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

<p>
Bit mask for bits relevant to mix mode comparison; contains type, alpha test flags and blending op factors. 
<p>

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

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

<p>
Use the mix mode of the mesh mix mode. 
<p>
<dl class="warning" compact><dt><b>Warning:</b></dt><dd>NOT VALID AS MESH MIXMODE - only for shader pass mixmodes. </dd></dl>

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

</div>
</div><p>
<a class="anchor" name="gb90560b5ab7d9bcf32901e0eb5f041d2"></a><!-- doxytag: member="graph3d.h::CS_FX_MULTIPLY" ref="gb90560b5ab7d9bcf32901e0eb5f041d2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CS_FX_MULTIPLY&nbsp;&nbsp;&nbsp;(CS_MIXMODE_BLEND(DSTCOLOR, ZERO) | CS_MIXMODE_ALPHATEST_DISABLE)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Multiplicative blending. Formula: <code>=SRC*DST</code>. 
<p>

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

</div>
</div><p>
<a class="anchor" name="g305a050d961b6f0cab41af02763d255b"></a><!-- doxytag: member="graph3d.h::CS_FX_MULTIPLY2" ref="g305a050d961b6f0cab41af02763d255b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CS_FX_MULTIPLY2&nbsp;&nbsp;&nbsp;(CS_MIXMODE_BLEND(DSTCOLOR, SRCCOLOR) | CS_MIXMODE_ALPHATEST_DISABLE)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Multiplicative doubling blending. Formula: <code>=2*SRC*DST</code>. 
<p>

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

</div>
</div><p>
<a class="anchor" name="gb116e9a5671f2b3314dfb84f3156363a"></a><!-- doxytag: member="graph3d.h::CS_FX_PREMULTALPHA" ref="gb116e9a5671f2b3314dfb84f3156363a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CS_FX_PREMULTALPHA&nbsp;&nbsp;&nbsp;(CS_MIXMODE_BLEND(ONE, SRCALPHA_INV) | CS_MIXMODE_ALPHATEST_DISABLE)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Multiply destination color with inverse source alpha and add source color. 
<p>
Formula: <code>=SRC + DST*(1-srcalpha)</code> <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>When the <code>SRC</code> alpha component was multiplied into the source color, this acts like alpha blending; if it was not, it acts like additive blending. Hence, this mixmode can be used to use both additive and alpha blending on the same triangle even and interpolate between those two "extremes" by appropriate choice of the color and alpha values. </dd></dl>

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

</div>
</div><p>
<a class="anchor" name="gc5a2e0c327c6b69ccab0183bd0e2a529"></a><!-- doxytag: member="graph3d.h::CS_FX_SETALPHA" ref="gc5a2e0c327c6b69ccab0183bd0e2a529" args="(alpha)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CS_FX_SETALPHA          </td>
          <td>(</td>
          <td class="paramtype">alpha&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;(CS_FX_ALPHA | <a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> ((alpha) * CS_FX_MASK_ALPHA))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Macro for setting of alpha bits into mixmode (alpha between 0 and 1). 
<p>

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

<p>Referenced by <a class="el" href="partgen_8h-source.html#l00244">csParticleSystem::SetAlpha()</a>.</p>

</div>
</div><p>
<a class="anchor" name="gd86331b25169e33b6fcfa9eabd6bc24c"></a><!-- doxytag: member="graph3d.h::CS_FX_SETALPHA_INT" ref="gd86331b25169e33b6fcfa9eabd6bc24c" args="(alpha)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CS_FX_SETALPHA_INT          </td>
          <td>(</td>
          <td class="paramtype">alpha&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;(CS_FX_ALPHA | <a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> ((alpha) &amp; CS_FX_MASK_ALPHA))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Macro for setting of alpha bits into mixmode (alpha between 0 and 255). 
<p>

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

</div>
</div><p>
<a class="anchor" name="g6c38f097325623b97008651fac2d436e"></a><!-- doxytag: member="graph3d.h::CS_FX_SRCALPHAADD" ref="g6c38f097325623b97008651fac2d436e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CS_FX_SRCALPHAADD&nbsp;&nbsp;&nbsp;(CS_MIXMODE_BLEND(SRCALPHA, ONE) | CS_MIXMODE_ALPHATEST_DISABLE)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Multiply source color with source alpha and add. 
<p>
Formula: <code>=(srcalpha)*SRC + DST</code> 
<p>Definition at line <a class="el" href="graph3d_8h-source.html#l00366">366</a> of file <a class="el" href="graph3d_8h-source.html">graph3d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="gbdfcef391e5a2c8ee4974995ca4c6454"></a><!-- doxytag: member="graph3d.h::CS_FX_TRANSPARENT" ref="gbdfcef391e5a2c8ee4974995ca4c6454" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CS_FX_TRANSPARENT&nbsp;&nbsp;&nbsp;(CS_MIXMODE_BLEND(ZERO, ONE) | CS_MIXMODE_ALPHATEST_DISABLE)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Transparent blending (keep framebuffer unmodified). 
<p>
Formula: <code>=DST</code> <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The Z buffer will still be modified! </dd></dl>

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

</div>
</div><p>
<a class="anchor" name="gdeda0074d73bd0bcef9aed23ace12314"></a><!-- doxytag: member="material.h::CS_MATERIAL_TEXTURE_DIFFUSE" ref="gdeda0074d73bd0bcef9aed23ace12314" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CS_MATERIAL_TEXTURE_DIFFUSE&nbsp;&nbsp;&nbsp;&quot;tex diffuse&quot;          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Name string for the material "diffuse" texture. 
<p>

<p>Definition at line <a class="el" href="ivideo_2material_8h-source.html#l00038">38</a> of file <a class="el" href="ivideo_2material_8h-source.html">material.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="g663ebe12fbc69f07b34462cdccfa2c73"></a><!-- doxytag: member="material.h::CS_MATERIAL_VARNAME_FLATCOLOR" ref="g663ebe12fbc69f07b34462cdccfa2c73" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CS_MATERIAL_VARNAME_FLATCOLOR&nbsp;&nbsp;&nbsp;&quot;mat flatcolor&quot;          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Name string for the material "flat color" shader var. 
<p>

<p>Definition at line <a class="el" href="ivideo_2material_8h-source.html#l00036">36</a> of file <a class="el" href="ivideo_2material_8h-source.html">material.h</a>.</p>

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

<p>
Automatic alpha test. 
<p>
Whether the texture is alpha-blended binarily is taken from csRenderMesh::alphaMode and whether the alpha part of the mixmode is non-zero. 
<p>Definition at line <a class="el" href="graph3d_8h-source.html#l00288">288</a> of file <a class="el" href="graph3d_8h-source.html">graph3d.h</a>.</p>

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

<p>
Unconditionally disable alpha test. 
<p>

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

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

<p>
Unconditionally enable alpha test. 
<p>

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

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

<p>
Bit mask to extract the alpha test flag from a mixmode specifier. 
<p>

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

</div>
</div><p>
<a class="anchor" name="gab0163a168de01d26be545e9c3dba638"></a><!-- doxytag: member="graph3d.h::CS_MIXMODE_BLEND" ref="gab0163a168de01d26be545e9c3dba638" args="(Src, Dst)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CS_MIXMODE_BLEND          </td>
          <td>(</td>
          <td class="paramtype">Src,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Dst&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment">(<a class="code" href="group__gfx3d.html#g318fafd4e8247e9b533e0e1c8104fa61" title="Blend with a blending operation.">CS_MIXMODE_TYPE_BLENDOP</a>                                                \
  | (CS_MIXMODE_FACT_ ## Src &lt;&lt; 20) | (CS_MIXMODE_FACT_ ## Dst &lt;&lt; 16))
</pre></div>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. 
<p>
E.g.: <div class="fragment"><pre class="fragment"> <a class="code" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14" title="Shortcut for default unsigned int.">uint</a> mixmode = <a class="code" href="group__gfx3d.html#gab0163a168de01d26be545e9c3dba638" title="Helper macro to construct a blending operation mixmode Src and Dst are blending op...">CS_MIXMODE_BLEND</a>(SRCALPHA, SRCALPHA_INV);
</pre></div> will generate a blending operation for alpha blending. 
<p>Definition at line <a class="el" href="graph3d_8h-source.html#l00310">310</a> of file <a class="el" href="graph3d_8h-source.html">graph3d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="g44d0c355da9e25c99c000890e6d2c569"></a><!-- doxytag: member="graph3d.h::CS_MIXMODE_BLENDOP_DST" ref="g44d0c355da9e25c99c000890e6d2c569" args="(mode)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CS_MIXMODE_BLENDOP_DST          </td>
          <td>(</td>
          <td class="paramtype">mode&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;((mode &gt;&gt; 16) &amp; CS_MIXMODE_FACT_MASK)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Helper macro to extract the <code>dstFactor</code> from a blending op mixmode. 
<p>

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

</div>
</div><p>
<a class="anchor" name="gfafe978b680e6b4cf43945f7646366de"></a><!-- doxytag: member="graph3d.h::CS_MIXMODE_BLENDOP_SRC" ref="gfafe978b680e6b4cf43945f7646366de" args="(mode)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CS_MIXMODE_BLENDOP_SRC          </td>
          <td>(</td>
          <td class="paramtype">mode&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;((mode &gt;&gt; 20) &amp; CS_MIXMODE_FACT_MASK)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Helper macro to extract the <code>srcFactor</code> from a blending op mixmode. 
<p>

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

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

<p>
Automatic blending mode. 
<p>
Whether the texture is alpha-blended or not is taken from csRenderMesh::alphaMode and whether the alpha part of the mixmode is non-zero. 
<p>Definition at line <a class="el" href="graph3d_8h-source.html#l00227">227</a> of file <a class="el" href="graph3d_8h-source.html">graph3d.h</a>.</p>

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

<p>
Blend with a blending operation. 
<p>
The fragment value written to the framebuffer is computed from the formula <code>SRC</code> * <code>srcFactor</code> + <code>DST</code> * <code>dstFactor</code>. <code>srcFactor</code> and <code>dstFactor</code> are one of <a class="el" href="group__gfx3d.html#gg634f9f55e799f3052a34590f08100017f5ce179a35fe83eb4d7bc9412fe53c42">CS_MIXMODE_FACT_xxx </a>, encoded into the mixmode specifier with <a class="el" href="group__gfx3d.html#gab0163a168de01d26be545e9c3dba638" title="Helper macro to construct a blending operation mixmode Src and Dst are blending op...">CS_MIXMODE_BLEND</a>. 
<p>Definition at line <a class="el" href="graph3d_8h-source.html#l00236">236</a> of file <a class="el" href="graph3d_8h-source.html">graph3d.h</a>.</p>

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

<p>
Bit mask to extract the type from a mixmode specifier. 
<p>

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

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

<p>
Use the mix mode of the mesh mix mode. 
<p>
<dl class="warning" compact><dt><b>Warning:</b></dt><dd>NOT VALID AS MESH MIXMODE - only for shader pass mixmodes. </dd></dl>

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

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

<p>
You're going to use the texture for 2D drawing. 
<p>

<p>Definition at line <a class="el" href="ivideo_2txtmgr_8h-source.html#l00054">54</a> of file <a class="el" href="ivideo_2txtmgr_8h-source.html">txtmgr.h</a>.</p>

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

<p>
You're going to use the texture for 3D drawing. 
<p>

<p>Definition at line <a class="el" href="ivideo_2txtmgr_8h-source.html#l00056">56</a> of file <a class="el" href="ivideo_2txtmgr_8h-source.html">txtmgr.h</a>.</p>

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

<p>
This texture will not be tiled, and color lookups outside the 0. 
<p>
.1 range will be clamped to the edge of the texture. 
<p>Definition at line <a class="el" href="ivideo_2txtmgr_8h-source.html#l00071">71</a> of file <a class="el" href="ivideo_2txtmgr_8h-source.html">txtmgr.h</a>.</p>

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

<p>
This texture will not be filtered, even if texture filtering is available. 
<p>

<p>Definition at line <a class="el" href="ivideo_2txtmgr_8h-source.html#l00075">75</a> of file <a class="el" href="ivideo_2txtmgr_8h-source.html">txtmgr.h</a>.</p>

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

<p>
Create mipmaps for this texture? Sometimes we know in advance that some texture will need just one mipmap (or we just don't care about the mipmapping artifacts because of, say, how texture is looking (smoothed etc)). 
<p>
This flag is a <b>hint</b> for texture manager so that it will know this.<p>
Note that if texture is not registered for 3D usage (i.e. if CS_TEXTURE_3D is not set) this flag does not matter - 2D textures do not use mipmaps. 
<p>Definition at line <a class="el" href="ivideo_2txtmgr_8h-source.html#l00066">66</a> of file <a class="el" href="ivideo_2txtmgr_8h-source.html">txtmgr.h</a>.</p>

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

<p>
Store texture as non-power-of-two sized (NPOTS) if possible. 
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>On a lot of hardware, support for NPOTS-texture is rather limited; for example, commonly only clamped and textures without mipmaps are supported, hence a texture may only be considered for NPOTS use if the CS_TEXTURE_CLAMP and CS_TEXTURE_NOMIPMAPS flags are also set. Some hardware may not support NPOTS textures at all. It is at the discretion of the renderer to decide whether a texture really becomes NPOTS or not. This flag serves merely as an expression of the wish that a texture should be NPOTS, if possible. If that cannot be granted, the flag will be removed (thus you can query whether a texture was stored NPOTS or not by checking if this flag is set on it). </dd></dl>

<p>Definition at line <a class="el" href="ivideo_2txtmgr_8h-source.html#l00089">89</a> of file <a class="el" href="ivideo_2txtmgr_8h-source.html">txtmgr.h</a>.</p>

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

<p>
Texture resizing control flag. 
<p>
If a texture needs to be resized to power-of-two dimensions (either because non-power-of-two textures are not supported or just not requested), specify that powers of two smaller than or equal to the original dimensions should be selected. <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__gfx3d.html#g94d929ab750e4d6240e110604535f547" title="Texture resizing control flag.">CS_TEXTURE_SCALE_UP</a> </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>If none or both texture scale flags are specified, the renderer will decide whether a dimension is scaled up or down. </dd></dl>

<p>Definition at line <a class="el" href="ivideo_2txtmgr_8h-source.html#l00111">111</a> of file <a class="el" href="ivideo_2txtmgr_8h-source.html">txtmgr.h</a>.</p>

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

<p>
Texture resizing control flag. 
<p>
If a texture needs to be resized to power-of-two dimensions (either because non-power-of-two textures are not supported or just not requested), specify that powers of two larger than or equal to the original dimensions should be selected. <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__gfx3d.html#g887196d09f40664a27eb29ae57993b32" title="Texture resizing control flag.">CS_TEXTURE_SCALE_DOWN</a> </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>If none or both texture scale flags are specified, the renderer will decide whether a dimension is scaled up or down. </dd></dl>

<p>Definition at line <a class="el" href="ivideo_2txtmgr_8h-source.html#l00100">100</a> of file <a class="el" href="ivideo_2txtmgr_8h-source.html">txtmgr.h</a>.</p>

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

<p>
We're going to draw 2D graphics. 
<p>

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

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

<p>
We're going to draw 3D graphics. 
<p>

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

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

<p>
Clear frame buffer ? 
<p>

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

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

<p>
Clear Z-buffer ? 
<p>

<p>Definition at line <a class="el" href="graph3d_8h-source.html#l00071">71</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="gbd3a73e27ee5d24e0660e5d6e02e8fa3"></a><!-- doxytag: member="CS::StructuredTextureFormat::@33" ref="gbd3a73e27ee5d24e0660e5d6e02e8fa3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum<code> [inherited]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Bit flags for components present in a format. 
<p>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__gfx3d.html#tfs_g_comptypes">Component types</a> </dd></dl>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="ggbd3a73e27ee5d24e0660e5d6e02e8fa3ea1b0373f6ce3921dac7abdbffb66d15"></a><!-- doxytag: member="compR" ref="ggbd3a73e27ee5d24e0660e5d6e02e8fa3ea1b0373f6ce3921dac7abdbffb66d15" args="" -->compR</em>&nbsp;</td><td>
'r' component </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggbd3a73e27ee5d24e0660e5d6e02e8fa307463652e50be8ca18caf7c4a43a0801"></a><!-- doxytag: member="compG" ref="ggbd3a73e27ee5d24e0660e5d6e02e8fa307463652e50be8ca18caf7c4a43a0801" args="" -->compG</em>&nbsp;</td><td>
'g' component </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggbd3a73e27ee5d24e0660e5d6e02e8fa37abf487abfbf2aa7a7baab5616198a27"></a><!-- doxytag: member="compB" ref="ggbd3a73e27ee5d24e0660e5d6e02e8fa37abf487abfbf2aa7a7baab5616198a27" args="" -->compB</em>&nbsp;</td><td>
'b' component </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggbd3a73e27ee5d24e0660e5d6e02e8fa3b1de66d99bc3969da9af4d6e582c9169"></a><!-- doxytag: member="compA" ref="ggbd3a73e27ee5d24e0660e5d6e02e8fa3b1de66d99bc3969da9af4d6e582c9169" args="" -->compA</em>&nbsp;</td><td>
'a' component </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggbd3a73e27ee5d24e0660e5d6e02e8fa3d3e35daaa7ae2d4e5a819c7d0c661a2c"></a><!-- doxytag: member="compX" ref="ggbd3a73e27ee5d24e0660e5d6e02e8fa3d3e35daaa7ae2d4e5a819c7d0c661a2c" args="" -->compX</em>&nbsp;</td><td>
'x' component </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggbd3a73e27ee5d24e0660e5d6e02e8fa3c4e2266cd38ee155fb17bed8b06c9d1b"></a><!-- doxytag: member="compL" ref="ggbd3a73e27ee5d24e0660e5d6e02e8fa3c4e2266cd38ee155fb17bed8b06c9d1b" args="" -->compL</em>&nbsp;</td><td>
'l' component </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggbd3a73e27ee5d24e0660e5d6e02e8fa3d504896c6a09c1a63a612d72c25883cb"></a><!-- doxytag: member="compD" ref="ggbd3a73e27ee5d24e0660e5d6e02e8fa3d504896c6a09c1a63a612d72c25883cb" args="" -->compD</em>&nbsp;</td><td>
'd' component </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggbd3a73e27ee5d24e0660e5d6e02e8fa3f3149626a043ece26b4800376eae6fde"></a><!-- doxytag: member="compS" ref="ggbd3a73e27ee5d24e0660e5d6e02e8fa3f3149626a043ece26b4800376eae6fde" args="" -->compS</em>&nbsp;</td><td>
's' component </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggbd3a73e27ee5d24e0660e5d6e02e8fa31bf979e7bc1b944d62e6ab52b6587dff"></a><!-- doxytag: member="compRGB" ref="ggbd3a73e27ee5d24e0660e5d6e02e8fa31bf979e7bc1b944d62e6ab52b6587dff" args="" -->compRGB</em>&nbsp;</td><td>
'r', 'g' and 'b' components </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggbd3a73e27ee5d24e0660e5d6e02e8fa3d999ec2d3c708563e5e079bc18caee84"></a><!-- doxytag: member="compRGBA" ref="ggbd3a73e27ee5d24e0660e5d6e02e8fa3d999ec2d3c708563e5e079bc18caee84" args="" -->compRGBA</em>&nbsp;</td><td>
'r', 'g', 'b' and 'a' components </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggbd3a73e27ee5d24e0660e5d6e02e8fa3e78d82aed2749e5f22147838b613f858"></a><!-- doxytag: member="compLumA" ref="ggbd3a73e27ee5d24e0660e5d6e02e8fa3e78d82aed2749e5f22147838b613f858" args="" -->compLumA</em>&nbsp;</td><td>
'l' and 'a' components </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggbd3a73e27ee5d24e0660e5d6e02e8fa358469ffed83156c77026bc2acf653777"></a><!-- doxytag: member="compDepthStencil" ref="ggbd3a73e27ee5d24e0660e5d6e02e8fa358469ffed83156c77026bc2acf653777" args="" -->compDepthStencil</em>&nbsp;</td><td>
'd' and 's' components </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggbd3a73e27ee5d24e0660e5d6e02e8fa36319eb0febc4c5a12e82160244d47991"></a><!-- doxytag: member="compUnknown" ref="ggbd3a73e27ee5d24e0660e5d6e02e8fa36319eb0febc4c5a12e82160244d47991" args="" -->compUnknown</em>&nbsp;</td><td>
One or more components are unknown. </td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="textureformatstrings_8h-source.html#l00257">257</a> of file <a class="el" href="textureformatstrings_8h-source.html">textureformatstrings.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="g634f9f55e799f3052a34590f08100017"></a><!-- doxytag: member="graph3d.h::@84" ref="g634f9f55e799f3052a34590f08100017" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Mix mode: Blending op factors. 
<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="gg634f9f55e799f3052a34590f08100017f5ce179a35fe83eb4d7bc9412fe53c42"></a><!-- doxytag: member="CS_MIXMODE_FACT_ZERO" ref="gg634f9f55e799f3052a34590f08100017f5ce179a35fe83eb4d7bc9412fe53c42" args="" -->CS_MIXMODE_FACT_ZERO</em>&nbsp;</td><td>
0 </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg634f9f55e799f3052a34590f0810001762585826f145edac424308dd93100b15"></a><!-- doxytag: member="CS_MIXMODE_FACT_ONE" ref="gg634f9f55e799f3052a34590f0810001762585826f145edac424308dd93100b15" args="" -->CS_MIXMODE_FACT_ONE</em>&nbsp;</td><td>
-(e^(i*Pi)) </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg634f9f55e799f3052a34590f081000175f2225042583871689d329f3d551c5b5"></a><!-- doxytag: member="CS_MIXMODE_FACT_SRCCOLOR" ref="gg634f9f55e799f3052a34590f081000175f2225042583871689d329f3d551c5b5" args="" -->CS_MIXMODE_FACT_SRCCOLOR</em>&nbsp;</td><td>
Source fragment (R,G,B,A) components. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg634f9f55e799f3052a34590f0810001739df002786ee50e5a002606e76298b01"></a><!-- doxytag: member="CS_MIXMODE_FACT_SRCCOLOR_INV" ref="gg634f9f55e799f3052a34590f0810001739df002786ee50e5a002606e76298b01" args="" -->CS_MIXMODE_FACT_SRCCOLOR_INV</em>&nbsp;</td><td>
Source fragment (1-R,1-G,1-B,-1A) components. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg634f9f55e799f3052a34590f081000176d03e7095dabb0cefe33d15164c1d3d4"></a><!-- doxytag: member="CS_MIXMODE_FACT_DSTCOLOR" ref="gg634f9f55e799f3052a34590f081000176d03e7095dabb0cefe33d15164c1d3d4" args="" -->CS_MIXMODE_FACT_DSTCOLOR</em>&nbsp;</td><td>
Destination fragment (R,G,B,A) components. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg634f9f55e799f3052a34590f081000172cbcb29d021d8dedb4ae80c2ec469e4f"></a><!-- doxytag: member="CS_MIXMODE_FACT_DSTCOLOR_INV" ref="gg634f9f55e799f3052a34590f081000172cbcb29d021d8dedb4ae80c2ec469e4f" args="" -->CS_MIXMODE_FACT_DSTCOLOR_INV</em>&nbsp;</td><td>
Destination fragment (1-R,1-G,1-B,-1A) components. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg634f9f55e799f3052a34590f08100017ba5a437af635a0f59c2df4a711b077e0"></a><!-- doxytag: member="CS_MIXMODE_FACT_SRCALPHA" ref="gg634f9f55e799f3052a34590f08100017ba5a437af635a0f59c2df4a711b077e0" args="" -->CS_MIXMODE_FACT_SRCALPHA</em>&nbsp;</td><td>
Source fragment alpha. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg634f9f55e799f3052a34590f08100017402ca8198cd18db1db1c89d580340562"></a><!-- doxytag: member="CS_MIXMODE_FACT_SRCALPHA_INV" ref="gg634f9f55e799f3052a34590f08100017402ca8198cd18db1db1c89d580340562" args="" -->CS_MIXMODE_FACT_SRCALPHA_INV</em>&nbsp;</td><td>
Source fragment 1-alpha. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg634f9f55e799f3052a34590f08100017c77a53103daa13c42b245c309061bb8c"></a><!-- doxytag: member="CS_MIXMODE_FACT_DSTALPHA" ref="gg634f9f55e799f3052a34590f08100017c77a53103daa13c42b245c309061bb8c" args="" -->CS_MIXMODE_FACT_DSTALPHA</em>&nbsp;</td><td>
Destination fragment alpha. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg634f9f55e799f3052a34590f08100017c0dce88efddadc4c010208518a4637fe"></a><!-- doxytag: member="CS_MIXMODE_FACT_DSTALPHA_INV" ref="gg634f9f55e799f3052a34590f08100017c0dce88efddadc4c010208518a4637fe" args="" -->CS_MIXMODE_FACT_DSTALPHA_INV</em>&nbsp;</td><td>
Destination fragment 1-alpha. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg634f9f55e799f3052a34590f0810001747f785c2424ca7659c468f85674e18f0"></a><!-- doxytag: member="CS_MIXMODE_FACT_COUNT" ref="gg634f9f55e799f3052a34590f0810001747f785c2424ca7659c468f85674e18f0" args="" -->CS_MIXMODE_FACT_COUNT</em>&nbsp;</td><td>
Number of available mixmodes. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg634f9f55e799f3052a34590f08100017982f2fa247ecce5a55dfa01fd64dc956"></a><!-- doxytag: member="CS_MIXMODE_FACT_MASK" ref="gg634f9f55e799f3052a34590f08100017982f2fa247ecce5a55dfa01fd64dc956" args="" -->CS_MIXMODE_FACT_MASK</em>&nbsp;</td><td>
Mask to extract factors. </td></tr>
</table>
</dl>

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

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

<p>
Type of components. 
<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="gg2e793d8189bb8566ed81c168875f452b26ae57b4ddbceb9634861c68516a81d7"></a><!-- doxytag: member="CS_BUFCOMP_BYTE" ref="gg2e793d8189bb8566ed81c168875f452b26ae57b4ddbceb9634861c68516a81d7" args="" -->CS_BUFCOMP_BYTE</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg2e793d8189bb8566ed81c168875f452b25702e67abcd7290c92062ce2a867a0c"></a><!-- doxytag: member="CS_BUFCOMP_UNSIGNED_BYTE" ref="gg2e793d8189bb8566ed81c168875f452b25702e67abcd7290c92062ce2a867a0c" args="" -->CS_BUFCOMP_UNSIGNED_BYTE</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg2e793d8189bb8566ed81c168875f452bab6038604aa2bd575bd4351c8343d3a0"></a><!-- doxytag: member="CS_BUFCOMP_SHORT" ref="gg2e793d8189bb8566ed81c168875f452bab6038604aa2bd575bd4351c8343d3a0" args="" -->CS_BUFCOMP_SHORT</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg2e793d8189bb8566ed81c168875f452b93ac3748f171605ca85ad3dd9e1827fc"></a><!-- doxytag: member="CS_BUFCOMP_UNSIGNED_SHORT" ref="gg2e793d8189bb8566ed81c168875f452b93ac3748f171605ca85ad3dd9e1827fc" args="" -->CS_BUFCOMP_UNSIGNED_SHORT</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg2e793d8189bb8566ed81c168875f452ba95b8898b542f169190e6a49ea7cf2b8"></a><!-- doxytag: member="CS_BUFCOMP_INT" ref="gg2e793d8189bb8566ed81c168875f452ba95b8898b542f169190e6a49ea7cf2b8" args="" -->CS_BUFCOMP_INT</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg2e793d8189bb8566ed81c168875f452b96a405b29bd36a67e0796c74424387de"></a><!-- doxytag: member="CS_BUFCOMP_UNSIGNED_INT" ref="gg2e793d8189bb8566ed81c168875f452b96a405b29bd36a67e0796c74424387de" args="" -->CS_BUFCOMP_UNSIGNED_INT</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg2e793d8189bb8566ed81c168875f452b5df131ffd6ead0cdfa3dc9eea6a78e73"></a><!-- doxytag: member="CS_BUFCOMP_FLOAT" ref="gg2e793d8189bb8566ed81c168875f452b5df131ffd6ead0cdfa3dc9eea6a78e73" args="" -->CS_BUFCOMP_FLOAT</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg2e793d8189bb8566ed81c168875f452bef38bb2295605b7e873b85cd273a66a1"></a><!-- doxytag: member="CS_BUFCOMP_DOUBLE" ref="gg2e793d8189bb8566ed81c168875f452bef38bb2295605b7e873b85cd273a66a1" args="" -->CS_BUFCOMP_DOUBLE</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg2e793d8189bb8566ed81c168875f452b61c8ed2a5c9aacc87ccef178fb7b89b0"></a><!-- doxytag: member="CS_BUFCOMP_TYPECOUNT" ref="gg2e793d8189bb8566ed81c168875f452b61c8ed2a5c9aacc87ccef178fb7b89b0" args="" -->CS_BUFCOMP_TYPECOUNT</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="rndbuf_8h-source.html#l00060">60</a> of file <a class="el" href="rndbuf_8h-source.html">rndbuf.h</a>.</p>

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

<p>
Type of lock of a render buffer. 
<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="gg6415ede5d389a1c56c44ddbc924c8fdc7c3697778fea9d548b1658261e9dff0b"></a><!-- doxytag: member="CS_BUF_LOCK_READ" ref="gg6415ede5d389a1c56c44ddbc924c8fdc7c3697778fea9d548b1658261e9dff0b" args="" -->CS_BUF_LOCK_READ</em>&nbsp;</td><td>
Lock used for reading only from the buffer. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg6415ede5d389a1c56c44ddbc924c8fdcbbd9fe06e63ce950e6c2e497cf923247"></a><!-- doxytag: member="CS_BUF_LOCK_NORMAL" ref="gg6415ede5d389a1c56c44ddbc924c8fdcbbd9fe06e63ce950e6c2e497cf923247" args="" -->CS_BUF_LOCK_NORMAL</em>&nbsp;</td><td>
Get a (writeable) pointer to the buffer. </td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="rndbuf_8h-source.html#l00077">77</a> of file <a class="el" href="rndbuf_8h-source.html">rndbuf.h</a>.</p>

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

<p>
Defines the names of the renderbuffers as provided by the meshes. 
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>These constants are used to generate a mask (see csRenderBufferNameMask), hence their number should be kept below 32. </dd></dl>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="gg70013f7ff48bca5acf2c00bbb02eb6d65ec24b6d2704d612590d07b225198d5b"></a><!-- doxytag: member="CS_BUFFER_NONE" ref="gg70013f7ff48bca5acf2c00bbb02eb6d65ec24b6d2704d612590d07b225198d5b" args="" -->CS_BUFFER_NONE</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg70013f7ff48bca5acf2c00bbb02eb6d61d4d14cca40d7d73682995e3d22bc154"></a><!-- doxytag: member="CS_BUFFER_INDEX" ref="gg70013f7ff48bca5acf2c00bbb02eb6d61d4d14cca40d7d73682995e3d22bc154" args="" -->CS_BUFFER_INDEX</em>&nbsp;</td><td>
Index buffer. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg70013f7ff48bca5acf2c00bbb02eb6d6df5a5d67b6a8bdca1600ebbbc6eb3d4b"></a><!-- doxytag: member="CS_BUFFER_POSITION" ref="gg70013f7ff48bca5acf2c00bbb02eb6d6df5a5d67b6a8bdca1600ebbbc6eb3d4b" args="" -->CS_BUFFER_POSITION</em>&nbsp;</td><td>
Vertex positions. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg70013f7ff48bca5acf2c00bbb02eb6d6e38efaab04c9792a378a2cf7dd2ff7d3"></a><!-- doxytag: member="CS_BUFFER_NORMAL" ref="gg70013f7ff48bca5acf2c00bbb02eb6d6e38efaab04c9792a378a2cf7dd2ff7d3" args="" -->CS_BUFFER_NORMAL</em>&nbsp;</td><td>
Normals. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg70013f7ff48bca5acf2c00bbb02eb6d628fe02aac5a13fe0825ade3463afc9bc"></a><!-- doxytag: member="CS_BUFFER_COLOR" ref="gg70013f7ff48bca5acf2c00bbb02eb6d628fe02aac5a13fe0825ade3463afc9bc" args="" -->CS_BUFFER_COLOR</em>&nbsp;</td><td>
Primary color multiplied with lighting. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg70013f7ff48bca5acf2c00bbb02eb6d656cd4292bf21fa603ab283dd5ed0eabc"></a><!-- doxytag: member="CS_BUFFER_COLOR_UNLIT" ref="gg70013f7ff48bca5acf2c00bbb02eb6d656cd4292bf21fa603ab283dd5ed0eabc" args="" -->CS_BUFFER_COLOR_UNLIT</em>&nbsp;</td><td>
Primary color. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg70013f7ff48bca5acf2c00bbb02eb6d6de143dd54224fa8cad3e609ba13818a1"></a><!-- doxytag: member="CS_BUFFER_TEXCOORD0" ref="gg70013f7ff48bca5acf2c00bbb02eb6d6de143dd54224fa8cad3e609ba13818a1" args="" -->CS_BUFFER_TEXCOORD0</em>&nbsp;</td><td>
Texture coordinate 0. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg70013f7ff48bca5acf2c00bbb02eb6d65757ac940985744be53cdb25332d3f1c"></a><!-- doxytag: member="CS_BUFFER_TEXCOORD1" ref="gg70013f7ff48bca5acf2c00bbb02eb6d65757ac940985744be53cdb25332d3f1c" args="" -->CS_BUFFER_TEXCOORD1</em>&nbsp;</td><td>
Texture coordinate 1. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg70013f7ff48bca5acf2c00bbb02eb6d67c89dc351d2dbf831860a646babf0376"></a><!-- doxytag: member="CS_BUFFER_TEXCOORD2" ref="gg70013f7ff48bca5acf2c00bbb02eb6d67c89dc351d2dbf831860a646babf0376" args="" -->CS_BUFFER_TEXCOORD2</em>&nbsp;</td><td>
Texture coordinate 2. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg70013f7ff48bca5acf2c00bbb02eb6d60aa692cc85d6a8cd245199a786ee7f0e"></a><!-- doxytag: member="CS_BUFFER_TEXCOORD3" ref="gg70013f7ff48bca5acf2c00bbb02eb6d60aa692cc85d6a8cd245199a786ee7f0e" args="" -->CS_BUFFER_TEXCOORD3</em>&nbsp;</td><td>
Texture coordinate 3. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg70013f7ff48bca5acf2c00bbb02eb6d6514b5e788e074dae98f9ca2e16269bf6"></a><!-- doxytag: member="CS_BUFFER_TEXCOORD_LIGHTMAP" ref="gg70013f7ff48bca5acf2c00bbb02eb6d6514b5e788e074dae98f9ca2e16269bf6" args="" -->CS_BUFFER_TEXCOORD_LIGHTMAP</em>&nbsp;</td><td>
Texture coordinates for lightmap. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg70013f7ff48bca5acf2c00bbb02eb6d6dae51ca8f98f3971827e177aa78e9345"></a><!-- doxytag: member="CS_BUFFER_GENERIC0" ref="gg70013f7ff48bca5acf2c00bbb02eb6d6dae51ca8f98f3971827e177aa78e9345" args="" -->CS_BUFFER_GENERIC0</em>&nbsp;</td><td>
Generic buffer 0, can be used for example for matrix-palette skinning etc. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg70013f7ff48bca5acf2c00bbb02eb6d6a33bf88df3a2d9e0f781e415654ff38d"></a><!-- doxytag: member="CS_BUFFER_GENERIC1" ref="gg70013f7ff48bca5acf2c00bbb02eb6d6a33bf88df3a2d9e0f781e415654ff38d" args="" -->CS_BUFFER_GENERIC1</em>&nbsp;</td><td>
Generic buffer 1, can be used for example for matrix-palette skinning etc. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg70013f7ff48bca5acf2c00bbb02eb6d6b9affc94776b3cd6dbad4de70771854b"></a><!-- doxytag: member="CS_BUFFER_GENERIC2" ref="gg70013f7ff48bca5acf2c00bbb02eb6d6b9affc94776b3cd6dbad4de70771854b" args="" -->CS_BUFFER_GENERIC2</em>&nbsp;</td><td>
Generic buffer 2, can be used for example for matrix-palette skinning etc. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg70013f7ff48bca5acf2c00bbb02eb6d6c2189f64e731a8c30af1a99157505181"></a><!-- doxytag: member="CS_BUFFER_GENERIC3" ref="gg70013f7ff48bca5acf2c00bbb02eb6d6c2189f64e731a8c30af1a99157505181" args="" -->CS_BUFFER_GENERIC3</em>&nbsp;</td><td>
Generic buffer 3, can be used for example for matrix-palette skinning etc. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg70013f7ff48bca5acf2c00bbb02eb6d6cbabbcd809b60be7c6b711224b36a506"></a><!-- doxytag: member="CS_BUFFER_TANGENT" ref="gg70013f7ff48bca5acf2c00bbb02eb6d6cbabbcd809b60be7c6b711224b36a506" args="" -->CS_BUFFER_TANGENT</em>&nbsp;</td><td>
Tangents. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg70013f7ff48bca5acf2c00bbb02eb6d6362465dcd0e89c922c75795c2a62fb80"></a><!-- doxytag: member="CS_BUFFER_BINORMAL" ref="gg70013f7ff48bca5acf2c00bbb02eb6d6362465dcd0e89c922c75795c2a62fb80" args="" -->CS_BUFFER_BINORMAL</em>&nbsp;</td><td>
Binormals. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg70013f7ff48bca5acf2c00bbb02eb6d66f222fb98c109c0645d819d905f5ba57"></a><!-- doxytag: member="CS_BUFFER_COUNT" ref="gg70013f7ff48bca5acf2c00bbb02eb6d66f222fb98c109c0645d819d905f5ba57" args="" -->CS_BUFFER_COUNT</em>&nbsp;</td><td>
Not really a renderbuffer. 
<p>
Use to determine the number of available default buffer names. </td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="rndbuf_8h-source.html#l00234">234</a> of file <a class="el" href="rndbuf_8h-source.html">rndbuf.h</a>.</p>

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

<p>
Masks for renderbuffer accessors. 
<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="ggee595b32113dbb3fd91a9aee0193640c7bf4bbb194f315b2853f4583c97919dd"></a><!-- doxytag: member="CS_BUFFER_INDEX_MASK" ref="ggee595b32113dbb3fd91a9aee0193640c7bf4bbb194f315b2853f4583c97919dd" args="" -->CS_BUFFER_INDEX_MASK</em>&nbsp;</td><td>
Index buffer. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggee595b32113dbb3fd91a9aee0193640cdfb81fe24cf97abaf06d6103b24576a5"></a><!-- doxytag: member="CS_BUFFER_POSITION_MASK" ref="ggee595b32113dbb3fd91a9aee0193640cdfb81fe24cf97abaf06d6103b24576a5" args="" -->CS_BUFFER_POSITION_MASK</em>&nbsp;</td><td>
Vertex positions. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggee595b32113dbb3fd91a9aee0193640c661d7d8931f17ba9fb1a6cf21e61339c"></a><!-- doxytag: member="CS_BUFFER_NORMAL_MASK" ref="ggee595b32113dbb3fd91a9aee0193640c661d7d8931f17ba9fb1a6cf21e61339c" args="" -->CS_BUFFER_NORMAL_MASK</em>&nbsp;</td><td>
Normals. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggee595b32113dbb3fd91a9aee0193640c760dc0e4997ca2e4d1141e25bdd62bea"></a><!-- doxytag: member="CS_BUFFER_COLOR_MASK" ref="ggee595b32113dbb3fd91a9aee0193640c760dc0e4997ca2e4d1141e25bdd62bea" args="" -->CS_BUFFER_COLOR_MASK</em>&nbsp;</td><td>
Primary color. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggee595b32113dbb3fd91a9aee0193640c3e9ebe6ee594e96933b27d31432c07ae"></a><!-- doxytag: member="CS_BUFFER_COLOR_LIGHTING_MASK" ref="ggee595b32113dbb3fd91a9aee0193640c3e9ebe6ee594e96933b27d31432c07ae" args="" -->CS_BUFFER_COLOR_LIGHTING_MASK</em>&nbsp;</td><td>
Primary color multiplied with lighting. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggee595b32113dbb3fd91a9aee0193640c51ecfccbe0a0b861a459a3510f036826"></a><!-- doxytag: member="CS_BUFFER_TEXCOORD0_MASK" ref="ggee595b32113dbb3fd91a9aee0193640c51ecfccbe0a0b861a459a3510f036826" args="" -->CS_BUFFER_TEXCOORD0_MASK</em>&nbsp;</td><td>
Texture coordinate 0. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggee595b32113dbb3fd91a9aee0193640c721ec440fb479a28c055e6b8f820499c"></a><!-- doxytag: member="CS_BUFFER_TEXCOORD1_MASK" ref="ggee595b32113dbb3fd91a9aee0193640c721ec440fb479a28c055e6b8f820499c" args="" -->CS_BUFFER_TEXCOORD1_MASK</em>&nbsp;</td><td>
Texture coordinate 1. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggee595b32113dbb3fd91a9aee0193640c6756c8848f8b6f213618f47c0e2ffaed"></a><!-- doxytag: member="CS_BUFFER_TEXCOORD2_MASK" ref="ggee595b32113dbb3fd91a9aee0193640c6756c8848f8b6f213618f47c0e2ffaed" args="" -->CS_BUFFER_TEXCOORD2_MASK</em>&nbsp;</td><td>
Texture coordinate 2. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggee595b32113dbb3fd91a9aee0193640c69214192dbea4d4d9d9504f50fe61900"></a><!-- doxytag: member="CS_BUFFER_TEXCOORD3_MASK" ref="ggee595b32113dbb3fd91a9aee0193640c69214192dbea4d4d9d9504f50fe61900" args="" -->CS_BUFFER_TEXCOORD3_MASK</em>&nbsp;</td><td>
Texture coordinate 3. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggee595b32113dbb3fd91a9aee0193640cbdd0e8f35e8ba0ff4a789c9bbc708dcb"></a><!-- doxytag: member="CS_BUFFER_TEXCOORD_LIGHTMAP_MASK" ref="ggee595b32113dbb3fd91a9aee0193640cbdd0e8f35e8ba0ff4a789c9bbc708dcb" args="" -->CS_BUFFER_TEXCOORD_LIGHTMAP_MASK</em>&nbsp;</td><td>
Texture coordinates for lightmap. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggee595b32113dbb3fd91a9aee0193640c03e1601e0504ff8020c1cade7df46137"></a><!-- doxytag: member="CS_BUFFER_GENERIC0_MASK" ref="ggee595b32113dbb3fd91a9aee0193640c03e1601e0504ff8020c1cade7df46137" args="" -->CS_BUFFER_GENERIC0_MASK</em>&nbsp;</td><td>
Generic buffer 0, can be used for example for matrix-palette skinning etc. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggee595b32113dbb3fd91a9aee0193640c32a662ec2c384fde629d5ceaa1c895ef"></a><!-- doxytag: member="CS_BUFFER_GENERIC1_MASK" ref="ggee595b32113dbb3fd91a9aee0193640c32a662ec2c384fde629d5ceaa1c895ef" args="" -->CS_BUFFER_GENERIC1_MASK</em>&nbsp;</td><td>
Generic buffer 1, can be used for example for matrix-palette skinning etc. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggee595b32113dbb3fd91a9aee0193640c6acb52bbc510582d994a789c9864f35a"></a><!-- doxytag: member="CS_BUFFER_GENERIC2_MASK" ref="ggee595b32113dbb3fd91a9aee0193640c6acb52bbc510582d994a789c9864f35a" args="" -->CS_BUFFER_GENERIC2_MASK</em>&nbsp;</td><td>
Generic buffer 2, can be used for example for matrix-palette skinning etc. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggee595b32113dbb3fd91a9aee0193640c1cc834adbf1827b6ae35ce1a1e99b78c"></a><!-- doxytag: member="CS_BUFFER_GENERIC3_MASK" ref="ggee595b32113dbb3fd91a9aee0193640c1cc834adbf1827b6ae35ce1a1e99b78c" args="" -->CS_BUFFER_GENERIC3_MASK</em>&nbsp;</td><td>
Generic buffer 3, can be used for example for matrix-palette skinning etc. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggee595b32113dbb3fd91a9aee0193640c654bc088755ceb45fea085c01f872f3f"></a><!-- doxytag: member="CS_BUFFER_TANGENT_MASK" ref="ggee595b32113dbb3fd91a9aee0193640c654bc088755ceb45fea085c01f872f3f" args="" -->CS_BUFFER_TANGENT_MASK</em>&nbsp;</td><td>
Tangents. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggee595b32113dbb3fd91a9aee0193640ccccde1e75a788abc7e3cc28197dbf52b"></a><!-- doxytag: member="CS_BUFFER_BINORMAL_MASK" ref="ggee595b32113dbb3fd91a9aee0193640ccccde1e75a788abc7e3cc28197dbf52b" args="" -->CS_BUFFER_BINORMAL_MASK</em>&nbsp;</td><td>
Binormals. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggee595b32113dbb3fd91a9aee0193640c33e2f06a76d9c479cc6408dcec824236"></a><!-- doxytag: member="CS_BUFFER_ALL_MASK" ref="ggee595b32113dbb3fd91a9aee0193640c33e2f06a76d9c479cc6408dcec824236" args="" -->CS_BUFFER_ALL_MASK</em>&nbsp;</td><td>
All buffers. </td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="rndbuf_8h-source.html#l00280">280</a> of file <a class="el" href="rndbuf_8h-source.html">rndbuf.h</a>.</p>

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

<p>
Buffer usage type. 
<p>
Drivers may do some optimizations based on this value. Use a type that most closely matches the intended use. <dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="gge5b18d205d829115e359b43a81a963b49b03161135422ec511917cf00a5daefb"></a><!-- doxytag: member="CS_BUF_DYNAMIC" ref="gge5b18d205d829115e359b43a81a963b49b03161135422ec511917cf00a5daefb" args="" -->CS_BUF_DYNAMIC</em>&nbsp;</td><td>
Data that changes every couple of frames and is drawn repeatedly. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gge5b18d205d829115e359b43a81a963b466d406023eaf1687599a0f32879758e6"></a><!-- doxytag: member="CS_BUF_STATIC" ref="gge5b18d205d829115e359b43a81a963b466d406023eaf1687599a0f32879758e6" args="" -->CS_BUF_STATIC</em>&nbsp;</td><td>
Data that is seldom modified and often drawn. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gge5b18d205d829115e359b43a81a963b47441bff129697a80f150365aac7e1aba"></a><!-- doxytag: member="CS_BUF_STREAM" ref="gge5b18d205d829115e359b43a81a963b47441bff129697a80f150365aac7e1aba" args="" -->CS_BUF_STREAM</em>&nbsp;</td><td>
Data that changes every time it is drawn. </td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="rndbuf_8h-source.html#l00048">48</a> of file <a class="el" href="rndbuf_8h-source.html">rndbuf.h</a>.</p>

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

<p>
Vertex attributes. 
<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="gg3daee560553f3d8fa3894b31cdde006e026fc3aa470e1e44ba930606ab8b3863"></a><!-- doxytag: member="CS_VATTRIB_UNUSED" ref="gg3daee560553f3d8fa3894b31cdde006e026fc3aa470e1e44ba930606ab8b3863" args="" -->CS_VATTRIB_UNUSED</em>&nbsp;</td><td>
An attribute is valid, but unused by a shader program and can be discarded. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006eb1b455ce0b20c060873059d1887542b7"></a><!-- doxytag: member="CS_VATTRIB_INVALID" ref="gg3daee560553f3d8fa3894b31cdde006eb1b455ce0b20c060873059d1887542b7" args="" -->CS_VATTRIB_INVALID</em>&nbsp;</td><td>
Invalid attribute. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006eab619a477422498b90846f39990e195f"></a><!-- doxytag: member="CS_VATTRIB_POSITION" ref="gg3daee560553f3d8fa3894b31cdde006eab619a477422498b90846f39990e195f" args="" -->CS_VATTRIB_POSITION</em>&nbsp;</td><td>
Position vertex attribute. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006e1ead0cdcb9c3be87bd202c4fe4432f0d"></a><!-- doxytag: member="CS_VATTRIB_WEIGHT" ref="gg3daee560553f3d8fa3894b31cdde006e1ead0cdcb9c3be87bd202c4fe4432f0d" args="" -->CS_VATTRIB_WEIGHT</em>&nbsp;</td><td>
Vertex weight attribute. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006ef67f740afa9ebaadd60f64de2f085bf3"></a><!-- doxytag: member="CS_VATTRIB_NORMAL" ref="gg3daee560553f3d8fa3894b31cdde006ef67f740afa9ebaadd60f64de2f085bf3" args="" -->CS_VATTRIB_NORMAL</em>&nbsp;</td><td>
Normal attribute. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006e0ff9ca117d29e284477caad786f3f853"></a><!-- doxytag: member="CS_VATTRIB_COLOR" ref="gg3daee560553f3d8fa3894b31cdde006e0ff9ca117d29e284477caad786f3f853" args="" -->CS_VATTRIB_COLOR</em>&nbsp;</td><td>
Primary color attribute. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006e5a6485e98c14a4bf228699e74e7a48b7"></a><!-- doxytag: member="CS_VATTRIB_PRIMARY_COLOR" ref="gg3daee560553f3d8fa3894b31cdde006e5a6485e98c14a4bf228699e74e7a48b7" args="" -->CS_VATTRIB_PRIMARY_COLOR</em>&nbsp;</td><td>
Primary color attribute. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006e958512dff8ec2755b7d237a1ade41cd3"></a><!-- doxytag: member="CS_VATTRIB_SECONDARY_COLOR" ref="gg3daee560553f3d8fa3894b31cdde006e958512dff8ec2755b7d237a1ade41cd3" args="" -->CS_VATTRIB_SECONDARY_COLOR</em>&nbsp;</td><td>
Secondary color attribute. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006e1e369f7d01ce96085fb0edf9d01a82a7"></a><!-- doxytag: member="CS_VATTRIB_FOGCOORD" ref="gg3daee560553f3d8fa3894b31cdde006e1e369f7d01ce96085fb0edf9d01a82a7" args="" -->CS_VATTRIB_FOGCOORD</em>&nbsp;</td><td>
Fog coordinate attribute. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006e7e4568e58dba4297cf9a3b821a58f629"></a><!-- doxytag: member="CS_VATTRIB_TEXCOORD" ref="gg3daee560553f3d8fa3894b31cdde006e7e4568e58dba4297cf9a3b821a58f629" args="" -->CS_VATTRIB_TEXCOORD</em>&nbsp;</td><td>
TU 0 texture coordinates. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006e0d0f41cbd64b186995780ad9e3ed47d2"></a><!-- doxytag: member="CS_VATTRIB_TEXCOORD0" ref="gg3daee560553f3d8fa3894b31cdde006e0d0f41cbd64b186995780ad9e3ed47d2" args="" -->CS_VATTRIB_TEXCOORD0</em>&nbsp;</td><td>
TU 0 texture coordinates. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006eef6b4ebfb4995018e69ec67a76a6bb4c"></a><!-- doxytag: member="CS_VATTRIB_TEXCOORD1" ref="gg3daee560553f3d8fa3894b31cdde006eef6b4ebfb4995018e69ec67a76a6bb4c" args="" -->CS_VATTRIB_TEXCOORD1</em>&nbsp;</td><td>
TU 1 texture coordinates. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006e10fcf346863dfcfe6dbc6a660dd19543"></a><!-- doxytag: member="CS_VATTRIB_TEXCOORD2" ref="gg3daee560553f3d8fa3894b31cdde006e10fcf346863dfcfe6dbc6a660dd19543" args="" -->CS_VATTRIB_TEXCOORD2</em>&nbsp;</td><td>
TU 2 texture coordinates. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006e01f3d12e1d39880330c58b0f842ff8f2"></a><!-- doxytag: member="CS_VATTRIB_TEXCOORD3" ref="gg3daee560553f3d8fa3894b31cdde006e01f3d12e1d39880330c58b0f842ff8f2" args="" -->CS_VATTRIB_TEXCOORD3</em>&nbsp;</td><td>
TU 3 texture coordinates. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006e370b8c1678a53011c2436668acdd5fe4"></a><!-- doxytag: member="CS_VATTRIB_TEXCOORD4" ref="gg3daee560553f3d8fa3894b31cdde006e370b8c1678a53011c2436668acdd5fe4" args="" -->CS_VATTRIB_TEXCOORD4</em>&nbsp;</td><td>
TU 4 texture coordinates. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006e6abe7aff3889a168eb52a8baf718d76e"></a><!-- doxytag: member="CS_VATTRIB_TEXCOORD5" ref="gg3daee560553f3d8fa3894b31cdde006e6abe7aff3889a168eb52a8baf718d76e" args="" -->CS_VATTRIB_TEXCOORD5</em>&nbsp;</td><td>
TU 5 texture coordinates. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006e760327dc8cce5560113aae0db0c4921e"></a><!-- doxytag: member="CS_VATTRIB_TEXCOORD6" ref="gg3daee560553f3d8fa3894b31cdde006e760327dc8cce5560113aae0db0c4921e" args="" -->CS_VATTRIB_TEXCOORD6</em>&nbsp;</td><td>
TU 6 texture coordinates. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006e7552f3c9b1c946238118354e1e9bf3df"></a><!-- doxytag: member="CS_VATTRIB_TEXCOORD7" ref="gg3daee560553f3d8fa3894b31cdde006e7552f3c9b1c946238118354e1e9bf3df" args="" -->CS_VATTRIB_TEXCOORD7</em>&nbsp;</td><td>
TU 7 texture coordinates. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006ea9bf86e14cb193f29fb5052f419066d6"></a><!-- doxytag: member="CS_VATTRIB_0" ref="gg3daee560553f3d8fa3894b31cdde006ea9bf86e14cb193f29fb5052f419066d6" args="" -->CS_VATTRIB_0</em>&nbsp;</td><td>
General vertex attribute. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006e168a67b5a657b5df0bb346ba35ee972e"></a><!-- doxytag: member="CS_VATTRIB_1" ref="gg3daee560553f3d8fa3894b31cdde006e168a67b5a657b5df0bb346ba35ee972e" args="" -->CS_VATTRIB_1</em>&nbsp;</td><td>
General vertex attribute. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006e7bb4528724921e6482bce7c38e5956b6"></a><!-- doxytag: member="CS_VATTRIB_2" ref="gg3daee560553f3d8fa3894b31cdde006e7bb4528724921e6482bce7c38e5956b6" args="" -->CS_VATTRIB_2</em>&nbsp;</td><td>
General vertex attribute. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006e2a9989bc0d1aa920a7f32e7b633ebd49"></a><!-- doxytag: member="CS_VATTRIB_3" ref="gg3daee560553f3d8fa3894b31cdde006e2a9989bc0d1aa920a7f32e7b633ebd49" args="" -->CS_VATTRIB_3</em>&nbsp;</td><td>
General vertex attribute. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006ec69d8c525e5b229efb3ee07a350ad44a"></a><!-- doxytag: member="CS_VATTRIB_4" ref="gg3daee560553f3d8fa3894b31cdde006ec69d8c525e5b229efb3ee07a350ad44a" args="" -->CS_VATTRIB_4</em>&nbsp;</td><td>
General vertex attribute. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006e3987e42dea1cc0b527e4e97897f4c0cc"></a><!-- doxytag: member="CS_VATTRIB_5" ref="gg3daee560553f3d8fa3894b31cdde006e3987e42dea1cc0b527e4e97897f4c0cc" args="" -->CS_VATTRIB_5</em>&nbsp;</td><td>
General vertex attribute. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006e812ecc39e5c698565ebc2c3c523087e5"></a><!-- doxytag: member="CS_VATTRIB_6" ref="gg3daee560553f3d8fa3894b31cdde006e812ecc39e5c698565ebc2c3c523087e5" args="" -->CS_VATTRIB_6</em>&nbsp;</td><td>
General vertex attribute. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006e8185f2e8c5862324360790c0be8ab753"></a><!-- doxytag: member="CS_VATTRIB_7" ref="gg3daee560553f3d8fa3894b31cdde006e8185f2e8c5862324360790c0be8ab753" args="" -->CS_VATTRIB_7</em>&nbsp;</td><td>
General vertex attribute. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006ecf05f5abcbaa8cb742d93dca1c3f25f8"></a><!-- doxytag: member="CS_VATTRIB_8" ref="gg3daee560553f3d8fa3894b31cdde006ecf05f5abcbaa8cb742d93dca1c3f25f8" args="" -->CS_VATTRIB_8</em>&nbsp;</td><td>
General vertex attribute. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006ebd611a3a7aefef1a6e8dfe409d88e89b"></a><!-- doxytag: member="CS_VATTRIB_9" ref="gg3daee560553f3d8fa3894b31cdde006ebd611a3a7aefef1a6e8dfe409d88e89b" args="" -->CS_VATTRIB_9</em>&nbsp;</td><td>
General vertex attribute. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006eca055527ef42fd3e482c03ae696b1761"></a><!-- doxytag: member="CS_VATTRIB_10" ref="gg3daee560553f3d8fa3894b31cdde006eca055527ef42fd3e482c03ae696b1761" args="" -->CS_VATTRIB_10</em>&nbsp;</td><td>
General vertex attribute. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006eb676dc64e1d2d336a124bf3e2c194b55"></a><!-- doxytag: member="CS_VATTRIB_11" ref="gg3daee560553f3d8fa3894b31cdde006eb676dc64e1d2d336a124bf3e2c194b55" args="" -->CS_VATTRIB_11</em>&nbsp;</td><td>
General vertex attribute. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006ebd296d6c3ae879230f999cbf8da8b236"></a><!-- doxytag: member="CS_VATTRIB_12" ref="gg3daee560553f3d8fa3894b31cdde006ebd296d6c3ae879230f999cbf8da8b236" args="" -->CS_VATTRIB_12</em>&nbsp;</td><td>
General vertex attribute. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006e7848f6e6504120d1a1c4fced6d78e9b7"></a><!-- doxytag: member="CS_VATTRIB_13" ref="gg3daee560553f3d8fa3894b31cdde006e7848f6e6504120d1a1c4fced6d78e9b7" args="" -->CS_VATTRIB_13</em>&nbsp;</td><td>
General vertex attribute. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006ec63255a8d7842935e9deda1b5126c229"></a><!-- doxytag: member="CS_VATTRIB_14" ref="gg3daee560553f3d8fa3894b31cdde006ec63255a8d7842935e9deda1b5126c229" args="" -->CS_VATTRIB_14</em>&nbsp;</td><td>
General vertex attribute. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3daee560553f3d8fa3894b31cdde006ec2f16d599bef49beb42fbddd99b54cca"></a><!-- doxytag: member="CS_VATTRIB_15" ref="gg3daee560553f3d8fa3894b31cdde006ec2f16d599bef49beb42fbddd99b54cca" args="" -->CS_VATTRIB_15</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>

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

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

<p>
Z-buffer modes. 
<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="gg79fdaed7abd7a72af33d0f0c5dc9905567cd6d13a1e237117f19f7ec2b39d18f"></a><!-- doxytag: member="CS_ZBUF_NONE" ref="gg79fdaed7abd7a72af33d0f0c5dc9905567cd6d13a1e237117f19f7ec2b39d18f" args="" -->CS_ZBUF_NONE</em>&nbsp;</td><td>
Don't test or write. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg79fdaed7abd7a72af33d0f0c5dc9905563a97a0f7626f1d6bc1a957671cc5db5"></a><!-- doxytag: member="CS_ZBUF_FILL" ref="gg79fdaed7abd7a72af33d0f0c5dc9905563a97a0f7626f1d6bc1a957671cc5db5" args="" -->CS_ZBUF_FILL</em>&nbsp;</td><td>
Write unconditionally. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg79fdaed7abd7a72af33d0f0c5dc99055c148abe1ca758f0f4371f4b03206477a"></a><!-- doxytag: member="CS_ZBUF_TEST" ref="gg79fdaed7abd7a72af33d0f0c5dc99055c148abe1ca758f0f4371f4b03206477a" args="" -->CS_ZBUF_TEST</em>&nbsp;</td><td>
Test only. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg79fdaed7abd7a72af33d0f0c5dc99055a3ec275ebf4843e1254ebd30019b2802"></a><!-- doxytag: member="CS_ZBUF_USE" ref="gg79fdaed7abd7a72af33d0f0c5dc99055a3ec275ebf4843e1254ebd30019b2802" args="" -->CS_ZBUF_USE</em>&nbsp;</td><td>
Test, write if successful. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg79fdaed7abd7a72af33d0f0c5dc9905598140ae58f6601b4ad323a5a93580808"></a><!-- doxytag: member="CS_ZBUF_EQUAL" ref="gg79fdaed7abd7a72af33d0f0c5dc9905598140ae58f6601b4ad323a5a93580808" args="" -->CS_ZBUF_EQUAL</em>&nbsp;</td><td>
Test if equal. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg79fdaed7abd7a72af33d0f0c5dc99055c68b085c072e36facd72b574b334c70f"></a><!-- doxytag: member="CS_ZBUF_INVERT" ref="gg79fdaed7abd7a72af33d0f0c5dc99055c68b085c072e36facd72b574b334c70f" args="" -->CS_ZBUF_INVERT</em>&nbsp;</td><td>
Inverted test. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg79fdaed7abd7a72af33d0f0c5dc990557dbbff2560756ee934aae61ae0124aa1"></a><!-- doxytag: member="CS_ZBUF_MESH" ref="gg79fdaed7abd7a72af33d0f0c5dc990557dbbff2560756ee934aae61ae0124aa1" args="" -->CS_ZBUF_MESH</em>&nbsp;</td><td>
Use the z mode of the render mesh (NOTE: NOT VALID AS MESH ZMODE). </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg79fdaed7abd7a72af33d0f0c5dc99055dbcfaa0df9ba70a214fd05d014949564"></a><!-- doxytag: member="CS_ZBUF_MESH2" ref="gg79fdaed7abd7a72af33d0f0c5dc99055dbcfaa0df9ba70a214fd05d014949564" args="" -->CS_ZBUF_MESH2</em>&nbsp;</td><td>
Use a "pass 2" z mode depending on the render mesh zmode. 
<p>
The mesh zmode is used a to choose a zmode that makes sure only pixels that are changed by the mesh zmode can be touched, e.g. if the mesh has a zmode of "zuse", zmesh2 will resolve to "ztest". This is useful for multi- pass stuff. (NOTE: NOT VALID AS MESH ZMODE) </td></tr>
</table>
</dl>

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

</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="g3a4849e49042f80f6ea3e4514828365b"></a><!-- doxytag: member="CS::StructuredTextureFormat::AddComponent" ref="g3a4849e49042f80f6ea3e4514828365b" args="(char cmp, int size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool CS::StructuredTextureFormat::AddComponent           </td>
          <td>(</td>
          <td class="paramtype">char&nbsp;</td>
          <td class="paramname"> <em>cmp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a new component to the texture format. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>cmp</em>&nbsp;</td><td>One of the 'Component types' listed in <a class="el" href="group__gfx3d.html#tfs_g_comptypes">Component types</a>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>Size of that component. Can be 0, but then it will have to be set later using <a class="el" href="group__gfx3d.html#g8ca24f1bb0f8f6badd99d9160568b666" title="Fix the unset sizes (i.e.">FixSizes()</a>. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Whether the component could be added or not. </dd></dl>

</div>
</div><p>
<a class="anchor" name="ge799b7a4cbbd4c35fce20e32789d8c79"></a><!-- doxytag: member="CS::TextureFormatStrings::ConvertStructured" ref="ge799b7a4cbbd4c35fce20e32789d8c79" args="(const char *in)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static StructuredTextureFormat CS::TextureFormatStrings::ConvertStructured           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>in</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [static, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert a (canonical of not) texture format to a structured form. 
<p>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__gfx3d.html">Texture format strings</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="g8ca24f1bb0f8f6badd99d9160568b666"></a><!-- doxytag: member="CS::StructuredTextureFormat::FixSizes" ref="g8ca24f1bb0f8f6badd99d9160568b666" args="(int size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CS::StructuredTextureFormat::FixSizes           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>size</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Fix the unset sizes (i.e. 
<p>
0 sizes) so that they are filled with the given size. 
</div>
</div><p>
<a class="anchor" name="gb5756f68c1ccccee3a3d551575e28e7c"></a><!-- doxytag: member="CS::StructuredTextureFormat::GetCanonical" ref="gb5756f68c1ccccee3a3d551575e28e7c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsString.html">csString</a> CS::StructuredTextureFormat::GetCanonical           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert this structured format to canonical format. 
<p>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__gfx3d.html#tfs_g_canonical">Canonical Format</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="g700c6dc9764062fb1f9dcbe3edc48a91"></a><!-- doxytag: member="CS::StructuredTextureFormat::GetComponent" ref="g700c6dc9764062fb1f9dcbe3edc48a91" args="(int n) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char CS::StructuredTextureFormat::GetComponent           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>n</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the nth component. 
<p>
Returns 0 if there is no such component. 
<p>Definition at line <a class="el" href="textureformatstrings_8h-source.html#l00218">218</a> of file <a class="el" href="textureformatstrings_8h-source.html">textureformatstrings.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="gafbee0cf93ce2db3bf03bedec1234a45"></a><!-- doxytag: member="CS::StructuredTextureFormat::GetComponentCount" ref="gafbee0cf93ce2db3bf03bedec1234a45" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int CS::StructuredTextureFormat::GetComponentCount           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the number of components in this format. 
<p>
Returns 0 for special or invalid formats. 
<p>Definition at line <a class="el" href="textureformatstrings_8h-source.html#l00202">202</a> of file <a class="el" href="textureformatstrings_8h-source.html">textureformatstrings.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="g3df28ac452bc6c38aa10a8e27fa2a095"></a><!-- doxytag: member="CS::StructuredTextureFormat::GetComponentMask" ref="g3df28ac452bc6c38aa10a8e27fa2a095" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> CS::StructuredTextureFormat::GetComponentMask           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return a bit mask that identifies the contained components, regardless of their order. 
<p>
This can be used to "classify" a texture format. The bit flags are <a class="el" href="group__gfx3d.html#ggbd3a73e27ee5d24e0660e5d6e02e8fa3ea1b0373f6ce3921dac7abdbffb66d15" title="&#39;r&#39; component">compR</a>, <a class="el" href="group__gfx3d.html#ggbd3a73e27ee5d24e0660e5d6e02e8fa307463652e50be8ca18caf7c4a43a0801" title="&#39;g&#39; component">compG</a> etc.<p>
Example: Testing whether a format is an RGB format: <div class="fragment"><pre class="fragment"> <span class="keyword">const</span> <span class="keywordtype">char</span>* formatString = <span class="stringliteral">"rgb8"</span>;
 <a class="code" href="classCS_1_1StructuredTextureFormat.html" title="Structured representation of a texture format.">CS::StructuredTextureFormat</a> format = 
   <a class="code" href="group__gfx3d.html#ge799b7a4cbbd4c35fce20e32789d8c79" title="Convert a (canonical of not) texture format to a structured form.">CS::TextureFormatStrings::ConvertStructured</a> (formatString);
 <span class="comment">// Succeeds</span>
 <span class="keywordflow">if</span> (format.<a class="code" href="group__gfx3d.html#g3df28ac452bc6c38aa10a8e27fa2a095" title="Return a bit mask that identifies the contained components, regardless of their order...">GetComponentMask</a>() == <a class="code" href="group__gfx3d.html#ggbd3a73e27ee5d24e0660e5d6e02e8fa31bf979e7bc1b944d62e6ab52b6587dff" title="&amp;#39;r&amp;#39;, &amp;#39;g&amp;#39; and &amp;#39;b&amp;#39; components">CS::StructuredTextureFormat::compRGB</a>)
 { ... }
 <span class="comment">// Would also succeed for formatString = "bgr8", or even wierd formats like </span>
 <span class="comment">// "gbr4", and more</span>
</pre></div> 
</div>
</div><p>
<a class="anchor" name="gcd7b230be7bbc93f02906449b29b33ed"></a><!-- doxytag: member="CS::StructuredTextureFormat::GetComponentSize" ref="gcd7b230be7bbc93f02906449b29b33ed" args="(int n) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char CS::StructuredTextureFormat::GetComponentSize           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>n</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get size of the nth component. 
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>If there is no such component 0 is returned. However, this return value does <em>not</em> imply that a component doesn not exist, as 0-sized components can be added by <a class="el" href="group__gfx3d.html#g3a4849e49042f80f6ea3e4514828365b" title="Add a new component to the texture format.">AddComponent()</a>. Only the return values of <a class="el" href="group__gfx3d.html#g700c6dc9764062fb1f9dcbe3edc48a91" title="Get the nth component.">GetComponent()</a> and <a class="el" href="group__gfx3d.html#gafbee0cf93ce2db3bf03bedec1234a45" title="Returns the number of components in this format.">GetComponentCount()</a> can be used for existance checkes. </dd></dl>

<p>Definition at line <a class="el" href="textureformatstrings_8h-source.html#l00233">233</a> of file <a class="el" href="textureformatstrings_8h-source.html">textureformatstrings.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="gf4ed0e98cb9174d6246702821df394a3"></a><!-- doxytag: member="CS::StructuredTextureFormat::GetFormat" ref="gf4ed0e98cb9174d6246702821df394a3" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">TextureFormat CS::StructuredTextureFormat::GetFormat           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the basic storage type for this texture format. 
<p>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__gfx3d.html#tfs_g_format">Format</a> </dd></dl>

<p>Definition at line <a class="el" href="textureformatstrings_8h-source.html#l00244">244</a> of file <a class="el" href="textureformatstrings_8h-source.html">textureformatstrings.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="gde7c7e0c3ea489ed69ad255a4f68860c"></a><!-- doxytag: member="CS::StructuredTextureFormat::GetSpecial" ref="gde7c7e0c3ea489ed69ad255a4f68860c" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* CS::StructuredTextureFormat::GetSpecial           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the special format string. 
<p>

<p>Definition at line <a class="el" href="textureformatstrings_8h-source.html#l00247">247</a> of file <a class="el" href="textureformatstrings_8h-source.html">textureformatstrings.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="gedd846f03d09cefa720125baff26afc6"></a><!-- doxytag: member="CS::StructuredTextureFormat::IsValid" ref="gedd846f03d09cefa720125baff26afc6" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool CS::StructuredTextureFormat::IsValid           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns whether the contained format is a valid texture format. 
<p>

<p>Definition at line <a class="el" href="textureformatstrings_8h-source.html#l00196">196</a> of file <a class="el" href="textureformatstrings_8h-source.html">textureformatstrings.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="g3216bc440155a8184ccc58dd9c9184d5"></a><!-- doxytag: member="CS::StructuredTextureFormat::SetFormat" ref="g3216bc440155a8184ccc58dd9c9184d5" args="(TextureFormat format)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CS::StructuredTextureFormat::SetFormat           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCS_1_1StructuredTextureFormat.html#17f3afd26284c433bb799bbbbff7e769">TextureFormat</a>&nbsp;</td>
          <td class="paramname"> <em>format</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the format. 
<p>

<p>Definition at line <a class="el" href="textureformatstrings_8h-source.html#l00171">171</a> of file <a class="el" href="textureformatstrings_8h-source.html">textureformatstrings.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="g741f1a2c56d95d26133c8d78bc60b30d"></a><!-- doxytag: member="CS::StructuredTextureFormat::SetSpecial" ref="g741f1a2c56d95d26133c8d78bc60b30d" args="(const char *special)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CS::StructuredTextureFormat::SetSpecial           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>special</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A special format (like '*dxt1'). 
<p>

<p>Definition at line <a class="el" href="textureformatstrings_8h-source.html#l00153">153</a> of file <a class="el" href="textureformatstrings_8h-source.html">textureformatstrings.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="g53502acc0131350ff7f190b84852ca1a"></a><!-- doxytag: member="CS::StructuredTextureFormat::StructuredTextureFormat" ref="g53502acc0131350ff7f190b84852ca1a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CS::StructuredTextureFormat::StructuredTextureFormat           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Construct an invalid texture format. 
<p>

</div>
</div><p>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="g542a5dba96bc9616b5857070afe19ef0"></a><!-- doxytag: member="rndbuf.h::csRenderBufferComponentSizes" ref="g542a5dba96bc9616b5857070afe19ef0" args="[CS_BUFCOMP_TYPECOUNT]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const size_t <a class="el" href="group__gfx3d.html#g542a5dba96bc9616b5857070afe19ef0">csRenderBufferComponentSizes</a>[CS_BUFCOMP_TYPECOUNT]<code> [static]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Initial value:</b><div class="fragment"><pre class="fragment"> 
{
  <span class="keyword">sizeof</span> (char), <span class="keyword">sizeof</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>), 
  <span class="keyword">sizeof</span> (short), <span class="keyword">sizeof</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span>),
  <span class="keyword">sizeof</span> (<a class="code" href="namespaceCS_1_1Threading_1_1Implementation.html#1cd8696cadd16a7d377658879ff61f7a">int</a>), <span class="keyword">sizeof</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>),
  <span class="keyword">sizeof</span> (float),
  <span class="keyword">sizeof</span> (<span class="keywordtype">double</span>)
}
</pre></div>Sizes of individual buffer components in bytes. 
<p>

<p>Definition at line <a class="el" href="rndbuf_8h-source.html#l00107">107</a> of file <a class="el" href="rndbuf_8h-source.html">rndbuf.h</a>.</p>

<p>Referenced by <a class="el" href="renderbuffer_8h-source.html#l00110">csRenderBuffer::GetElementDistance()</a>, and <a class="el" href="trianglestream_8h-source.html#l00207">CS::TriangleIndicesStream&lt; T &gt;::Next()</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>