Sophie

Sophie

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

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Crystal Space 1.2.1: ivideo/graph3d.h Source File (Crystal Space 1.2.1 Public API Reference)</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="head">
 <tr height="59">
  <td class="head" width="202" valign="bottom" style="padding-left:0;"><a href="http://www.crystalspace3d.org/"><img src="csblur.png" width="236" height="59" alt="CrystalSpace" border="0"></a></td>
  <td class="head"><h2>Public API Reference</h2></td>
 </tr>
 <tr height="11">
  <td colspan="2" class="headshadow" valign="top" style="padding-left:0;"><img src="csblurb.png" width="236" height="11" alt="" border="0"></td>
 </tr>
</table>
<div class="content">
<!-- Generated by Doxygen 1.5.3 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li><a href="classes.html"><span>Classes</span></a></li>
    <li class="current"><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul>
</div>
<h1>ivideo/graph3d.h</h1><a href="graph3d_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">    Copyright (C) 1998-2001 by Jorrit Tyberghein</span>
<a name="l00003"></a>00003 <span class="comment">                       2004 by Marten Svanfeldt</span>
<a name="l00004"></a>00004 <span class="comment">    Written by Jorrit Tyberghein, Dan Ogles, and Gary Clark.</span>
<a name="l00005"></a>00005 <span class="comment"></span>
<a name="l00006"></a>00006 <span class="comment">    This library is free software; you can redistribute it and/or</span>
<a name="l00007"></a>00007 <span class="comment">    modify it under the terms of the GNU Library General Public</span>
<a name="l00008"></a>00008 <span class="comment">    License as published by the Free Software Foundation; either</span>
<a name="l00009"></a>00009 <span class="comment">    version 2 of the License, or (at your option) any later version.</span>
<a name="l00010"></a>00010 <span class="comment"></span>
<a name="l00011"></a>00011 <span class="comment">    This library is distributed in the hope that it will be useful,</span>
<a name="l00012"></a>00012 <span class="comment">    but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="l00013"></a>00013 <span class="comment">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</span>
<a name="l00014"></a>00014 <span class="comment">    Library General Public License for more details.</span>
<a name="l00015"></a>00015 <span class="comment"></span>
<a name="l00016"></a>00016 <span class="comment">    You should have received a copy of the GNU Library General Public</span>
<a name="l00017"></a>00017 <span class="comment">    License along with this library; if not, write to the Free</span>
<a name="l00018"></a>00018 <span class="comment">    Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.</span>
<a name="l00019"></a>00019 <span class="comment">*/</span>
<a name="l00020"></a>00020 
<a name="l00021"></a>00021 <span class="preprocessor">#ifndef __CS_IVIDEO_GRAPH3D_H__</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#define __CS_IVIDEO_GRAPH3D_H__</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span>
<a name="l00032"></a>00032 <span class="preprocessor">#include "<a class="code" href="scf_8h.html" title="Crystal Space Shared Class Facility (SCF).">csutil/scf.h</a>"</span>
<a name="l00033"></a>00033 
<a name="l00034"></a>00034 <span class="preprocessor">#include "<a class="code" href="transfrm_8h.html" title="Transformation from one coordinate system to another.">csgeom/transfrm.h</a>"</span>
<a name="l00035"></a>00035 <span class="preprocessor">#include "<a class="code" href="flags_8h.html" title="Set of flags.">csutil/flags.h</a>"</span>
<a name="l00036"></a>00036 <span class="preprocessor">#include "<a class="code" href="csutil_2strset_8h.html" title="String-to-ID hash table.">csutil/strset.h</a>"</span>
<a name="l00037"></a>00037 
<a name="l00038"></a>00038 <span class="preprocessor">#include "<a class="code" href="rndbuf_8h.html" title="Render buffer interface.">ivideo/rndbuf.h</a>"</span>
<a name="l00039"></a>00039 
<a name="l00040"></a>00040 <span class="keyword">struct </span><a class="code" href="structiClipper2D.html" title="This interfaces represents a 2D clipper for polygons.">iClipper2D</a>;
<a name="l00041"></a>00041 <span class="keyword">struct </span><a class="code" href="structiGraphics2D.html" title="This is the interface for 2D renderer.">iGraphics2D</a>;
<a name="l00042"></a>00042 <span class="keyword">struct </span><a class="code" href="structiHalo.html" title="iHalo: used to render halos (aka &amp;quot;light globes&amp;quot;).">iHalo</a>;
<a name="l00043"></a>00043 <span class="keyword">struct </span><a class="code" href="structiRenderBuffer.html" title="This is a general buffer.">iRenderBuffer</a>;
<a name="l00044"></a>00044 <span class="keyword">struct </span><a class="code" href="structiRendererLightmap.html" title="A lightmap registered with a renderer.">iRendererLightmap</a>;
<a name="l00045"></a>00045 <span class="keyword">struct </span><a class="code" href="structiShader.html" title="Specific shader.">iShader</a>;
<a name="l00046"></a>00046 <span class="keyword">struct </span><a class="code" href="structiShaderVariableContext.html" title="This is a baseclass for all interfaces which provides shadervariables both dynamically...">iShaderVariableContext</a>;
<a name="l00047"></a>00047 <span class="keyword">struct </span><a class="code" href="structiShaderVarStack.html">iShaderVarStack</a>;
<a name="l00048"></a>00048 <span class="keyword">struct </span><a class="code" href="structiTextureHandle.html" title="A texture handle as returned by iTextureManager.">iTextureHandle</a>;
<a name="l00049"></a>00049 <span class="keyword">struct </span><a class="code" href="structiTextureManager.html" title="This is the standard texture manager interface.">iTextureManager</a>;
<a name="l00050"></a>00050 
<a name="l00051"></a>00051 <span class="keyword">class </span><a class="code" href="classcsRect.html" title="Rectangle class: simple class for manipulating 2D rectangles.">csRect</a>;
<a name="l00052"></a>00052 <span class="keyword">class </span><a class="code" href="classcsPlane3.html" title="A plane in 3D space.">csPlane3</a>;
<a name="l00053"></a>00053 <span class="keyword">class </span><a class="code" href="classcsShaderVariable.html" title="Storage class for &amp;quot;shader vars&amp;quot;, inheritable variables in the shader system...">csShaderVariable</a>;
<a name="l00054"></a>00054 <span class="keyword">class </span><a class="code" href="classcsVector2.html" title="A 2D vector.">csVector2</a>;
<a name="l00055"></a>00055 <span class="keyword">class </span><a class="code" href="classcsVector3.html" title="A 3D vector.">csVector3</a>;
<a name="l00056"></a>00056 <span class="keyword">class </span><a class="code" href="classcsVector4.html" title="A 4D vector with &amp;quot;float&amp;quot; components.">csVector4</a>;
<a name="l00057"></a>00057 
<a name="l00058"></a>00058 
<a name="l00059"></a>00059 <span class="keyword">struct </span><a class="code" href="structcsCoreRenderMesh.html" title="Data required by the renderer to draw a mesh.">csCoreRenderMesh</a>;
<a name="l00060"></a>00060 <span class="keyword">struct </span><a class="code" href="structcsRenderMeshModes.html" title="Mesh render mode information.">csRenderMeshModes</a>;
<a name="l00061"></a>00061 <span class="keyword">class </span><a class="code" href="classcsRenderBufferHolder.html" title="Holder of standard renderbuffers.">csRenderBufferHolder</a>;
<a name="l00062"></a>00062 
<a name="l00063"></a>00063 
<a name="l00066"></a>00066 
<a name="l00067"></a><a class="code" href="group__gfx3d.html#g47b590113bd65530bbf7eaf899a7cccc">00067</a> <span class="preprocessor">#define CSDRAW_2DGRAPHICS   0x00000001</span>
<a name="l00069"></a><a class="code" href="group__gfx3d.html#g0e278a65bce73be55547a726dacea45b">00069</a> <span class="preprocessor">#define CSDRAW_3DGRAPHICS   0x00000002</span>
<a name="l00071"></a><a class="code" href="group__gfx3d.html#ge0c2e7ed59b255514bf0c08308383a2b">00071</a> <span class="preprocessor">#define CSDRAW_CLEARZBUFFER 0x00000010</span>
<a name="l00073"></a><a class="code" href="group__gfx3d.html#gcfd8b9e6c472495b63cbe5a48a5a6275">00073</a> <span class="preprocessor">#define CSDRAW_CLEARSCREEN  0x00000020</span>
<a name="l00074"></a>00074 <span class="preprocessor"></span>
<a name="l00081"></a><a class="code" href="group__gfx3d.html#gf8e6612dd833ab4914ab4a7a1608e363">00081</a> <span class="preprocessor">#define CS_CLIPPER_NONE -1</span>
<a name="l00082"></a>00082 <span class="preprocessor"></span>
<a name="l00085"></a><a class="code" href="group__gfx3d.html#gb4d7dbe53c5c4fc71ab7871c233bae9f">00085</a> <span class="preprocessor">#define CS_CLIPPER_OPTIONAL 0</span>
<a name="l00086"></a>00086 <span class="preprocessor"></span>
<a name="l00089"></a><a class="code" href="group__gfx3d.html#g40e00c647036b433b16268a0cc3149c3">00089</a> <span class="preprocessor">#define CS_CLIPPER_TOPLEVEL 1</span>
<a name="l00090"></a>00090 <span class="preprocessor"></span>
<a name="l00093"></a><a class="code" href="group__gfx3d.html#gaa52708cea2dcea900681b7643c3aff5">00093</a> <span class="preprocessor">#define CS_CLIPPER_REQUIRED 2</span>
<a name="l00094"></a>00094 <span class="preprocessor"></span>
<a name="l00102"></a><a class="code" href="group__gfx3d.html#ge0c49e6b4ff330f8920a64c13acb9c5d">00102</a> <span class="preprocessor">#define CS_CLIP_NOT 0</span>
<a name="l00103"></a>00103 <span class="preprocessor"></span>
<a name="l00108"></a><a class="code" href="group__gfx3d.html#g568a33e28806ce566e8446420bcb3bd3">00108</a> <span class="preprocessor">#define CS_CLIP_NEEDED 1</span>
<a name="l00109"></a>00109 <span class="preprocessor"></span>
<a name="l00111"></a>00111 
<a name="l00112"></a><a class="code" href="group__gfx3d.html#g79fdaed7abd7a72af33d0f0c5dc99055">00112</a> <span class="keyword">enum</span> <a class="code" href="group__gfx3d.html#g79fdaed7abd7a72af33d0f0c5dc99055" title="Z-buffer modes.">csZBufMode</a>
<a name="l00113"></a>00113 {
<a name="l00115"></a><a class="code" href="group__gfx3d.html#gg79fdaed7abd7a72af33d0f0c5dc9905567cd6d13a1e237117f19f7ec2b39d18f">00115</a>   <a class="code" href="group__gfx3d.html#gg79fdaed7abd7a72af33d0f0c5dc9905567cd6d13a1e237117f19f7ec2b39d18f" title="Don&amp;#39;t test or write.">CS_ZBUF_NONE</a>     = 0x00000000,
<a name="l00117"></a><a class="code" href="group__gfx3d.html#gg79fdaed7abd7a72af33d0f0c5dc9905563a97a0f7626f1d6bc1a957671cc5db5">00117</a>   <a class="code" href="group__gfx3d.html#gg79fdaed7abd7a72af33d0f0c5dc9905563a97a0f7626f1d6bc1a957671cc5db5" title="Write unconditionally.">CS_ZBUF_FILL</a>     = 0x00000001,
<a name="l00119"></a><a class="code" href="group__gfx3d.html#gg79fdaed7abd7a72af33d0f0c5dc99055c148abe1ca758f0f4371f4b03206477a">00119</a>   <a class="code" href="group__gfx3d.html#gg79fdaed7abd7a72af33d0f0c5dc99055c148abe1ca758f0f4371f4b03206477a" title="Test only.">CS_ZBUF_TEST</a>     = 0x00000002,
<a name="l00121"></a><a class="code" href="group__gfx3d.html#gg79fdaed7abd7a72af33d0f0c5dc99055a3ec275ebf4843e1254ebd30019b2802">00121</a>   <a class="code" href="group__gfx3d.html#gg79fdaed7abd7a72af33d0f0c5dc99055a3ec275ebf4843e1254ebd30019b2802" title="Test, write if successful.">CS_ZBUF_USE</a>      = 0x00000003,
<a name="l00123"></a><a class="code" href="group__gfx3d.html#gg79fdaed7abd7a72af33d0f0c5dc9905598140ae58f6601b4ad323a5a93580808">00123</a>   <a class="code" href="group__gfx3d.html#gg79fdaed7abd7a72af33d0f0c5dc9905598140ae58f6601b4ad323a5a93580808" title="Test if equal.">CS_ZBUF_EQUAL</a>    = 0x00000004,
<a name="l00125"></a><a class="code" href="group__gfx3d.html#gg79fdaed7abd7a72af33d0f0c5dc99055c68b085c072e36facd72b574b334c70f">00125</a>   <a class="code" href="group__gfx3d.html#gg79fdaed7abd7a72af33d0f0c5dc99055c68b085c072e36facd72b574b334c70f" title="Inverted test.">CS_ZBUF_INVERT</a>   = 0x00000005,
<a name="l00126"></a>00126   
<a name="l00128"></a><a class="code" href="group__gfx3d.html#gg79fdaed7abd7a72af33d0f0c5dc990557dbbff2560756ee934aae61ae0124aa1">00128</a>   <a class="code" href="group__gfx3d.html#gg79fdaed7abd7a72af33d0f0c5dc990557dbbff2560756ee934aae61ae0124aa1" title="Use the z mode of the render mesh (NOTE: NOT VALID AS MESH ZMODE).">CS_ZBUF_MESH</a>     = 0x80000000,
<a name="l00137"></a><a class="code" href="group__gfx3d.html#gg79fdaed7abd7a72af33d0f0c5dc99055dbcfaa0df9ba70a214fd05d014949564">00137</a>   <a class="code" href="group__gfx3d.html#gg79fdaed7abd7a72af33d0f0c5dc99055dbcfaa0df9ba70a214fd05d014949564" title="Use a &amp;quot;pass 2&amp;quot; z mode depending on the render mesh zmode.">CS_ZBUF_MESH2</a>    = 0x80000001
<a name="l00138"></a>00138 };
<a name="l00139"></a>00139 
<a name="l00140"></a>00140 <span class="comment">// @@@ Keep in sync with values below</span>
<a name="l00141"></a>00141 <span class="comment">// \todo Document me!</span>
<a name="l00142"></a><a class="code" href="group__gfx3d.html#g3f705d9dae284c65d68c3a6bd42d5e04">00142</a> <span class="preprocessor">#define CS_VATTRIB_SPECIFIC_FIRST    0</span>
<a name="l00143"></a><a class="code" href="group__gfx3d.html#g7ce2aa06ad352f022a1f4701dca2d593">00143</a> <span class="preprocessor"></span><span class="preprocessor">#define CS_VATTRIB_SPECIFIC_LAST    15</span>
<a name="l00144"></a><a class="code" href="group__gfx3d.html#g5290bb1d367bba5f785cb9744e1e5448">00144</a> <span class="preprocessor"></span><span class="preprocessor">#define CS_VATTRIB_GENERIC_FIRST   100</span>
<a name="l00145"></a><a class="code" href="group__gfx3d.html#g5984c9a74424494bb5ac40574122fe04">00145</a> <span class="preprocessor"></span><span class="preprocessor">#define CS_VATTRIB_GENERIC_LAST    (CS_VATTRIB_GENERIC_FIRST + 15)</span>
<a name="l00146"></a>00146 <span class="preprocessor"></span>
<a name="l00147"></a><a class="code" href="group__gfx3d.html#gd70e0c7a583331b3620d7f8163ed70e2">00147</a> <span class="preprocessor">#define CS_VATTRIB_IS_GENERIC(va)   \</span>
<a name="l00148"></a>00148 <span class="preprocessor">  ((va &gt;= CS_VATTRIB_GENERIC_FIRST) &amp;&amp; (va &lt;=CS_VATTRIB_GENERIC_LAST))</span>
<a name="l00149"></a><a class="code" href="group__gfx3d.html#gc6370838845f2f5c59081a1e4e3dabeb">00149</a> <span class="preprocessor"></span><span class="preprocessor">#define CS_VATTRIB_IS_SPECIFIC(va)   \</span>
<a name="l00150"></a>00150 <span class="preprocessor">  ((va &gt;= CS_VATTRIB_SPECIFIC_FIRST) &amp;&amp; (va &lt;=CS_VATTRIB_SPECIFIC_LAST))</span>
<a name="l00151"></a>00151 <span class="preprocessor"></span>
<a name="l00155"></a><a class="code" href="group__gfx3d.html#g3daee560553f3d8fa3894b31cdde006e">00155</a> <span class="keyword">enum</span> <a class="code" href="group__gfx3d.html#g3daee560553f3d8fa3894b31cdde006e" title="Vertex attributes.">csVertexAttrib</a>
<a name="l00156"></a>00156 {
<a name="l00160"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e026fc3aa470e1e44ba930606ab8b3863">00160</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e026fc3aa470e1e44ba930606ab8b3863" title="An attribute is valid, but unused by a shader program and can be discarded.">CS_VATTRIB_UNUSED</a>           = -2,
<a name="l00162"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006eb1b455ce0b20c060873059d1887542b7">00162</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006eb1b455ce0b20c060873059d1887542b7" title="Invalid attribute.">CS_VATTRIB_INVALID</a>          = -1,
<a name="l00164"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006eab619a477422498b90846f39990e195f">00164</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006eab619a477422498b90846f39990e195f" title="Position vertex attribute.">CS_VATTRIB_POSITION</a>         = <a class="code" href="group__gfx3d.html#g3f705d9dae284c65d68c3a6bd42d5e04">CS_VATTRIB_SPECIFIC_FIRST</a> + 0,
<a name="l00166"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e1ead0cdcb9c3be87bd202c4fe4432f0d">00166</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e1ead0cdcb9c3be87bd202c4fe4432f0d" title="Vertex weight attribute.">CS_VATTRIB_WEIGHT</a>           = <a class="code" href="group__gfx3d.html#g3f705d9dae284c65d68c3a6bd42d5e04">CS_VATTRIB_SPECIFIC_FIRST</a> + 1,
<a name="l00168"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006ef67f740afa9ebaadd60f64de2f085bf3">00168</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006ef67f740afa9ebaadd60f64de2f085bf3" title="Normal attribute.">CS_VATTRIB_NORMAL</a>           = <a class="code" href="group__gfx3d.html#g3f705d9dae284c65d68c3a6bd42d5e04">CS_VATTRIB_SPECIFIC_FIRST</a> + 2,
<a name="l00170"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e0ff9ca117d29e284477caad786f3f853">00170</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e0ff9ca117d29e284477caad786f3f853" title="Primary color attribute.">CS_VATTRIB_COLOR</a>            = <a class="code" href="group__gfx3d.html#g3f705d9dae284c65d68c3a6bd42d5e04">CS_VATTRIB_SPECIFIC_FIRST</a> + 3,
<a name="l00172"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e5a6485e98c14a4bf228699e74e7a48b7">00172</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e5a6485e98c14a4bf228699e74e7a48b7" title="Primary color attribute.">CS_VATTRIB_PRIMARY_COLOR</a>    = <a class="code" href="group__gfx3d.html#g3f705d9dae284c65d68c3a6bd42d5e04">CS_VATTRIB_SPECIFIC_FIRST</a> + 3,
<a name="l00174"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e958512dff8ec2755b7d237a1ade41cd3">00174</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e958512dff8ec2755b7d237a1ade41cd3" title="Secondary color attribute.">CS_VATTRIB_SECONDARY_COLOR</a>  = <a class="code" href="group__gfx3d.html#g3f705d9dae284c65d68c3a6bd42d5e04">CS_VATTRIB_SPECIFIC_FIRST</a> + 4,
<a name="l00176"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e1e369f7d01ce96085fb0edf9d01a82a7">00176</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e1e369f7d01ce96085fb0edf9d01a82a7" title="Fog coordinate attribute.">CS_VATTRIB_FOGCOORD</a>         = <a class="code" href="group__gfx3d.html#g3f705d9dae284c65d68c3a6bd42d5e04">CS_VATTRIB_SPECIFIC_FIRST</a> + 5,
<a name="l00178"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e7e4568e58dba4297cf9a3b821a58f629">00178</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e7e4568e58dba4297cf9a3b821a58f629" title="TU 0 texture coordinates.">CS_VATTRIB_TEXCOORD</a>         = <a class="code" href="group__gfx3d.html#g3f705d9dae284c65d68c3a6bd42d5e04">CS_VATTRIB_SPECIFIC_FIRST</a> + 8,
<a name="l00180"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e0d0f41cbd64b186995780ad9e3ed47d2">00180</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e0d0f41cbd64b186995780ad9e3ed47d2" title="TU 0 texture coordinates.">CS_VATTRIB_TEXCOORD0</a>        = <a class="code" href="group__gfx3d.html#g3f705d9dae284c65d68c3a6bd42d5e04">CS_VATTRIB_SPECIFIC_FIRST</a> + 8,
<a name="l00182"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006eef6b4ebfb4995018e69ec67a76a6bb4c">00182</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006eef6b4ebfb4995018e69ec67a76a6bb4c" title="TU 1 texture coordinates.">CS_VATTRIB_TEXCOORD1</a>        = <a class="code" href="group__gfx3d.html#g3f705d9dae284c65d68c3a6bd42d5e04">CS_VATTRIB_SPECIFIC_FIRST</a> + 9,
<a name="l00184"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e10fcf346863dfcfe6dbc6a660dd19543">00184</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e10fcf346863dfcfe6dbc6a660dd19543" title="TU 2 texture coordinates.">CS_VATTRIB_TEXCOORD2</a>        = <a class="code" href="group__gfx3d.html#g3f705d9dae284c65d68c3a6bd42d5e04">CS_VATTRIB_SPECIFIC_FIRST</a> + 10,
<a name="l00186"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e01f3d12e1d39880330c58b0f842ff8f2">00186</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e01f3d12e1d39880330c58b0f842ff8f2" title="TU 3 texture coordinates.">CS_VATTRIB_TEXCOORD3</a>        = <a class="code" href="group__gfx3d.html#g3f705d9dae284c65d68c3a6bd42d5e04">CS_VATTRIB_SPECIFIC_FIRST</a> + 11,
<a name="l00188"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e370b8c1678a53011c2436668acdd5fe4">00188</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e370b8c1678a53011c2436668acdd5fe4" title="TU 4 texture coordinates.">CS_VATTRIB_TEXCOORD4</a>        = <a class="code" href="group__gfx3d.html#g3f705d9dae284c65d68c3a6bd42d5e04">CS_VATTRIB_SPECIFIC_FIRST</a> + 12,
<a name="l00190"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e6abe7aff3889a168eb52a8baf718d76e">00190</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e6abe7aff3889a168eb52a8baf718d76e" title="TU 5 texture coordinates.">CS_VATTRIB_TEXCOORD5</a>        = <a class="code" href="group__gfx3d.html#g3f705d9dae284c65d68c3a6bd42d5e04">CS_VATTRIB_SPECIFIC_FIRST</a> + 13,
<a name="l00192"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e760327dc8cce5560113aae0db0c4921e">00192</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e760327dc8cce5560113aae0db0c4921e" title="TU 6 texture coordinates.">CS_VATTRIB_TEXCOORD6</a>        = <a class="code" href="group__gfx3d.html#g3f705d9dae284c65d68c3a6bd42d5e04">CS_VATTRIB_SPECIFIC_FIRST</a> + 14,
<a name="l00194"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e7552f3c9b1c946238118354e1e9bf3df">00194</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e7552f3c9b1c946238118354e1e9bf3df" title="TU 7 texture coordinates.">CS_VATTRIB_TEXCOORD7</a>        = <a class="code" href="group__gfx3d.html#g3f705d9dae284c65d68c3a6bd42d5e04">CS_VATTRIB_SPECIFIC_FIRST</a> + 15,
<a name="l00196"></a>00196 
<a name="l00199"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006ea9bf86e14cb193f29fb5052f419066d6">00199</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006ea9bf86e14cb193f29fb5052f419066d6" title="General vertex attribute.">CS_VATTRIB_0</a>  = <a class="code" href="group__gfx3d.html#g5290bb1d367bba5f785cb9744e1e5448">CS_VATTRIB_GENERIC_FIRST</a> + 0,
<a name="l00200"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e168a67b5a657b5df0bb346ba35ee972e">00200</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e168a67b5a657b5df0bb346ba35ee972e" title="General vertex attribute.">CS_VATTRIB_1</a>  = <a class="code" href="group__gfx3d.html#g5290bb1d367bba5f785cb9744e1e5448">CS_VATTRIB_GENERIC_FIRST</a> + 1,
<a name="l00201"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e7bb4528724921e6482bce7c38e5956b6">00201</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e7bb4528724921e6482bce7c38e5956b6" title="General vertex attribute.">CS_VATTRIB_2</a>  = <a class="code" href="group__gfx3d.html#g5290bb1d367bba5f785cb9744e1e5448">CS_VATTRIB_GENERIC_FIRST</a> + 2,
<a name="l00202"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e2a9989bc0d1aa920a7f32e7b633ebd49">00202</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e2a9989bc0d1aa920a7f32e7b633ebd49" title="General vertex attribute.">CS_VATTRIB_3</a>  = <a class="code" href="group__gfx3d.html#g5290bb1d367bba5f785cb9744e1e5448">CS_VATTRIB_GENERIC_FIRST</a> + 3,
<a name="l00203"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006ec69d8c525e5b229efb3ee07a350ad44a">00203</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006ec69d8c525e5b229efb3ee07a350ad44a" title="General vertex attribute.">CS_VATTRIB_4</a>  = <a class="code" href="group__gfx3d.html#g5290bb1d367bba5f785cb9744e1e5448">CS_VATTRIB_GENERIC_FIRST</a> + 4,
<a name="l00204"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e3987e42dea1cc0b527e4e97897f4c0cc">00204</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e3987e42dea1cc0b527e4e97897f4c0cc" title="General vertex attribute.">CS_VATTRIB_5</a>  = <a class="code" href="group__gfx3d.html#g5290bb1d367bba5f785cb9744e1e5448">CS_VATTRIB_GENERIC_FIRST</a> + 5,
<a name="l00205"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e812ecc39e5c698565ebc2c3c523087e5">00205</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e812ecc39e5c698565ebc2c3c523087e5" title="General vertex attribute.">CS_VATTRIB_6</a>  = <a class="code" href="group__gfx3d.html#g5290bb1d367bba5f785cb9744e1e5448">CS_VATTRIB_GENERIC_FIRST</a> + 6,
<a name="l00206"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e8185f2e8c5862324360790c0be8ab753">00206</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e8185f2e8c5862324360790c0be8ab753" title="General vertex attribute.">CS_VATTRIB_7</a>  = <a class="code" href="group__gfx3d.html#g5290bb1d367bba5f785cb9744e1e5448">CS_VATTRIB_GENERIC_FIRST</a> + 7,
<a name="l00207"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006ecf05f5abcbaa8cb742d93dca1c3f25f8">00207</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006ecf05f5abcbaa8cb742d93dca1c3f25f8" title="General vertex attribute.">CS_VATTRIB_8</a>  = <a class="code" href="group__gfx3d.html#g5290bb1d367bba5f785cb9744e1e5448">CS_VATTRIB_GENERIC_FIRST</a> + 8,
<a name="l00208"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006ebd611a3a7aefef1a6e8dfe409d88e89b">00208</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006ebd611a3a7aefef1a6e8dfe409d88e89b" title="General vertex attribute.">CS_VATTRIB_9</a>  = <a class="code" href="group__gfx3d.html#g5290bb1d367bba5f785cb9744e1e5448">CS_VATTRIB_GENERIC_FIRST</a> + 9,
<a name="l00209"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006eca055527ef42fd3e482c03ae696b1761">00209</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006eca055527ef42fd3e482c03ae696b1761" title="General vertex attribute.">CS_VATTRIB_10</a> = <a class="code" href="group__gfx3d.html#g5290bb1d367bba5f785cb9744e1e5448">CS_VATTRIB_GENERIC_FIRST</a> + 10,
<a name="l00210"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006eb676dc64e1d2d336a124bf3e2c194b55">00210</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006eb676dc64e1d2d336a124bf3e2c194b55" title="General vertex attribute.">CS_VATTRIB_11</a> = <a class="code" href="group__gfx3d.html#g5290bb1d367bba5f785cb9744e1e5448">CS_VATTRIB_GENERIC_FIRST</a> + 11,
<a name="l00211"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006ebd296d6c3ae879230f999cbf8da8b236">00211</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006ebd296d6c3ae879230f999cbf8da8b236" title="General vertex attribute.">CS_VATTRIB_12</a> = <a class="code" href="group__gfx3d.html#g5290bb1d367bba5f785cb9744e1e5448">CS_VATTRIB_GENERIC_FIRST</a> + 12,
<a name="l00212"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e7848f6e6504120d1a1c4fced6d78e9b7">00212</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006e7848f6e6504120d1a1c4fced6d78e9b7" title="General vertex attribute.">CS_VATTRIB_13</a> = <a class="code" href="group__gfx3d.html#g5290bb1d367bba5f785cb9744e1e5448">CS_VATTRIB_GENERIC_FIRST</a> + 13,
<a name="l00213"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006ec63255a8d7842935e9deda1b5126c229">00213</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006ec63255a8d7842935e9deda1b5126c229" title="General vertex attribute.">CS_VATTRIB_14</a> = <a class="code" href="group__gfx3d.html#g5290bb1d367bba5f785cb9744e1e5448">CS_VATTRIB_GENERIC_FIRST</a> + 14,
<a name="l00214"></a><a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006ec2f16d599bef49beb42fbddd99b54cca">00214</a>   <a class="code" href="group__gfx3d.html#gg3daee560553f3d8fa3894b31cdde006ec2f16d599bef49beb42fbddd99b54cca">CS_VATTRIB_15</a> = <a class="code" href="group__gfx3d.html#g5290bb1d367bba5f785cb9744e1e5448">CS_VATTRIB_GENERIC_FIRST</a> + 15
<a name="l00216"></a>00216 };
<a name="l00217"></a>00217 
<a name="l00227"></a><a class="code" href="group__gfx3d.html#gcca3666c7b178a88ae163dd8b1729928">00227</a> <span class="preprocessor">#define CS_MIXMODE_TYPE_AUTO (0x00000000)</span>
<a name="l00228"></a>00228 <span class="preprocessor"></span>
<a name="l00236"></a><a class="code" href="group__gfx3d.html#g318fafd4e8247e9b533e0e1c8104fa61">00236</a> <span class="preprocessor">#define CS_MIXMODE_TYPE_BLENDOP (0x40000000)</span>
<a name="l00237"></a>00237 <span class="preprocessor"></span>
<a name="l00241"></a><a class="code" href="group__gfx3d.html#g48ff680bfd4f154edd1610fd5f1dd3d3">00241</a> <span class="preprocessor">#define CS_MIXMODE_TYPE_MESH (0x80000000)</span>
<a name="l00242"></a>00242 <span class="preprocessor"></span>
<a name="l00244"></a><a class="code" href="group__gfx3d.html#g3031097131f3c1669c9cacb590b93ce9">00244</a> <span class="preprocessor">#define CS_MIXMODE_TYPE_MASK (0xc0000000)</span>
<a name="l00245"></a>00245 <span class="preprocessor"></span>
<a name="l00247"></a>00247 
<a name="l00248"></a>00248 <span class="keyword">enum</span>
<a name="l00249"></a>00249 {
<a name="l00251"></a><a class="code" href="group__gfx3d.html#gg634f9f55e799f3052a34590f08100017f5ce179a35fe83eb4d7bc9412fe53c42">00251</a>   <a class="code" href="group__gfx3d.html#gg634f9f55e799f3052a34590f08100017f5ce179a35fe83eb4d7bc9412fe53c42" title="0">CS_MIXMODE_FACT_ZERO</a>          = 0x0,
<a name="l00253"></a><a class="code" href="group__gfx3d.html#gg634f9f55e799f3052a34590f0810001762585826f145edac424308dd93100b15">00253</a>   <a class="code" href="group__gfx3d.html#gg634f9f55e799f3052a34590f0810001762585826f145edac424308dd93100b15" title="-(e^(i*Pi))">CS_MIXMODE_FACT_ONE</a>           = 0x1,
<a name="l00255"></a><a class="code" href="group__gfx3d.html#gg634f9f55e799f3052a34590f081000175f2225042583871689d329f3d551c5b5">00255</a>   <a class="code" href="group__gfx3d.html#gg634f9f55e799f3052a34590f081000175f2225042583871689d329f3d551c5b5" title="Source fragment (R,G,B,A) components.">CS_MIXMODE_FACT_SRCCOLOR</a>      = 0x2,
<a name="l00257"></a><a class="code" href="group__gfx3d.html#gg634f9f55e799f3052a34590f0810001739df002786ee50e5a002606e76298b01">00257</a>   <a class="code" href="group__gfx3d.html#gg634f9f55e799f3052a34590f0810001739df002786ee50e5a002606e76298b01" title="Source fragment (1-R,1-G,1-B,-1A) components.">CS_MIXMODE_FACT_SRCCOLOR_INV</a>  = 0x3,
<a name="l00259"></a><a class="code" href="group__gfx3d.html#gg634f9f55e799f3052a34590f081000176d03e7095dabb0cefe33d15164c1d3d4">00259</a>   <a class="code" href="group__gfx3d.html#gg634f9f55e799f3052a34590f081000176d03e7095dabb0cefe33d15164c1d3d4" title="Destination fragment (R,G,B,A) components.">CS_MIXMODE_FACT_DSTCOLOR</a>      = 0x4,
<a name="l00261"></a><a class="code" href="group__gfx3d.html#gg634f9f55e799f3052a34590f081000172cbcb29d021d8dedb4ae80c2ec469e4f">00261</a>   <a class="code" href="group__gfx3d.html#gg634f9f55e799f3052a34590f081000172cbcb29d021d8dedb4ae80c2ec469e4f" title="Destination fragment (1-R,1-G,1-B,-1A) components.">CS_MIXMODE_FACT_DSTCOLOR_INV</a>  = 0x5,
<a name="l00263"></a><a class="code" href="group__gfx3d.html#gg634f9f55e799f3052a34590f08100017ba5a437af635a0f59c2df4a711b077e0">00263</a>   <a class="code" href="group__gfx3d.html#gg634f9f55e799f3052a34590f08100017ba5a437af635a0f59c2df4a711b077e0" title="Source fragment alpha.">CS_MIXMODE_FACT_SRCALPHA</a>      = 0x6,
<a name="l00265"></a><a class="code" href="group__gfx3d.html#gg634f9f55e799f3052a34590f08100017402ca8198cd18db1db1c89d580340562">00265</a>   <a class="code" href="group__gfx3d.html#gg634f9f55e799f3052a34590f08100017402ca8198cd18db1db1c89d580340562" title="Source fragment 1-alpha.">CS_MIXMODE_FACT_SRCALPHA_INV</a>  = 0x7,
<a name="l00267"></a><a class="code" href="group__gfx3d.html#gg634f9f55e799f3052a34590f08100017c77a53103daa13c42b245c309061bb8c">00267</a>   <a class="code" href="group__gfx3d.html#gg634f9f55e799f3052a34590f08100017c77a53103daa13c42b245c309061bb8c" title="Destination fragment alpha.">CS_MIXMODE_FACT_DSTALPHA</a>      = 0x8,
<a name="l00269"></a><a class="code" href="group__gfx3d.html#gg634f9f55e799f3052a34590f08100017c0dce88efddadc4c010208518a4637fe">00269</a>   <a class="code" href="group__gfx3d.html#gg634f9f55e799f3052a34590f08100017c0dce88efddadc4c010208518a4637fe" title="Destination fragment 1-alpha.">CS_MIXMODE_FACT_DSTALPHA_INV</a>  = 0x9,
<a name="l00270"></a>00270   
<a name="l00272"></a><a class="code" href="group__gfx3d.html#gg634f9f55e799f3052a34590f0810001747f785c2424ca7659c468f85674e18f0">00272</a>   <a class="code" href="group__gfx3d.html#gg634f9f55e799f3052a34590f0810001747f785c2424ca7659c468f85674e18f0" title="Number of available mixmodes.">CS_MIXMODE_FACT_COUNT</a>         = 0xa,
<a name="l00273"></a>00273   
<a name="l00275"></a><a class="code" href="group__gfx3d.html#gg634f9f55e799f3052a34590f08100017982f2fa247ecce5a55dfa01fd64dc956">00275</a>   <a class="code" href="group__gfx3d.html#gg634f9f55e799f3052a34590f08100017982f2fa247ecce5a55dfa01fd64dc956" title="Mask to extract factors.">CS_MIXMODE_FACT_MASK</a>          = 0xf
<a name="l00276"></a>00276 };
<a name="l00277"></a>00277 
<a name="l00288"></a><a class="code" href="group__gfx3d.html#g5618a7d398f0500b4ccd81a1d88245d6">00288</a> <span class="preprocessor">#define CS_MIXMODE_ALPHATEST_AUTO (0x00000000)</span>
<a name="l00290"></a><a class="code" href="group__gfx3d.html#g633cd7c79aa65d6714d3d62129f895ab">00290</a> <span class="preprocessor">#define CS_MIXMODE_ALPHATEST_ENABLE (0x10000000)</span>
<a name="l00292"></a><a class="code" href="group__gfx3d.html#g2823006b1eec2520e1e39d4d75f2fcb1">00292</a> <span class="preprocessor">#define CS_MIXMODE_ALPHATEST_DISABLE (0x20000000)</span>
<a name="l00293"></a>00293 <span class="preprocessor"></span>  
<a name="l00295"></a><a class="code" href="group__gfx3d.html#gcbc0e919d2b2eb10da60e2e40631602d">00295</a> <span class="preprocessor">#define CS_MIXMODE_ALPHATEST_MASK (0x30000000)</span>
<a name="l00296"></a>00296 <span class="preprocessor"></span>
<a name="l00310"></a><a class="code" href="group__gfx3d.html#gab0163a168de01d26be545e9c3dba638">00310</a> <span class="preprocessor">#define CS_MIXMODE_BLEND(Src, Dst)                                      \</span>
<a name="l00311"></a>00311 <span class="preprocessor">  (CS_MIXMODE_TYPE_BLENDOP                                              \</span>
<a name="l00312"></a>00312 <span class="preprocessor">  | (CS_MIXMODE_FACT_ ## Src &lt;&lt; 20) | (CS_MIXMODE_FACT_ ## Dst &lt;&lt; 16))</span>
<a name="l00314"></a><a class="code" href="group__gfx3d.html#gfafe978b680e6b4cf43945f7646366de">00314</a> <span class="preprocessor">#define CS_MIXMODE_BLENDOP_SRC(mode)    ((mode &gt;&gt; 20) &amp; CS_MIXMODE_FACT_MASK)</span>
<a name="l00316"></a><a class="code" href="group__gfx3d.html#g44d0c355da9e25c99c000890e6d2c569">00316</a> <span class="preprocessor">#define CS_MIXMODE_BLENDOP_DST(mode)    ((mode &gt;&gt; 16) &amp; CS_MIXMODE_FACT_MASK)</span>
<a name="l00317"></a>00317 <span class="preprocessor"></span>
<a name="l00332"></a><a class="code" href="group__gfx3d.html#g157a5b79fc02bff999d17b291dac354d">00332</a> <span class="preprocessor">#define CS_FX_COPY (CS_MIXMODE_TYPE_AUTO | CS_MIXMODE_ALPHATEST_AUTO)</span>
<a name="l00334"></a><a class="code" href="group__gfx3d.html#gb90560b5ab7d9bcf32901e0eb5f041d2">00334</a> <span class="preprocessor">#define CS_FX_MULTIPLY \</span>
<a name="l00335"></a>00335 <span class="preprocessor">    (CS_MIXMODE_BLEND(DSTCOLOR, ZERO) | CS_MIXMODE_ALPHATEST_DISABLE)</span>
<a name="l00337"></a><a class="code" href="group__gfx3d.html#g305a050d961b6f0cab41af02763d255b">00337</a> <span class="preprocessor">#define CS_FX_MULTIPLY2 \</span>
<a name="l00338"></a>00338 <span class="preprocessor">    (CS_MIXMODE_BLEND(DSTCOLOR, SRCCOLOR) | CS_MIXMODE_ALPHATEST_DISABLE)</span>
<a name="l00340"></a><a class="code" href="group__gfx3d.html#g59466bfe3d5df98a96bd96c81c90a854">00340</a> <span class="preprocessor">#define CS_FX_ADD \</span>
<a name="l00341"></a>00341 <span class="preprocessor">    (CS_MIXMODE_BLEND(ONE, ONE) | CS_MIXMODE_ALPHATEST_DISABLE)</span>
<a name="l00342"></a>00342 <span class="preprocessor"></span>
<a name="l00347"></a><a class="code" href="group__gfx3d.html#g89072101df1b847eb56c7662664fc148">00347</a> <span class="preprocessor">#define CS_FX_ALPHA \</span>
<a name="l00348"></a>00348 <span class="preprocessor">    (CS_MIXMODE_BLEND(SRCALPHA, SRCALPHA_INV) | CS_MIXMODE_ALPHATEST_DISABLE)</span>
<a name="l00349"></a>00349 <span class="preprocessor"></span>
<a name="l00354"></a><a class="code" href="group__gfx3d.html#gbdfcef391e5a2c8ee4974995ca4c6454">00354</a> <span class="preprocessor">#define CS_FX_TRANSPARENT \</span>
<a name="l00355"></a>00355 <span class="preprocessor">    (CS_MIXMODE_BLEND(ZERO, ONE) | CS_MIXMODE_ALPHATEST_DISABLE)</span>
<a name="l00356"></a>00356 <span class="preprocessor"></span>
<a name="l00360"></a><a class="code" href="group__gfx3d.html#g9619d4c92edc9b5873b0f53fe2e02a04">00360</a> <span class="preprocessor">#define CS_FX_DESTALPHAADD \</span>
<a name="l00361"></a>00361 <span class="preprocessor">    (CS_MIXMODE_BLEND(DSTALPHA, ONE) | CS_MIXMODE_ALPHATEST_DISABLE)</span>
<a name="l00362"></a>00362 <span class="preprocessor"></span>
<a name="l00366"></a><a class="code" href="group__gfx3d.html#g6c38f097325623b97008651fac2d436e">00366</a> <span class="preprocessor">#define CS_FX_SRCALPHAADD \</span>
<a name="l00367"></a>00367 <span class="preprocessor">    (CS_MIXMODE_BLEND(SRCALPHA, ONE) | CS_MIXMODE_ALPHATEST_DISABLE)</span>
<a name="l00368"></a>00368 <span class="preprocessor"></span>
<a name="l00377"></a><a class="code" href="group__gfx3d.html#gb116e9a5671f2b3314dfb84f3156363a">00377</a> <span class="preprocessor">#define CS_FX_PREMULTALPHA \</span>
<a name="l00378"></a>00378 <span class="preprocessor">    (CS_MIXMODE_BLEND(ONE, SRCALPHA_INV) | CS_MIXMODE_ALPHATEST_DISABLE)</span>
<a name="l00379"></a>00379 <span class="preprocessor"></span>
<a name="l00383"></a><a class="code" href="group__gfx3d.html#gdbbfe64fc8250e928827dc5c4f93d503">00383</a> <span class="preprocessor">#define CS_FX_MESH (CS_MIXMODE_TYPE_MESH)</span>
<a name="l00384"></a>00384 <span class="preprocessor"></span>  
<a name="l00386"></a><a class="code" href="group__gfx3d.html#gb067ef5d5d60de998bf43d15978a5d75">00386</a> <span class="preprocessor">#define CS_FX_FLAT (0x04000000)</span>
<a name="l00387"></a>00387 <span class="preprocessor"></span>
<a name="l00396"></a><a class="code" href="group__gfx3d.html#gc5ac035511e3c8a35a7dc18b55cbf868">00396</a> <span class="preprocessor">#define CS_FX_MASK_ALPHA (0x000000FF)</span>
<a name="l00397"></a>00397 <span class="preprocessor"></span>  
<a name="l00402"></a><a class="code" href="group__gfx3d.html#ge7f16e1fb3eff6747db082caec700c9b">00402</a> <span class="preprocessor">#define CS_FX_MASK_MIXMODE (0xf0ff0000)</span>
<a name="l00403"></a>00403 <span class="preprocessor"></span>
<a name="l00407"></a>00407 
<a name="l00408"></a><a class="code" href="group__gfx3d.html#gc5a2e0c327c6b69ccab0183bd0e2a529">00408</a> <span class="preprocessor">#define CS_FX_SETALPHA(alpha) \</span>
<a name="l00409"></a>00409 <span class="preprocessor">  (CS_FX_ALPHA | uint ((alpha) * CS_FX_MASK_ALPHA))</span>
<a name="l00411"></a><a class="code" href="group__gfx3d.html#gd86331b25169e33b6fcfa9eabd6bc24c">00411</a> <span class="preprocessor">#define CS_FX_SETALPHA_INT(alpha) \</span>
<a name="l00412"></a>00412 <span class="preprocessor">  (CS_FX_ALPHA | uint ((alpha) &amp; CS_FX_MASK_ALPHA))</span>
<a name="l00413"></a>00413 <span class="preprocessor"></span>
<a name="l00418"></a><a class="code" href="structcsAlphaMode.html">00418</a> <span class="keyword">struct </span><a class="code" href="structcsAlphaMode.html" title="Describes how to deal with alpha values in textures.">csAlphaMode</a>
<a name="l00419"></a>00419 {
<a name="l00421"></a><a class="code" href="structcsAlphaMode.html#b3d92a9f20c74d102be12658acbbbe49">00421</a>   <span class="keyword">enum</span> <a class="code" href="structcsAlphaMode.html#b3d92a9f20c74d102be12658acbbbe49" title="How to handle alpha.">AlphaType</a>
<a name="l00422"></a>00422   {
<a name="l00424"></a><a class="code" href="structcsAlphaMode.html#b3d92a9f20c74d102be12658acbbbe4959f8357f7b161b54cd7a2157cf84222f">00424</a>     <a class="code" href="structcsAlphaMode.html#b3d92a9f20c74d102be12658acbbbe4959f8357f7b161b54cd7a2157cf84222f" title="Ignore alpha.">alphaNone</a> = 1,
<a name="l00426"></a><a class="code" href="structcsAlphaMode.html#b3d92a9f20c74d102be12658acbbbe49db03463485f17c707606c07e70064b4e">00426</a>     <a class="code" href="structcsAlphaMode.html#b3d92a9f20c74d102be12658acbbbe49db03463485f17c707606c07e70064b4e" title="Binary alpha (pixels with alpha &amp;gt;0.5 are drawn, all others not).">alphaBinary</a>,
<a name="l00428"></a><a class="code" href="structcsAlphaMode.html#b3d92a9f20c74d102be12658acbbbe49880a09262f687b5a986a37c1821de495">00428</a>     <a class="code" href="structcsAlphaMode.html#b3d92a9f20c74d102be12658acbbbe49880a09262f687b5a986a37c1821de495" title="&amp;#39;Smooth&amp;#39; alpha (colors are mixed based on a pixel&amp;#39;s alpha value)">alphaSmooth</a>
<a name="l00429"></a>00429   };
<a name="l00431"></a><a class="code" href="structcsAlphaMode.html#61e0a26dfe81e7fc3cded15ff735be0d">00431</a>   <span class="keywordtype">bool</span> <a class="code" href="structcsAlphaMode.html#61e0a26dfe81e7fc3cded15ff735be0d" title="Whether &amp;#39;automatic alpha mode&amp;#39; should be used.">autoAlphaMode</a>;
<a name="l00432"></a>00432   <span class="keyword">union</span>
<a name="l00433"></a>00433   {
<a name="l00435"></a><a class="code" href="structcsAlphaMode.html#9234727bfd958687b1271031702ca66a">00435</a>     <a class="code" href="structcsAlphaMode.html#b3d92a9f20c74d102be12658acbbbe49" title="How to handle alpha.">AlphaType</a> <a class="code" href="structcsAlphaMode.html#9234727bfd958687b1271031702ca66a" title="Alpha mode to use when autoAlphaMode is false.">alphaType</a>;
<a name="l00437"></a><a class="code" href="structcsAlphaMode.html#14adf8db00f3dd9f1650e672fba21c92">00437</a>     <a class="code" href="group__util.html#gbe4f44c93bfeee85c507a999dccf21dd" title="An identifier for a string.">csStringID</a> <a class="code" href="structcsAlphaMode.html#14adf8db00f3dd9f1650e672fba21c92" title="Texture to retrieve the alpha mode from when autoAlphaMode is true.">autoModeTexture</a>;
<a name="l00438"></a>00438   };
<a name="l00439"></a>00439 };
<a name="l00444"></a>00444 
<a name="l00445"></a><a class="code" href="graph3d_8h.html#96604da2b5005980794869fd1d4a0fac">00445</a> <span class="preprocessor">#define CS_LIGHTPARAM_POSITION 0</span>
<a name="l00447"></a><a class="code" href="graph3d_8h.html#d9807886217437cecd85a0f0ddee7085">00447</a> <span class="preprocessor">#define CS_LIGHTPARAM_DIFFUSE 1</span>
<a name="l00449"></a><a class="code" href="graph3d_8h.html#16c8cff479c9442ea9e0c7b9a9470bb2">00449</a> <span class="preprocessor">#define CS_LIGHTPARAM_SPECULAR 2</span>
<a name="l00451"></a><a class="code" href="graph3d_8h.html#138140e872f433308b457292170d74b8">00451</a> <span class="preprocessor">#define CS_LIGHTPARAM_ATTENUATION 3</span>
<a name="l00452"></a>00452 <span class="preprocessor"></span>
<a name="l00456"></a>00456 
<a name="l00457"></a><a class="code" href="graph3d_8h.html#e251a7a0cd425e703b858b53024edcfb">00457</a> <span class="preprocessor">#define CS_SHADOW_VOLUME_BEGIN 1</span>
<a name="l00459"></a><a class="code" href="graph3d_8h.html#d5f21d76142da946f71ee6f5c60f34be">00459</a> <span class="preprocessor">#define CS_SHADOW_VOLUME_PASS1 2</span>
<a name="l00461"></a><a class="code" href="graph3d_8h.html#817aabd70731cb5f9332dfd6e96270bf">00461</a> <span class="preprocessor">#define CS_SHADOW_VOLUME_PASS2 3</span>
<a name="l00463"></a><a class="code" href="graph3d_8h.html#f82832b14ae98bee3f5f2032fd3679e5">00463</a> <span class="preprocessor">#define CS_SHADOW_VOLUME_FAIL1 4</span>
<a name="l00465"></a><a class="code" href="graph3d_8h.html#73714961951e848a16e563caba96c98d">00465</a> <span class="preprocessor">#define CS_SHADOW_VOLUME_FAIL2 5</span>
<a name="l00467"></a><a class="code" href="graph3d_8h.html#c58e45ce876228e66ec5d82917704a07">00467</a> <span class="preprocessor">#define CS_SHADOW_VOLUME_USE 6</span>
<a name="l00469"></a><a class="code" href="graph3d_8h.html#ebc9e0f66eccded04d00b16624ee8b60">00469</a> <span class="preprocessor">#define CS_SHADOW_VOLUME_FINISH 7</span>
<a name="l00470"></a>00470 <span class="preprocessor"></span>
<a name="l00472"></a>00472 
<a name="l00473"></a><a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8">00473</a> <span class="keyword">enum</span> <a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8" title="Graphics3D render state options.">G3D_RENDERSTATEOPTION</a>
<a name="l00474"></a>00474 {
<a name="l00476"></a><a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8bf5d3bf2ad799639b53a75d90628089f">00476</a>   <a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8bf5d3bf2ad799639b53a75d90628089f" title="Set Z-buffer fill/test/use mode (parameter is a csZBufMode).">G3DRENDERSTATE_ZBUFFERMODE</a>,
<a name="l00478"></a><a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8301b85eecbf942cf1bc75ff008d75d67">00478</a>   <a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8301b85eecbf942cf1bc75ff008d75d67" title="Enable/disable dithering (parameter is a bool).">G3DRENDERSTATE_DITHERENABLE</a>,
<a name="l00480"></a><a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8102832aaab26cc8037c5a47f6ae32111">00480</a>   <a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8102832aaab26cc8037c5a47f6ae32111" title="Enable/disable bi-linear mapping (parameter is a bool).">G3DRENDERSTATE_BILINEARMAPPINGENABLE</a>,
<a name="l00482"></a><a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8be1fad6000b39661f231648f42b61391">00482</a>   <a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8be1fad6000b39661f231648f42b61391" title="Enable/disable tri-linear mapping (parameter is a bool).">G3DRENDERSTATE_TRILINEARMAPPINGENABLE</a>,
<a name="l00484"></a><a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f83e5001804025d4cd486492fed47cecfd">00484</a>   <a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f83e5001804025d4cd486492fed47cecfd" title="Enable/disable transparent textures (parameter is a bool).">G3DRENDERSTATE_TRANSPARENCYENABLE</a>,
<a name="l00486"></a><a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8adb11ad10ffa83dc8dd8736fbe838c03">00486</a>   <a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8adb11ad10ffa83dc8dd8736fbe838c03" title="Enable/disable mip-mapping (parameter is a bool).">G3DRENDERSTATE_MIPMAPENABLE</a>,
<a name="l00488"></a><a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f82f8539216e26b1f5460cd61d74204ad5">00488</a>   <a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f82f8539216e26b1f5460cd61d74204ad5" title="Enable/disable textures (parameter is a bool).">G3DRENDERSTATE_TEXTUREMAPPINGENABLE</a>,
<a name="l00490"></a><a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f89993fe4325760197feb3b39042e8f673">00490</a>   <a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f89993fe4325760197feb3b39042e8f673" title="Enable/disable lighting (parameter is a bool).">G3DRENDERSTATE_LIGHTINGENABLE</a>,
<a name="l00492"></a><a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8189e5fe3d22b6ebd279f772c6a9d829f">00492</a>   <a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8189e5fe3d22b6ebd279f772c6a9d829f" title="Enable/disable interlacing (parameter is a bool).">G3DRENDERSTATE_INTERLACINGENABLE</a>,
<a name="l00494"></a><a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8c276a6c68a89efffec1501e68c330d59">00494</a>   <a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8c276a6c68a89efffec1501e68c330d59" title="Enable/disable MMX instructions usage (parameter is a bool).">G3DRENDERSTATE_MMXENABLE</a>,
<a name="l00496"></a><a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8527fe3292a32fddf82701cdd0982d146">00496</a>   <a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8527fe3292a32fddf82701cdd0982d146" title="Set perspective-correction interpolation step (parameter is a int).">G3DRENDERSTATE_INTERPOLATIONSTEP</a>,
<a name="l00498"></a><a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f85ea5dc921e83f83a08d3edcdcf97d1e2">00498</a>   <a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f85ea5dc921e83f83a08d3edcdcf97d1e2" title="Set maximal number of polygons per frame to draw (parameter is a int).">G3DRENDERSTATE_MAXPOLYGONSTODRAW</a>,
<a name="l00500"></a><a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f89464ccd49110102667ad1f075f363aac">00500</a>   <a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f89464ccd49110102667ad1f075f363aac" title="Enable/disable Gouraud shading (parameter is a bool).">G3DRENDERSTATE_GOURAUDENABLE</a>,
<a name="l00502"></a><a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8d2c312a32eb7289954cbe7865356aea9">00502</a>   <a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8d2c312a32eb7289954cbe7865356aea9" title="Enable/disable edge drawing (debugging) (parameter is a bool).">G3DRENDERSTATE_EDGES</a>
<a name="l00503"></a>00503 };
<a name="l00504"></a>00504 
<a name="l00506"></a><a class="code" href="structcsGraphics3DCaps.html">00506</a> <span class="keyword">struct </span><a class="code" href="structcsGraphics3DCaps.html" title="Information about 3d renderer capabilities.">csGraphics3DCaps</a>
<a name="l00507"></a>00507 {
<a name="l00509"></a><a class="code" href="structcsGraphics3DCaps.html#901a90d16702b2a5f7a71b1034276284">00509</a>   <span class="keywordtype">int</span> <a class="code" href="structcsGraphics3DCaps.html#c9e61f71f6f76c67ae583fab0791aa55" title="Minimum texture dimensions.">minTexHeight</a>, <a class="code" href="structcsGraphics3DCaps.html#901a90d16702b2a5f7a71b1034276284">minTexWidth</a>;
<a name="l00511"></a><a class="code" href="structcsGraphics3DCaps.html#0614c3f7451737414196410932d544ab">00511</a>   <span class="keywordtype">int</span> <a class="code" href="structcsGraphics3DCaps.html#e36da6a2e504d8fa898bcdbbd791f91a" title="Maximum texture dimensions.">maxTexHeight</a>, <a class="code" href="structcsGraphics3DCaps.html#0614c3f7451737414196410932d544ab">maxTexWidth</a>;
<a name="l00516"></a><a class="code" href="structcsGraphics3DCaps.html#0ccfbe730e4e9cf0b9824478594fe5b9">00516</a>   <span class="keywordtype">bool</span> <a class="code" href="structcsGraphics3DCaps.html#0ccfbe730e4e9cf0b9824478594fe5b9" title="Whether point sprites are supported.">SupportsPointSprites</a>;
<a name="l00520"></a><a class="code" href="structcsGraphics3DCaps.html#07fdee3f95daed41393b228a654a73cc">00520</a>   <span class="keywordtype">bool</span> <a class="code" href="structcsGraphics3DCaps.html#07fdee3f95daed41393b228a654a73cc" title="Mixmodes utilizing destination alpha are properly supported.">DestinationAlpha</a>;
<a name="l00524"></a><a class="code" href="structcsGraphics3DCaps.html#af943c23f3a08ca33a23f8d3b4c4726b">00524</a>   <span class="keywordtype">bool</span> <a class="code" href="structcsGraphics3DCaps.html#af943c23f3a08ca33a23f8d3b4c4726b" title="Enough stencil bits for stencil shadows are available.">StencilShadows</a>;
<a name="l00525"></a>00525 };
<a name="l00526"></a>00526 
<a name="l00528"></a><a class="code" href="graph3d_8h.html#df2df8d75f18c8ea2351b8e2c8180420">00528</a> <span class="keyword">enum</span> <a class="code" href="graph3d_8h.html#df2df8d75f18c8ea2351b8e2c8180420" title="Primitive type of a mesh.">csRenderMeshType</a>
<a name="l00529"></a>00529 {
<a name="l00531"></a><a class="code" href="graph3d_8h.html#df2df8d75f18c8ea2351b8e2c818042094b4df90ff18151ccf452f3d4d4f611e">00531</a>   <a class="code" href="graph3d_8h.html#df2df8d75f18c8ea2351b8e2c818042094b4df90ff18151ccf452f3d4d4f611e" title="Triangles.">CS_MESHTYPE_TRIANGLES</a>,
<a name="l00533"></a><a class="code" href="graph3d_8h.html#df2df8d75f18c8ea2351b8e2c81804207af9a68303966071a8d7ef158cbd1cfc">00533</a>   <a class="code" href="graph3d_8h.html#df2df8d75f18c8ea2351b8e2c81804207af9a68303966071a8d7ef158cbd1cfc" title="Quads.">CS_MESHTYPE_QUADS</a>,
<a name="l00543"></a><a class="code" href="graph3d_8h.html#df2df8d75f18c8ea2351b8e2c81804204fad3831709890a09dc724e90443bfa6">00543</a>   <a class="code" href="graph3d_8h.html#df2df8d75f18c8ea2351b8e2c81804204fad3831709890a09dc724e90443bfa6" title="Triangle strip.">CS_MESHTYPE_TRIANGLESTRIP</a>,
<a name="l00549"></a><a class="code" href="graph3d_8h.html#df2df8d75f18c8ea2351b8e2c81804202f963fcdc2a8c89c3c95c551b0377a92">00549</a>   <a class="code" href="graph3d_8h.html#df2df8d75f18c8ea2351b8e2c81804202f963fcdc2a8c89c3c95c551b0377a92" title="Triangle fan.">CS_MESHTYPE_TRIANGLEFAN</a>,
<a name="l00553"></a><a class="code" href="graph3d_8h.html#df2df8d75f18c8ea2351b8e2c8180420ace39785186b57317280cd79a346aef3">00553</a>   <a class="code" href="graph3d_8h.html#df2df8d75f18c8ea2351b8e2c8180420ace39785186b57317280cd79a346aef3" title="Points.">CS_MESHTYPE_POINTS</a>,
<a name="l00559"></a><a class="code" href="graph3d_8h.html#df2df8d75f18c8ea2351b8e2c818042084a28f3e39ea9d89d488f1309e8fe5cd">00559</a>   <a class="code" href="graph3d_8h.html#df2df8d75f18c8ea2351b8e2c818042084a28f3e39ea9d89d488f1309e8fe5cd" title="Point sprites.">CS_MESHTYPE_POINT_SPRITES</a>,
<a name="l00563"></a><a class="code" href="graph3d_8h.html#df2df8d75f18c8ea2351b8e2c818042059fe9f301c01d26d0824511d303840a6">00563</a>   <a class="code" href="graph3d_8h.html#df2df8d75f18c8ea2351b8e2c818042059fe9f301c01d26d0824511d303840a6" title="Lines.">CS_MESHTYPE_LINES</a>,
<a name="l00568"></a><a class="code" href="graph3d_8h.html#df2df8d75f18c8ea2351b8e2c818042021ff882fb5102b6b047cde1787341121">00568</a>   <a class="code" href="graph3d_8h.html#df2df8d75f18c8ea2351b8e2c818042021ff882fb5102b6b047cde1787341121" title="Line strip.">CS_MESHTYPE_LINESTRIP</a>
<a name="l00569"></a>00569 };
<a name="l00570"></a>00570 
<a name="l00574"></a><a class="code" href="graph3d_8h.html#ee23f4994ae356cdb3e3de782239f4fd">00574</a> <span class="keyword">enum</span> <a class="code" href="graph3d_8h.html#ee23f4994ae356cdb3e3de782239f4fd" title="Flags to influence the behaviour of DrawSimpleMesh().">csSimpleMeshFlags</a>
<a name="l00575"></a>00575 {
<a name="l00582"></a><a class="code" href="graph3d_8h.html#ee23f4994ae356cdb3e3de782239f4fd077b8eb55639b0b95a6dc9bad17349ca">00582</a>   <a class="code" href="graph3d_8h.html#ee23f4994ae356cdb3e3de782239f4fd077b8eb55639b0b95a6dc9bad17349ca" title="Ignore the object2camera transform in the csSimpleRenderMesh struct and replace it...">csSimpleMeshScreenspace</a> = 0x01
<a name="l00583"></a>00583 };
<a name="l00584"></a>00584 
<a name="l00589"></a><a class="code" href="graph3d_8h.html#15882d23f9a1274e3480e2aee9d7eb03">00589</a> <span class="keyword">enum</span> <a class="code" href="graph3d_8h.html#15882d23f9a1274e3480e2aee9d7eb03" title="Flags to inform the renderer about properties of a portal when calling OpenPortal()...">csOpenPortalFlags</a>
<a name="l00590"></a>00590 {
<a name="l00599"></a><a class="code" href="graph3d_8h.html#15882d23f9a1274e3480e2aee9d7eb03d04cd916604a8c08737fc6d7adeffbe1">00599</a>   <a class="code" href="graph3d_8h.html#15882d23f9a1274e3480e2aee9d7eb03d04cd916604a8c08737fc6d7adeffbe1" title="If this flag is set then renderer must do a Z-fill after rendering the portal contents...">CS_OPENPORTAL_ZFILL</a> = 0x00000004,
<a name="l00604"></a><a class="code" href="graph3d_8h.html#15882d23f9a1274e3480e2aee9d7eb037516a125836c49ac48669dbd376ad6fd">00604</a>   <a class="code" href="graph3d_8h.html#15882d23f9a1274e3480e2aee9d7eb037516a125836c49ac48669dbd376ad6fd" title="If this flag is set then this portal mirrors space (changes order of the vertices...">CS_OPENPORTAL_MIRROR</a> = 0x00000010,
<a name="l00612"></a><a class="code" href="graph3d_8h.html#15882d23f9a1274e3480e2aee9d7eb03e51b7914a78d935300de786b35628152">00612</a>   <a class="code" href="graph3d_8h.html#15882d23f9a1274e3480e2aee9d7eb03e51b7914a78d935300de786b35628152" title="If this flag is used then the portal must use possible available stencil buffer on...">CS_OPENPORTAL_FLOAT</a> = 0x00000040
<a name="l00613"></a>00613 };
<a name="l00614"></a>00614 
<a name="l00618"></a><a class="code" href="structcsSimpleRenderMesh.html">00618</a> <span class="keyword">struct </span><a class="code" href="structcsSimpleRenderMesh.html" title="A simple render mesh.">csSimpleRenderMesh</a>
<a name="l00619"></a>00619 {
<a name="l00621"></a><a class="code" href="structcsSimpleRenderMesh.html#92f84b0698056690a5062a3108b3da55">00621</a>   <a class="code" href="graph3d_8h.html#df2df8d75f18c8ea2351b8e2c8180420" title="Primitive type of a mesh.">csRenderMeshType</a> <a class="code" href="structcsSimpleRenderMesh.html#92f84b0698056690a5062a3108b3da55" title="Type of the geometry to draw.">meshtype</a>;
<a name="l00622"></a>00622 
<a name="l00624"></a><a class="code" href="structcsSimpleRenderMesh.html#95ead2b8a5af33dbd8d5e8316da2e1a7">00624</a>   <a class="code" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14" title="Shortcut for default unsigned int.">uint</a> <a class="code" href="structcsSimpleRenderMesh.html#95ead2b8a5af33dbd8d5e8316da2e1a7" title="(optional) Number of vertex indices">indexCount</a>;
<a name="l00632"></a><a class="code" href="structcsSimpleRenderMesh.html#ae0310fbd68a4897f4b9bef8712b11dc">00632</a>   <span class="keyword">const</span> <a class="code" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14" title="Shortcut for default unsigned int.">uint</a>* <a class="code" href="structcsSimpleRenderMesh.html#ae0310fbd68a4897f4b9bef8712b11dc" title="(optional) Vertex indices.">indices</a>;
<a name="l00633"></a>00633 
<a name="l00635"></a><a class="code" href="structcsSimpleRenderMesh.html#d3a600ee0883722f77451671f3bc5a21">00635</a>   <a class="code" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14" title="Shortcut for default unsigned int.">uint</a> <a class="code" href="structcsSimpleRenderMesh.html#d3a600ee0883722f77451671f3bc5a21" title="Number of vertices.">vertexCount</a>;
<a name="l00641"></a><a class="code" href="structcsSimpleRenderMesh.html#b9e7c8b8c9719fe191b28cb9e00013d7">00641</a>   <span class="keyword">const</span> <a class="code" href="classcsVector3.html" title="A 3D vector.">csVector3</a>* <a class="code" href="structcsSimpleRenderMesh.html#b9e7c8b8c9719fe191b28cb9e00013d7" title="Vertices.">vertices</a>;
<a name="l00643"></a><a class="code" href="structcsSimpleRenderMesh.html#185f95dd86f321c188f815ed6d2fef5b">00643</a>   <span class="keyword">const</span> <a class="code" href="classcsVector2.html" title="A 2D vector.">csVector2</a>* <a class="code" href="structcsSimpleRenderMesh.html#185f95dd86f321c188f815ed6d2fef5b" title="(Optional) Texture coordinates.">texcoords</a>;
<a name="l00649"></a><a class="code" href="structcsSimpleRenderMesh.html#fa37b64dc911c62bc294a9c7615e4545">00649</a>   <span class="keyword">const</span> <a class="code" href="classcsVector4.html" title="A 4D vector with &amp;quot;float&amp;quot; components.">csVector4</a>* <a class="code" href="structcsSimpleRenderMesh.html#fa37b64dc911c62bc294a9c7615e4545" title="(Optional) Colors.">colors</a>;
<a name="l00654"></a><a class="code" href="structcsSimpleRenderMesh.html#727ef62fc04219f904cd862fc90a0542">00654</a>   <a class="code" href="structiTextureHandle.html" title="A texture handle as returned by iTextureManager.">iTextureHandle</a>* <a class="code" href="structcsSimpleRenderMesh.html#727ef62fc04219f904cd862fc90a0542" title="(Optional) Handle to the texture to select.">texture</a>;
<a name="l00655"></a>00655 
<a name="l00657"></a><a class="code" href="structcsSimpleRenderMesh.html#cd6707ce76af92f0474c0e099fe4f255">00657</a>   <a class="code" href="structiShader.html" title="Specific shader.">iShader</a>* <a class="code" href="structcsSimpleRenderMesh.html#cd6707ce76af92f0474c0e099fe4f255" title="(Optional) Shader to use.">shader</a>;
<a name="l00659"></a><a class="code" href="structcsSimpleRenderMesh.html#efc56c1a346a88589af3158b4e778cbc">00659</a>   <a class="code" href="structiShaderVariableContext.html" title="This is a baseclass for all interfaces which provides shadervariables both dynamically...">iShaderVariableContext</a>* <a class="code" href="structcsSimpleRenderMesh.html#efc56c1a346a88589af3158b4e778cbc" title="(Optional) Shader variable context.">dynDomain</a>;
<a name="l00661"></a><a class="code" href="structcsSimpleRenderMesh.html#35e4295893e187fa2a51fa65f04bc85b">00661</a>   <a class="code" href="structcsAlphaMode.html" title="Describes how to deal with alpha values in textures.">csAlphaMode</a> <a class="code" href="structcsSimpleRenderMesh.html#35e4295893e187fa2a51fa65f04bc85b" title="(Optional) Alpha mode. Defaults to &amp;quot;autodetect&amp;quot;.">alphaType</a>;
<a name="l00663"></a><a class="code" href="structcsSimpleRenderMesh.html#6e4ee61bd87fcb8e94cec141167b89f1">00663</a>   <a class="code" href="group__gfx3d.html#g79fdaed7abd7a72af33d0f0c5dc99055" title="Z-buffer modes.">csZBufMode</a> <a class="code" href="structcsSimpleRenderMesh.html#6e4ee61bd87fcb8e94cec141167b89f1" title="(Optional) Z buffer mode. Defaults to CS_ZBUF_NONE.">z_buf_mode</a>;
<a name="l00665"></a><a class="code" href="structcsSimpleRenderMesh.html#7ca11eb0c8d2fffa2d458dfec0757403">00665</a>   <a class="code" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14" title="Shortcut for default unsigned int.">uint</a> <a class="code" href="structcsSimpleRenderMesh.html#7ca11eb0c8d2fffa2d458dfec0757403" title="(Optional) Mix mode. Defaults to CS_FX_COPY.">mixmode</a>;
<a name="l00676"></a><a class="code" href="structcsSimpleRenderMesh.html#856070d79fc2f677ec4829767c690e4f">00676</a>   <a class="code" href="classcsReversibleTransform.html" title="A class which defines a reversible transformation from one coordinate system to another...">csReversibleTransform</a> <a class="code" href="structcsSimpleRenderMesh.html#856070d79fc2f677ec4829767c690e4f" title="(Optional) Transform to apply to the mesh.">object2world</a>;
<a name="l00677"></a>00677 
<a name="l00678"></a><a class="code" href="structcsSimpleRenderMesh.html#942ade074bd8b9ab5b11d852bd669d6e">00678</a>   <a class="code" href="structcsSimpleRenderMesh.html#942ade074bd8b9ab5b11d852bd669d6e">csSimpleRenderMesh</a> () : <a class="code" href="structcsSimpleRenderMesh.html#95ead2b8a5af33dbd8d5e8316da2e1a7" title="(optional) Number of vertex indices">indexCount</a>(0), <a class="code" href="structcsSimpleRenderMesh.html#ae0310fbd68a4897f4b9bef8712b11dc" title="(optional) Vertex indices.">indices</a>(0), <a class="code" href="structcsSimpleRenderMesh.html#185f95dd86f321c188f815ed6d2fef5b" title="(Optional) Texture coordinates.">texcoords</a>(0), <a class="code" href="structcsSimpleRenderMesh.html#fa37b64dc911c62bc294a9c7615e4545" title="(Optional) Colors.">colors</a>(0), 
<a name="l00679"></a>00679     <a class="code" href="structcsSimpleRenderMesh.html#727ef62fc04219f904cd862fc90a0542" title="(Optional) Handle to the texture to select.">texture</a> (0), <a class="code" href="structcsSimpleRenderMesh.html#cd6707ce76af92f0474c0e099fe4f255" title="(Optional) Shader to use.">shader</a> (0), <a class="code" href="structcsSimpleRenderMesh.html#efc56c1a346a88589af3158b4e778cbc" title="(Optional) Shader variable context.">dynDomain</a> (0), <a class="code" href="structcsSimpleRenderMesh.html#6e4ee61bd87fcb8e94cec141167b89f1" title="(Optional) Z buffer mode. Defaults to CS_ZBUF_NONE.">z_buf_mode</a> (<a class="code" href="group__gfx3d.html#gg79fdaed7abd7a72af33d0f0c5dc9905567cd6d13a1e237117f19f7ec2b39d18f" title="Don&amp;#39;t test or write.">CS_ZBUF_NONE</a>), 
<a name="l00680"></a>00680     <a class="code" href="structcsSimpleRenderMesh.html#7ca11eb0c8d2fffa2d458dfec0757403" title="(Optional) Mix mode. Defaults to CS_FX_COPY.">mixmode</a> (<a class="code" href="group__gfx3d.html#g157a5b79fc02bff999d17b291dac354d" title="This mixmode uses alpha smooth blending, binary blending (ie enabled alpha test)...">CS_FX_COPY</a>)
<a name="l00681"></a>00681   {  
<a name="l00682"></a>00682     <a class="code" href="structcsSimpleRenderMesh.html#35e4295893e187fa2a51fa65f04bc85b" title="(Optional) Alpha mode. Defaults to &amp;quot;autodetect&amp;quot;.">alphaType</a>.<a class="code" href="structcsAlphaMode.html#61e0a26dfe81e7fc3cded15ff735be0d" title="Whether &amp;#39;automatic alpha mode&amp;#39; should be used.">autoAlphaMode</a> = <span class="keyword">true</span>;
<a name="l00683"></a>00683     <a class="code" href="structcsSimpleRenderMesh.html#35e4295893e187fa2a51fa65f04bc85b" title="(Optional) Alpha mode. Defaults to &amp;quot;autodetect&amp;quot;.">alphaType</a>.<a class="code" href="structcsAlphaMode.html#14adf8db00f3dd9f1650e672fba21c92" title="Texture to retrieve the alpha mode from when autoAlphaMode is true.">autoModeTexture</a> = <a class="code" href="group__util.html#g441e9321397d7398ee7f4da14ba477c8" title="An invalid csStringID.">csInvalidStringID</a>;
<a name="l00684"></a>00684   };
<a name="l00685"></a>00685 };
<a name="l00686"></a>00686 
<a name="l00701"></a><a class="code" href="structiGraphics3D.html">00701</a> <span class="keyword">struct </span><a class="code" href="structiGraphics3D.html" title="This is the standard 3D graphics interface.">iGraphics3D</a> : <span class="keyword">public</span> <span class="keyword">virtual</span> <a class="code" href="structiBase.html" title="This is the basic interface: all other interfaces should be derived from this one...">iBase</a>
<a name="l00702"></a>00702 {
<a name="l00703"></a>00703   SCF_INTERFACE(<a class="code" href="structiGraphics3D.html" title="This is the standard 3D graphics interface.">iGraphics3D</a>, 2, 1, 1);
<a name="l00704"></a>00704   
<a name="l00706"></a>00706   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="structiGraphics3D.html#311cd114c447d60c560e3f221e437b8b" title="Open the 3D graphics display.">Open</a> () = 0;
<a name="l00708"></a>00708   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiGraphics3D.html#12027541f4d46572e8bd7e3f6c72efc6" title="Close the 3D graphics display.">Close</a> () = 0;
<a name="l00709"></a>00709 
<a name="l00717"></a>00717   <span class="keyword">virtual</span> <a class="code" href="structiGraphics2D.html" title="This is the interface for 2D renderer.">iGraphics2D</a> *<a class="code" href="structiGraphics3D.html#0969eabc9030cdd27fc07d70387107ae" title="Retrieve the associated canvas.">GetDriver2D</a> () = 0;
<a name="l00718"></a>00718 
<a name="l00725"></a>00725   <span class="keyword">virtual</span> <a class="code" href="structiTextureManager.html" title="This is the standard texture manager interface.">iTextureManager</a> *<a class="code" href="structiGraphics3D.html#ef1348b61f24373625532f2b4c10d8c7" title="Retrieve the texture manager.">GetTextureManager</a> () = 0;
<a name="l00726"></a>00726 
<a name="l00728"></a>00728   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiGraphics3D.html#7724cf3cd4e83688a31e7387a3c62eba" title="Change the dimensions of the display.">SetDimensions</a> (<span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height) = 0;
<a name="l00730"></a>00730   <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="structiGraphics3D.html#6849627a38f64d3f8a3c5856e7faacfc" title="Get drawing buffer width.">GetWidth</a> () <span class="keyword">const</span> = 0;
<a name="l00732"></a>00732   <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="structiGraphics3D.html#b725ffa96e5771de66891f8c84ae3310" title="Get drawing buffer height.">GetHeight</a> () <span class="keyword">const</span> = 0;
<a name="l00733"></a>00733 
<a name="l00738"></a>00738   <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="structcsGraphics3DCaps.html" title="Information about 3d renderer capabilities.">csGraphics3DCaps</a> *<a class="code" href="structiGraphics3D.html#89bb5994c05f2b9d3d0e6d8ea48125f4" title="Get the current driver&amp;#39;s capabilities.">GetCaps</a> () <span class="keyword">const</span> = 0;
<a name="l00739"></a>00739 
<a name="l00746"></a>00746   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiGraphics3D.html#a996ffcae7b36cf5b6d7e6c56b13d4d1" title="Set center of projection for perspective projection.">SetPerspectiveCenter</a> (<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y) = 0;
<a name="l00747"></a>00747 
<a name="l00754"></a>00754   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiGraphics3D.html#cab01f5c28f4674ebcfae44e58174ec2" title="Get perspective center.">GetPerspectiveCenter</a> (<span class="keywordtype">int</span>&amp; x, <span class="keywordtype">int</span>&amp; y) <span class="keyword">const</span> = 0;
<a name="l00755"></a>00755 
<a name="l00759"></a>00759   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiGraphics3D.html#e5589fa285cbadf260f65faaa1622a66" title="Set aspect ratio for perspective projection.">SetPerspectiveAspect</a> (<span class="keywordtype">float</span> aspect) = 0;
<a name="l00760"></a>00760 
<a name="l00762"></a>00762   <span class="keyword">virtual</span> <span class="keywordtype">float</span> <a class="code" href="structiGraphics3D.html#b7d81b919c044edf248a56ebe025fd43" title="Get aspect ratio.">GetPerspectiveAspect</a> () <span class="keyword">const</span> = 0;
<a name="l00763"></a>00763  
<a name="l00779"></a>00779   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiGraphics3D.html#29683aee559a2b287b35d0604ebaae28" title="Set the target of rendering.">SetRenderTarget</a> (<a class="code" href="structiTextureHandle.html" title="A texture handle as returned by iTextureManager.">iTextureHandle</a>* handle,
<a name="l00780"></a>00780         <span class="keywordtype">bool</span> persistent = <span class="keyword">false</span>,
<a name="l00781"></a>00781         <span class="keywordtype">int</span> subtexture = 0) = 0;
<a name="l00782"></a>00782 
<a name="l00786"></a>00786   <span class="keyword">virtual</span> <a class="code" href="structiTextureHandle.html" title="A texture handle as returned by iTextureManager.">iTextureHandle</a>* <a class="code" href="structiGraphics3D.html#ddf13b73285a796c1fbe97a4b7749e23" title="Get the current render target (0 for screen).">GetRenderTarget</a> () <span class="keyword">const</span> = 0;
<a name="l00787"></a>00787 
<a name="l00789"></a>00789   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="structiGraphics3D.html#a1f60ad7d78587051d15e3375e2c6275" title="Start a new frame (see CSDRAW_XXX bit flags).">BeginDraw</a> (<span class="keywordtype">int</span> DrawFlags) = 0;
<a name="l00790"></a>00790 
<a name="l00792"></a>00792   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiGraphics3D.html#d4ec53d1e6f187bad2775dd8a69c1aeb" title="End the frame and do a page swap.">FinishDraw</a> () = 0;
<a name="l00793"></a>00793 
<a name="l00799"></a>00799   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiGraphics3D.html#85f47020a3074ba59934fa8c4522f570" title="Print the image in backbuffer.">Print</a> (<a class="code" href="classcsRect.html" title="Rectangle class: simple class for manipulating 2D rectangles.">csRect</a> <span class="keyword">const</span>* area) = 0;
<a name="l00800"></a>00800 
<a name="l00802"></a>00802   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiGraphics3D.html#9970c9788a2341ea5977441a2e2a8b9e" title="Drawroutine. Only way to draw stuff.">DrawMesh</a> (<span class="keyword">const</span> <a class="code" href="structcsCoreRenderMesh.html" title="Data required by the renderer to draw a mesh.">csCoreRenderMesh</a>* mymesh,
<a name="l00803"></a>00803                          <span class="keyword">const</span> <a class="code" href="structcsRenderMeshModes.html" title="Mesh render mode information.">csRenderMeshModes</a>&amp; modes,
<a name="l00804"></a>00804                          <span class="keyword">const</span> <a class="code" href="structiShaderVarStack.html">iShaderVarStack</a>* stacks) = 0;
<a name="l00821"></a>00821   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiGraphics3D.html#0f6193251c81945eda7e627850bc4bd5" title="Draw a csSimpleRenderMesh on the screen.">DrawSimpleMesh</a> (<span class="keyword">const</span> <a class="code" href="structcsSimpleRenderMesh.html" title="A simple render mesh.">csSimpleRenderMesh</a>&amp; mesh,
<a name="l00822"></a>00822     <a class="code" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14" title="Shortcut for default unsigned int.">uint</a> flags = 0) = 0;
<a name="l00823"></a>00823 
<a name="l00838"></a>00838   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiGraphics3D.html#02901dad92a738597617018af17b86be" title="Draw a pixmap using a rectangle from given texture.">DrawPixmap</a> (<a class="code" href="structiTextureHandle.html" title="A texture handle as returned by iTextureManager.">iTextureHandle</a> *hTex, <span class="keywordtype">int</span> sx, <span class="keywordtype">int</span> sy,
<a name="l00839"></a>00839     <span class="keywordtype">int</span> sw, <span class="keywordtype">int</span> sh, <span class="keywordtype">int</span> tx, <span class="keywordtype">int</span> ty, <span class="keywordtype">int</span> tw, <span class="keywordtype">int</span> th, <a class="code" href="group__util.html#gdde6aaee8457bee49c2a92621fe22b79" title="unsigned 8-bit integer (0..255)">uint8</a> Alpha = 0) = 0;
<a name="l00840"></a>00840 
<a name="l00845"></a>00845   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiGraphics3D.html#041485a92ecd6ee7120468775f2d41e8" title="Draw a line in camera space.">DrawLine</a> (<span class="keyword">const</span> <a class="code" href="classcsVector3.html" title="A 3D vector.">csVector3</a>&amp; v1, <span class="keyword">const</span> <a class="code" href="classcsVector3.html" title="A 3D vector.">csVector3</a>&amp; v2,
<a name="l00846"></a>00846     <span class="keywordtype">float</span> fov, <span class="keywordtype">int</span> color) = 0;
<a name="l00847"></a>00847 
<a name="l00851"></a>00851   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="structiGraphics3D.html#62eba283c41e16ee10e6c27e9421f73b" title="Activate the buffers in the default buffer holder.">ActivateBuffers</a> (<a class="code" href="classcsRenderBufferHolder.html" title="Holder of standard renderbuffers.">csRenderBufferHolder</a>* holder, 
<a name="l00852"></a>00852     <a class="code" href="group__gfx3d.html#g70013f7ff48bca5acf2c00bbb02eb6d6" title="Defines the names of the renderbuffers as provided by the meshes.">csRenderBufferName</a> mapping[<a class="code" href="group__gfx3d.html#g7ce2aa06ad352f022a1f4701dca2d593">CS_VATTRIB_SPECIFIC_LAST</a>+1]) = 0;
<a name="l00853"></a>00853 
<a name="l00857"></a>00857   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="structiGraphics3D.html#62eba283c41e16ee10e6c27e9421f73b" title="Activate the buffers in the default buffer holder.">ActivateBuffers</a> (<a class="code" href="group__gfx3d.html#g3daee560553f3d8fa3894b31cdde006e" title="Vertex attributes.">csVertexAttrib</a> *attribs,
<a name="l00858"></a>00858     <a class="code" href="structiRenderBuffer.html" title="This is a general buffer.">iRenderBuffer</a> **buffers, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> count) = 0;
<a name="l00859"></a>00859 
<a name="l00864"></a>00864   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiGraphics3D.html#0df7b6bb9d595c1c59503ac6034c42a8" title="Deactivate all given buffers.">DeactivateBuffers</a> (<a class="code" href="group__gfx3d.html#g3daee560553f3d8fa3894b31cdde006e" title="Vertex attributes.">csVertexAttrib</a> *attribs, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> count) = 0;
<a name="l00865"></a>00865 
<a name="l00870"></a>00870   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiGraphics3D.html#067f27208e8a4e9d505cbddcf51b61b5" title="Activate or deactivate all given textures depending on the value of &amp;#39;textures&amp;#39;...">SetTextureState</a> (<span class="keywordtype">int</span>* units, <a class="code" href="structiTextureHandle.html" title="A texture handle as returned by iTextureManager.">iTextureHandle</a>** textures,
<a name="l00871"></a>00871     <span class="keywordtype">int</span> count) = 0;
<a name="l00872"></a>00872 
<a name="l00873"></a>00873 
<a name="l00879"></a>00879   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiGraphics3D.html#6ce0b3822a489b374882908a864c0129" title="Set optional clipper to use.">SetClipper</a> (<a class="code" href="structiClipper2D.html" title="This interfaces represents a 2D clipper for polygons.">iClipper2D</a>* clipper, <span class="keywordtype">int</span> cliptype) = 0;
<a name="l00880"></a>00880 
<a name="l00884"></a>00884   <span class="keyword">virtual</span> <a class="code" href="structiClipper2D.html" title="This interfaces represents a 2D clipper for polygons.">iClipper2D</a>* <a class="code" href="structiGraphics3D.html#a63e449efac50e9ef216a0f0099cdf85" title="Get clipper that was used.">GetClipper</a> () = 0;
<a name="l00885"></a>00885 
<a name="l00889"></a>00889   <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="structiGraphics3D.html#e5d9e08483f9bd0885e7f7a69ecb4102" title="Return type of clipper.">GetClipType</a> () <span class="keyword">const</span> = 0;
<a name="l00890"></a>00890 
<a name="l00895"></a>00895   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiGraphics3D.html#03c8d538f5b11f01493e5075c97415b9" title="Set near clip plane.">SetNearPlane</a> (<span class="keyword">const</span> <a class="code" href="classcsPlane3.html" title="A plane in 3D space.">csPlane3</a>&amp; pl) = 0;
<a name="l00896"></a>00896 
<a name="l00900"></a>00900   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiGraphics3D.html#a3710f859d39b702d00e0ac1bedc856c" title="Reset near clip plane (i.e.">ResetNearPlane</a> () = 0;
<a name="l00901"></a>00901 
<a name="l00905"></a>00905   <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classcsPlane3.html" title="A plane in 3D space.">csPlane3</a>&amp; <a class="code" href="structiGraphics3D.html#1a63ecbe35674970e795d7e79dbb005a" title="Get near clip plane.">GetNearPlane</a> () <span class="keyword">const</span> = 0;
<a name="l00906"></a>00906 
<a name="l00910"></a>00910   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="structiGraphics3D.html#47e5170595941074ed2d9677527212d0" title="Return true if we have a near plane.">HasNearPlane</a> () <span class="keyword">const</span> = 0;
<a name="l00911"></a>00911 
<a name="l00913"></a>00913   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="structiGraphics3D.html#18100c47238241a81415c70742f13aa9" title="Set a renderstate value.">SetRenderState</a> (<a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8" title="Graphics3D render state options.">G3D_RENDERSTATEOPTION</a> op, <span class="keywordtype">long</span> val) = 0;
<a name="l00914"></a>00914 
<a name="l00916"></a>00916   <span class="keyword">virtual</span> <span class="keywordtype">long</span> <a class="code" href="structiGraphics3D.html#5c9b1191e72a361f0479e0e65dfd5bb1" title="Get a renderstate value.">GetRenderState</a> (<a class="code" href="graph3d_8h.html#a0747e910ca225613629d9e9d2fdd9f8" title="Graphics3D render state options.">G3D_RENDERSTATEOPTION</a> op) <span class="keyword">const</span> = 0;
<a name="l00917"></a>00917 
<a name="l00922"></a>00922   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="structiGraphics3D.html#cfae48d9b0b017db4d0574063c77a078" title="Set a renderer specific option.">SetOption</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>*, <span class="keyword">const</span> <span class="keywordtype">char</span>*) = 0;
<a name="l00923"></a>00923   
<a name="l00925"></a>00925   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiGraphics3D.html#bc85cd6f9a7a8243379e395e8569a3dc" title="Set the masking of color and/or alpha values to framebuffer.">SetWriteMask</a> (<span class="keywordtype">bool</span> red, <span class="keywordtype">bool</span> green, <span class="keywordtype">bool</span> blue, <span class="keywordtype">bool</span> alpha) = 0;
<a name="l00926"></a>00926 
<a name="l00928"></a>00928   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiGraphics3D.html#03ea99b880df6d32dab9b0673d27cdb5" title="Get the masking of color and/or alpha values to framebuffer.">GetWriteMask</a> (<span class="keywordtype">bool</span> &amp;red, <span class="keywordtype">bool</span> &amp;green, <span class="keywordtype">bool</span> &amp;blue,
<a name="l00929"></a>00929         <span class="keywordtype">bool</span> &amp;alpha) <span class="keyword">const</span> = 0;
<a name="l00930"></a>00930 
<a name="l00932"></a>00932   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiGraphics3D.html#36361a73cb7553adfc1f120bd1038b3b" title="Set the z buffer write/test mode.">SetZMode</a> (<a class="code" href="group__gfx3d.html#g79fdaed7abd7a72af33d0f0c5dc99055" title="Z-buffer modes.">csZBufMode</a> mode) = 0;
<a name="l00933"></a>00933 
<a name="l00935"></a>00935   <span class="keyword">virtual</span> <a class="code" href="group__gfx3d.html#g79fdaed7abd7a72af33d0f0c5dc99055" title="Z-buffer modes.">csZBufMode</a> <a class="code" href="structiGraphics3D.html#7f5005eef330541b6e0fcf62fe5b20d5" title="Get the z buffer write/test mode.">GetZMode</a> () = 0;
<a name="l00936"></a>00936 
<a name="l00938"></a>00938   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiGraphics3D.html#4ffbafd0d1116d40a64b11dc1f053cd5" title="Enables offsetting of Z values.">EnableZOffset</a> () = 0;
<a name="l00939"></a>00939 
<a name="l00941"></a>00941   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiGraphics3D.html#49a535f60231f8b5a5c2bdc98b4d3e69" title="Disables offsetting of Z values.">DisableZOffset</a> () = 0;
<a name="l00942"></a>00942 
<a name="l00944"></a>00944   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiGraphics3D.html#f24e6c40722647326a657d1d44fa2b7b" title="Controls shadow drawing.">SetShadowState</a> (<span class="keywordtype">int</span> state) = 0;
<a name="l00945"></a>00945 
<a name="l00947"></a>00947   <span class="keyword">virtual</span> <span class="keywordtype">float</span> <a class="code" href="structiGraphics3D.html#2ead8e3bb2b2b3ddec2654c38aa10ddb" title="Get Z-buffer value at given X,Y position.">GetZBuffValue</a> (<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y) = 0;
<a name="l00948"></a>00948 
<a name="l00959"></a>00959   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiGraphics3D.html#949acc5f73f1219ff7d59eb797e5cab2" title="Enter a new portal.">OpenPortal</a> (<span class="keywordtype">size_t</span> numVertices, <span class="keyword">const</span> <a class="code" href="classcsVector2.html" title="A 2D vector.">csVector2</a>* vertices,
<a name="l00960"></a>00960     <span class="keyword">const</span> <a class="code" href="classcsPlane3.html" title="A plane in 3D space.">csPlane3</a>&amp; normal, <a class="code" href="classcsFlags.html" title="Set of flags which can be accessed through masks.">csFlags</a> flags) = 0;
<a name="l00961"></a>00961 
<a name="l00966"></a>00966   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiGraphics3D.html#decc9dfd129e09c459ce9a47d1029e96" title="Close a portal previously opened with OpenPortal().">ClosePortal</a> () = 0;
<a name="l00967"></a>00967 
<a name="l00969"></a>00969   <span class="keyword">virtual</span> <a class="code" href="structiHalo.html" title="iHalo: used to render halos (aka &amp;quot;light globes&amp;quot;).">iHalo</a> *<a class="code" href="structiGraphics3D.html#cb3cc0bc4792606ea6f51bf650e74567" title="Create a halo of the specified color and return a handle.">CreateHalo</a> (<span class="keywordtype">float</span> iR, <span class="keywordtype">float</span> iG, <span class="keywordtype">float</span> iB,
<a name="l00970"></a>00970     <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *iAlpha, <span class="keywordtype">int</span> iWidth, <span class="keywordtype">int</span> iHeight) = 0;
<a name="l00971"></a>00971 
<a name="l00977"></a>00977   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiGraphics3D.html#735ab704ca0005522dbfe0539b4fb451" title="Remove some polygon from the cache.">RemoveFromCache</a> (<a class="code" href="structiRendererLightmap.html" title="A lightmap registered with a renderer.">iRendererLightmap</a>* rlm) = 0;
<a name="l00978"></a>00978 
<a name="l00984"></a>00984   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiGraphics3D.html#f20896aa0f34f7aafa8dfa9e37bfb836" title="Set the world to camera transform.">SetWorldToCamera</a> (<span class="keyword">const</span> <a class="code" href="classcsReversibleTransform.html" title="A class which defines a reversible transformation from one coordinate system to another...">csReversibleTransform</a>&amp; w2c) = 0;
<a name="l00985"></a>00985 
<a name="l00993"></a>00993   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="structiGraphics3D.html#fa6a7b9b4421bedc6f9df706c7ac3240" title="Perform a system specific exension.">PerformExtension</a> (<span class="keywordtype">char</span> <span class="keyword">const</span>* command, ...) = 0;
<a name="l00994"></a>00994 
<a name="l01000"></a>01000   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="structiGraphics3D.html#a676cc819a3230b4673bf0a5883a6172" title="Perform a system specific exension.">PerformExtensionV</a> (<span class="keywordtype">char</span> <span class="keyword">const</span>* command, va_list) = 0;
<a name="l01001"></a>01001   
<a name="l01006"></a>01006   <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classcsReversibleTransform.html" title="A class which defines a reversible transformation from one coordinate system to another...">csReversibleTransform</a>&amp; <a class="code" href="structiGraphics3D.html#a61208209163cf5565f7a4fff1814dbb" title="Get the current world to camera transform.">GetWorldToCamera</a> () = 0;
<a name="l01010"></a>01010   <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="structiGraphics3D.html#207a011a86a1e6c1fe86aecac7b6c626" title="Get the current drawflags.">GetCurrentDrawFlags</a>() <span class="keyword">const</span> = 0;
<a name="l01011"></a>01011 };
<a name="l01012"></a>01012 
<a name="l01015"></a>01015 <span class="preprocessor">#endif // __CS_IVIDEO_GRAPH3D_H__</span>
<a name="l01016"></a>01016 <span class="preprocessor"></span>
</pre></div><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>