aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a03703.html
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--docs/doxygen/nel/a03703.html1046
1 files changed, 1046 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a03703.html b/docs/doxygen/nel/a03703.html
new file mode 100644
index 00000000..7d703bc9
--- /dev/null
+++ b/docs/doxygen/nel/a03703.html
@@ -0,0 +1,1046 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>NeL: NL3D::CVertexStreamManager class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.3.6 -->
+<div class="qindex"> <form class="search" action="search.php" method="get">
+<a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a> | <span class="search"><u>S</u>earch&nbsp;for&nbsp;<input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div>
+<h1>NL3D::CVertexStreamManager Class Reference</h1><code>#include &lt;<a class="el" href="a06721.html">vertex_stream_manager.h</a>&gt;</code>
+<p>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A class used to fill a virtual Vertexbuffer, while rendering it, avoiding Stalls during Locks. Actually multiple versions of VertexBuffer are kept and the <a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerz1166_2">swapVBHard()</a> method cycles around them. NB: it is used for instance to render all skins of a <a class="el" href="a03399.html">CSkeletonModel</a>, in just one <a class="el" href="a03703.html">CVertexStreamManager</a>. This allow optimisation because less VBuffer activation is needed. <dl compact><dt><b>Author:</b></dt><dd>Lionel Berenguier <p>
+Nevrax France </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>2002 </dd></dl>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06721.html#l00050">50</a> of file <a class="el" href="a06721.html">vertex_stream_manager.h</a>.<table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagera0">CVertexStreamManager</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <a href="#NL3D_1_1CVertexStreamManagera0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagera1">~CVertexStreamManager</a> ()</td></tr>
+
+<tr><td colspan="2"><div class="groupHeader">Rendering. Those method assert if init() not called with correct parameters.</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerz1166_0">activate</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">activate the currentVBhard as the current VB in the driver, for future rendering <a href="#NL3D_1_1CVertexStreamManagerz1166_0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a7">uint8</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerz1166_1">lock</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">lock the currently activated VBHard, for future filling <a href="#NL3D_1_1CVertexStreamManagerz1166_1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerz1166_2">swapVBHard</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerz1166_3">unlock</a> (<a class="el" href="a04558.html#a15">uint</a> numVertices)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">unlock the currently activated VBHard. Tell how many vertices have changed. <a href="#NL3D_1_1CVertexStreamManagerz1166_3"></a><br><br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Init/Setup</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02434.html">IDriver</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerz1164_0">getDriver</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return the driver used. <a href="#NL3D_1_1CVertexStreamManagerz1164_0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerz1164_1">getMaxVertices</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get max vertices the Buffer allows. <a href="#NL3D_1_1CVertexStreamManagerz1164_1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerz1164_2">getNumVBHard</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the numVBhard used (Nb: if !vbHardMode(), still returns the argument passed in <a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerz1164_5">init()</a>, ie not 0 or 1) <a href="#NL3D_1_1CVertexStreamManagerz1164_2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerz1164_3">getVertexFormat</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the vertexFormat <a href="#NL3D_1_1CVertexStreamManagerz1164_3"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerz1164_4">getVertexSize</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the vertexSize <a href="#NL3D_1_1CVertexStreamManagerz1164_4"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerz1164_5">init</a> (<a class="el" href="a02434.html">IDriver</a> *driver, <a class="el" href="a04558.html#a15">uint</a> vertexFormat, <a class="el" href="a04558.html#a15">uint</a> maxVertices, <a class="el" href="a04558.html#a15">uint</a> numVBHard, const std::string &amp;vbName)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerz1164_6">release</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">release the VBHard. <a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerz1164_5">init()</a> can be called after this. <a href="#NL3D_1_1CVertexStreamManagerz1164_6"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerz1164_7">vbHardMode</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">true if vbHard (fast) mode. <a href="#NL3D_1_1CVertexStreamManagerz1164_7"></a><br><br></td></tr>
+<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerr0">_CurentVBHard</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03321.html">NLMISC::CRefPtr</a>&lt; <a class="el" href="a02434.html">IDriver</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerr1">_Driver</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerr2">_InitOk</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerr3">_MaxVertices</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerr4">_NumVBHard</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector&lt; <a class="el" href="a03321.html">NLMISC::CRefPtr</a>&lt;<br>
+ <a class="el" href="a03694.html">IVertexBufferHard</a> &gt; &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerr5">_VBHard</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerr6">_VBHardMode</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03692.html">CVertexBuffer</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerr7">_VBSoft</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerr8">_VertexFormat</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerr9">_VertexSize</a></td></tr>
+
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="NL3D_1_1CVertexStreamManagera0" doxytag="NL3D::CVertexStreamManager::CVertexStreamManager" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NL3D::CVertexStreamManager::CVertexStreamManager </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06720.html#l00039">39</a> of file <a class="el" href="a06720.html">vertex_stream_manager.cpp</a>.
+<p>
+References <a class="el" href="a06721.html#l00117">_CurentVBHard</a>, <a class="el" href="a06721.html#l00112">_InitOk</a>, and <a class="el" href="a06721.html#l00111">_VBHardMode</a>.
+<p>
+<div class="fragment"><pre>00040 {
+00041 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr2">_InitOk</a>= <span class="keyword">false</span>;
+00042 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr6">_VBHardMode</a>= <span class="keyword">false</span>;
+00043 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr8">_VertexFormat</a>= 0;
+00044 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr9">_VertexSize</a>= 0;
+00045 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr3">_MaxVertices</a>= 0;
+00046 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr0">_CurentVBHard</a>= 0;
+00047 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr4">_NumVBHard</a>= 0;
+00048 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CVertexStreamManagera1" doxytag="NL3D::CVertexStreamManager::~CVertexStreamManager" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NL3D::CVertexStreamManager::~<a class="el" href="a03703.html">CVertexStreamManager</a> </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06720.html#l00050">50</a> of file <a class="el" href="a06720.html">vertex_stream_manager.cpp</a>.
+<p>
+References <a class="el" href="a06720.html#l00126">release()</a>.
+<p>
+<div class="fragment"><pre>00051 {
+00052 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerz1164_6">release</a>();
+00053 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NL3D_1_1CVertexStreamManagerz1166_0" doxytag="NL3D::CVertexStreamManager::activate" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CVertexStreamManager::activate </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+activate the currentVBhard as the current VB in the driver, for future rendering
+<p>
+
+<p>
+Definition at line <a class="el" href="a06720.html#l00178">178</a> of file <a class="el" href="a06720.html">vertex_stream_manager.cpp</a>.
+<p>
+References <a class="el" href="a06721.html#l00117">_CurentVBHard</a>, <a class="el" href="a06721.html#l00112">_InitOk</a>, <a class="el" href="a06721.html#l00111">_VBHardMode</a>, <a class="el" href="a05788.html#l00056">H_AUTO</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+Referenced by <a class="el" href="a05935.html#l00736">NL3D::CLodCharacterManager::endRender()</a>, <a class="el" href="a06393.html#l01885">NL3D::CSkeletonModel::renderShadowSkins()</a>, and <a class="el" href="a06393.html#l01449">NL3D::CSkeletonModel::renderSkinList()</a>.
+<p>
+<div class="fragment"><pre>00179 {
+00180 <a class="code" href="a04365.html#a4">H_AUTO</a>( NL3D_VertexStreamManager_activate )
+00181 <a class="code" href="a04199.html#a6">nlassert</a>(_InitOk);
+00182
+00183 <span class="keywordflow">if</span>(<a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr6">_VBHardMode</a>)
+00184 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr1">_Driver</a>-&gt;activeVertexBufferHard(_VBHard[_CurentVBHard]);
+00185 <span class="keywordflow">else</span>
+00186 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr1">_Driver</a>-&gt;activeVertexBuffer(_VBSoft);
+00187 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CVertexStreamManagerz1164_0" doxytag="NL3D::CVertexStreamManager::getDriver" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02434.html">IDriver</a>* NL3D::CVertexStreamManager::getDriver </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return the driver used.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06721.html#l00076">76</a> of file <a class="el" href="a06721.html">vertex_stream_manager.h</a>.
+<p>
+Referenced by <a class="el" href="a05935.html#l00359">NL3D::CLodCharacterManager::addRenderCharacterKey()</a>, <a class="el" href="a05935.html#l00276">NL3D::CLodCharacterManager::beginRender()</a>, <a class="el" href="a05935.html#l00736">NL3D::CLodCharacterManager::endRender()</a>, and <a class="el" href="a06329.html#l00089">NL3D::CRenderTrav::traverse()</a>.
+<p>
+<div class="fragment"><pre>00076 {<span class="keywordflow">return</span> <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr1">_Driver</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CVertexStreamManagerz1164_1" doxytag="NL3D::CVertexStreamManager::getMaxVertices" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> NL3D::CVertexStreamManager::getMaxVertices </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get max vertices the Buffer allows.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06721.html#l00082">82</a> of file <a class="el" href="a06721.html">vertex_stream_manager.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05935.html#l00276">NL3D::CLodCharacterManager::beginRender()</a>, <a class="el" href="a06393.html#l01885">NL3D::CSkeletonModel::renderShadowSkins()</a>, and <a class="el" href="a06393.html#l01449">NL3D::CSkeletonModel::renderSkinList()</a>.
+<p>
+<div class="fragment"><pre>00082 {<span class="keywordflow">return</span> <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr3">_MaxVertices</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CVertexStreamManagerz1164_2" doxytag="NL3D::CVertexStreamManager::getNumVBHard" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> NL3D::CVertexStreamManager::getNumVBHard </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the numVBhard used (Nb: if !vbHardMode(), still returns the argument passed in <a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerz1164_5">init()</a>, ie not 0 or 1)
+<p>
+
+<p>
+Definition at line <a class="el" href="a06721.html#l00074">74</a> of file <a class="el" href="a06721.html">vertex_stream_manager.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05935.html#l00276">NL3D::CLodCharacterManager::beginRender()</a>.
+<p>
+<div class="fragment"><pre>00074 {<span class="keywordflow">return</span> <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr4">_NumVBHard</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CVertexStreamManagerz1164_3" doxytag="NL3D::CVertexStreamManager::getVertexFormat" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> NL3D::CVertexStreamManager::getVertexFormat </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the vertexFormat
+<p>
+
+<p>
+Definition at line <a class="el" href="a06721.html#l00078">78</a> of file <a class="el" href="a06721.html">vertex_stream_manager.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00078 {<span class="keywordflow">return</span> <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr8">_VertexFormat</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CVertexStreamManagerz1164_4" doxytag="NL3D::CVertexStreamManager::getVertexSize" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> NL3D::CVertexStreamManager::getVertexSize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the vertexSize
+<p>
+
+<p>
+Definition at line <a class="el" href="a06721.html#l00080">80</a> of file <a class="el" href="a06721.html">vertex_stream_manager.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05935.html#l00276">NL3D::CLodCharacterManager::beginRender()</a>, <a class="el" href="a06393.html#l01885">NL3D::CSkeletonModel::renderShadowSkins()</a>, and <a class="el" href="a06393.html#l01449">NL3D::CSkeletonModel::renderSkinList()</a>.
+<p>
+<div class="fragment"><pre>00080 {<span class="keywordflow">return</span> <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr9">_VertexSize</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CVertexStreamManagerz1164_5" doxytag="NL3D::CVertexStreamManager::init" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CVertexStreamManager::init </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02434.html">IDriver</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>driver</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>vertexFormat</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>maxVertices</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>numVBHard</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>vbName</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+init the manager with a driver, allocate the VBHards, and setup the vertexFormat. Must call each time the drive changes. NB: if VBufferHard creation fail (not supported etc...), then a VBSoft is created instead (and just one since not usefull) <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>numVBHard</em>&nbsp;</td><td>the number of VBHard to create. The max you set, the lower lock you'll have. </td></tr>
+ <tr><td valign=top><em>vbName</em>&nbsp;</td><td>base, for Lock profiling</td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a06720.html#l00056">56</a> of file <a class="el" href="a06720.html">vertex_stream_manager.cpp</a>.
+<p>
+References <a class="el" href="a06721.html#l00117">_CurentVBHard</a>, <a class="el" href="a06721.html#l00112">_InitOk</a>, <a class="el" href="a06721.html#l00111">_VBHardMode</a>, <a class="el" href="a06711.html#l00504">NL3D::CVertexBuffer::getUVRouting()</a>, <a class="el" href="a06711.html#l00483">NL3D::CVertexBuffer::getValueTypePointer()</a>, <a class="el" href="a06711.html#l00319">NL3D::CVertexBuffer::getVertexFormat()</a>, <a class="el" href="a06711.html#l00473">NL3D::CVertexBuffer::getVertexSize()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06720.html#l00126">release()</a>, <a class="el" href="a06710.html#l00409">NL3D::CVertexBuffer::setNumVertices()</a>, <a class="el" href="a06711.html#l00505">NL3D::CVertexBuffer::setUVRouting()</a>, <a class="el" href="a06710.html#l00169">NL3D::CVertexBuffer::setVertexFormat()</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05935.html#l00276">NL3D::CLodCharacterManager::beginRender()</a>, and <a class="el" href="a06329.html#l00089">NL3D::CRenderTrav::traverse()</a>.
+<p>
+<div class="fragment"><pre>00057 {
+00058 <a class="code" href="a04199.html#a6">nlassert</a>(driver);
+00059 <span class="comment">// clean before.</span>
+00060 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerz1164_6">release</a>();
+00061
+00062 <span class="comment">// Create VBHard placeholder</span>
+00063 <span class="keywordflow">if</span>(numVBHard==0 || maxVertices==0)
+00064 <span class="keywordflow">return</span>;
+00065 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr4">_NumVBHard</a>= numVBHard;
+00066 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr5">_VBHard</a>.resize(_NumVBHard, NULL);
+00067
+00068 <span class="comment">// setup, =&gt; correct for possible release below</span>
+00069 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr1">_Driver</a>= driver;
+00070
+00071 <span class="comment">// setup the VB soft, for easy setup</span>
+00072 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr7">_VBSoft</a>.setVertexFormat(vertexFormat);
+00073
+00074 <span class="comment">// For the moment, all UV channel are routed to UV0</span>
+00075 <a class="code" href="a04558.html#a15">uint</a> i;
+00076 <span class="keywordflow">for</span> (i=0; i&lt;CVertexBuffer::MaxStage; i++)
+00077 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr7">_VBSoft</a>.setUVRouting (i, 0);
+00078
+00079 <span class="comment">// create the VBHard, if possible</span>
+00080 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr6">_VBHardMode</a>= <span class="keyword">true</span>;
+00081 <span class="keywordflow">for</span>(i=0;i&lt;<a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr4">_NumVBHard</a>;i++)
+00082 {
+00083 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr5">_VBHard</a>[i]= <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr1">_Driver</a>-&gt;createVertexBufferHard(<a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr7">_VBSoft</a>.getVertexFormat(), <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr7">_VBSoft</a>.getValueTypePointer(), maxVertices, IDriver::VBHardAGP, <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr7">_VBSoft</a>.getUVRouting());
+00084 <span class="comment">// if filas, release all, and quit</span>
+00085 <span class="keywordflow">if</span>(<a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr5">_VBHard</a>[i]==NULL)
+00086 {
+00087 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr6">_VBHardMode</a>= <span class="keyword">false</span>;
+00088 <span class="keywordflow">break</span>;
+00089 }
+00090 <span class="comment">// ok, set name for lock profiling</span>
+00091 <span class="keywordflow">else</span>
+00092 {
+00093 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr5">_VBHard</a>[i]-&gt;setName(vbName + NLMISC::toString(i));
+00094 }
+00095 }
+00096
+00097 <span class="comment">// if fails to create vbHard, abort, and create only one vbSoft</span>
+00098 <span class="keywordflow">if</span>(!<a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr6">_VBHardMode</a>)
+00099 {
+00100 <span class="comment">// release all vbhard created</span>
+00101 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> i=0;i&lt;_NumVBHard;i++)
+00102 {
+00103 <span class="keywordflow">if</span>(<a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr5">_VBHard</a>[i])
+00104 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr1">_Driver</a>-&gt;deleteVertexBufferHard(_VBHard[i]);
+00105 }
+00106 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr5">_VBHard</a>.clear();
+00107
+00108 <span class="comment">// create the Soft One</span>
+00109 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr7">_VBSoft</a>.setNumVertices(maxVertices);
+00110 }
+00111
+00112 <span class="comment">// init misc</span>
+00113 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr2">_InitOk</a>= <span class="keyword">true</span>;
+00114 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr8">_VertexFormat</a>= <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr7">_VBSoft</a>.getVertexFormat();
+00115 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr9">_VertexSize</a>= <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr7">_VBSoft</a>.getVertexSize();
+00116 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr3">_MaxVertices</a>= maxVertices;
+00117 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr0">_CurentVBHard</a>= 0;
+00118
+00119 <span class="comment">// release the VBsoft if in vbHardMode (no more used)</span>
+00120 <span class="keywordflow">if</span>(<a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr6">_VBHardMode</a>)
+00121 {
+00122 <a class="code" href="a05378.html#a381">contReset</a>(_VBSoft);
+00123 }
+00124 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CVertexStreamManagerz1166_1" doxytag="NL3D::CVertexStreamManager::lock" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a7">uint8</a> * NL3D::CVertexStreamManager::lock </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+lock the currently activated VBHard, for future filling
+<p>
+
+<p>
+Definition at line <a class="el" href="a06720.html#l00155">155</a> of file <a class="el" href="a06720.html">vertex_stream_manager.cpp</a>.
+<p>
+References <a class="el" href="a06721.html#l00117">_CurentVBHard</a>, <a class="el" href="a06721.html#l00112">_InitOk</a>, <a class="el" href="a06721.html#l00111">_VBHardMode</a>, <a class="el" href="a06710.html#l00438">NL3D::CVertexBuffer::getVertexCoordPointer()</a>, <a class="el" href="a05788.html#l00056">H_AUTO</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+Referenced by <a class="el" href="a05935.html#l00359">NL3D::CLodCharacterManager::addRenderCharacterKey()</a>, <a class="el" href="a06393.html#l01885">NL3D::CSkeletonModel::renderShadowSkins()</a>, and <a class="el" href="a06393.html#l01449">NL3D::CSkeletonModel::renderSkinList()</a>.
+<p>
+<div class="fragment"><pre>00156 {
+00157 <a class="code" href="a04365.html#a4">H_AUTO</a>( NL3D_VertexStreamManager_lock )
+00158 <a class="code" href="a04199.html#a6">nlassert</a>(_InitOk);
+00159
+00160 <span class="keywordflow">if</span>(<a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr6">_VBHardMode</a>)
+00161 <span class="keywordflow">return</span> (<a class="code" href="a04558.html#a7">uint8</a>*)<a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr5">_VBHard</a>[<a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr0">_CurentVBHard</a>]-&gt;lock();
+00162 <span class="keywordflow">else</span>
+00163 <span class="keywordflow">return</span> (<a class="code" href="a04558.html#a7">uint8</a>*)<a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr7">_VBSoft</a>.getVertexCoordPointer();
+00164 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CVertexStreamManagerz1164_6" doxytag="NL3D::CVertexStreamManager::release" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CVertexStreamManager::release </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+release the VBHard. <a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerz1164_5">init()</a> can be called after this.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06720.html#l00126">126</a> of file <a class="el" href="a06720.html">vertex_stream_manager.cpp</a>.
+<p>
+References <a class="el" href="a06721.html#l00117">_CurentVBHard</a>, <a class="el" href="a06721.html#l00112">_InitOk</a>, <a class="el" href="a06721.html#l00111">_VBHardMode</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05935.html#l00276">NL3D::CLodCharacterManager::beginRender()</a>, <a class="el" href="a06720.html#l00056">init()</a>, <a class="el" href="a06092.html#l00153">NL3D::CNELU::releaseDriver()</a>, <a class="el" href="a05935.html#l00114">NL3D::CLodCharacterManager::reset()</a>, <a class="el" href="a06329.html#l00089">NL3D::CRenderTrav::traverse()</a>, and <a class="el" href="a06720.html#l00050">~CVertexStreamManager()</a>.
+<p>
+<div class="fragment"><pre>00127 {
+00128 <span class="comment">// release driver/VBHard</span>
+00129 <span class="keywordflow">if</span>(<a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr1">_Driver</a>)
+00130 {
+00131 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> i=0;i&lt;<a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr4">_NumVBHard</a>;i++)
+00132 {
+00133 <span class="keywordflow">if</span>(<a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr5">_VBHard</a>[i])
+00134 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr1">_Driver</a>-&gt;deleteVertexBufferHard(_VBHard[i]);
+00135 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr5">_VBHard</a>[i]= NULL;
+00136 }
+00137 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr1">_Driver</a>= NULL;
+00138 }
+00139
+00140 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr5">_VBHard</a>.clear();
+00141
+00142 <span class="comment">// release VBSoft</span>
+00143 <a class="code" href="a05378.html#a381">contReset</a>(_VBSoft);
+00144
+00145 <span class="comment">// misc</span>
+00146 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr2">_InitOk</a>= <span class="keyword">false</span>;
+00147 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr6">_VBHardMode</a>= <span class="keyword">false</span>;
+00148 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr8">_VertexFormat</a>= 0;
+00149 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr9">_VertexSize</a>= 0;
+00150 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr3">_MaxVertices</a>= 0;
+00151 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr0">_CurentVBHard</a>= 0;
+00152 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr4">_NumVBHard</a>= 0;
+00153 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CVertexStreamManagerz1166_2" doxytag="NL3D::CVertexStreamManager::swapVBHard" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CVertexStreamManager::swapVBHard </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Swap to the next VBHard. This allow some parralelism, since CPU fill one VBHard while the other is rendered NB: no-op if the vertex stream manager falls down to the VBSoft solution.
+<p>
+Definition at line <a class="el" href="a06720.html#l00189">189</a> of file <a class="el" href="a06720.html">vertex_stream_manager.cpp</a>.
+<p>
+References <a class="el" href="a06721.html#l00117">_CurentVBHard</a>, <a class="el" href="a06721.html#l00112">_InitOk</a>, <a class="el" href="a06721.html#l00111">_VBHardMode</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+Referenced by <a class="el" href="a05935.html#l00736">NL3D::CLodCharacterManager::endRender()</a>, <a class="el" href="a06393.html#l01885">NL3D::CSkeletonModel::renderShadowSkins()</a>, and <a class="el" href="a06393.html#l01449">NL3D::CSkeletonModel::renderSkinList()</a>.
+<p>
+<div class="fragment"><pre>00190 {
+00191 <a class="code" href="a04199.html#a6">nlassert</a>(_InitOk);
+00192
+00193 <span class="keywordflow">if</span>(<a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr6">_VBHardMode</a>)
+00194 {
+00195 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr0">_CurentVBHard</a>++;
+00196 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr0">_CurentVBHard</a>= <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr0">_CurentVBHard</a>%<a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr4">_NumVBHard</a>;
+00197 }
+00198 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CVertexStreamManagerz1166_3" doxytag="NL3D::CVertexStreamManager::unlock" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CVertexStreamManager::unlock </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>numVertices</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+unlock the currently activated VBHard. Tell how many vertices have changed.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06720.html#l00166">166</a> of file <a class="el" href="a06720.html">vertex_stream_manager.cpp</a>.
+<p>
+References <a class="el" href="a06721.html#l00117">_CurentVBHard</a>, <a class="el" href="a06721.html#l00112">_InitOk</a>, <a class="el" href="a06721.html#l00111">_VBHardMode</a>, <a class="el" href="a05788.html#l00056">H_AUTO</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05935.html#l00736">NL3D::CLodCharacterManager::endRender()</a>, <a class="el" href="a06393.html#l01885">NL3D::CSkeletonModel::renderShadowSkins()</a>, and <a class="el" href="a06393.html#l01449">NL3D::CSkeletonModel::renderSkinList()</a>.
+<p>
+<div class="fragment"><pre>00167 {
+00168 <a class="code" href="a04365.html#a4">H_AUTO</a>( NL3D_VertexStreamManager_unlock )
+00169 <a class="code" href="a04199.html#a6">nlassert</a>(_InitOk);
+00170
+00171 <span class="keywordflow">if</span>(<a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr6">_VBHardMode</a>)
+00172 {
+00173 <span class="comment">// ATI: release only vertices used.</span>
+00174 <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr5">_VBHard</a>[<a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr0">_CurentVBHard</a>]-&gt;unlock(0, numVertices);
+00175 }
+00176 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CVertexStreamManagerz1164_7" doxytag="NL3D::CVertexStreamManager::vbHardMode" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CVertexStreamManager::vbHardMode </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+true if vbHard (fast) mode.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06721.html#l00072">72</a> of file <a class="el" href="a06721.html">vertex_stream_manager.h</a>.
+<p>
+References <a class="el" href="a06721.html#l00111">_VBHardMode</a>.
+<p>
+<div class="fragment"><pre>00072 {<span class="keywordflow">return</span> <a class="code" href="a03703.html#NL3D_1_1CVertexStreamManagerr6">_VBHardMode</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="NL3D_1_1CVertexStreamManagerr0" doxytag="NL3D::CVertexStreamManager::_CurentVBHard" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerr0">NL3D::CVertexStreamManager::_CurentVBHard</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06721.html#l00117">117</a> of file <a class="el" href="a06721.html">vertex_stream_manager.h</a>.
+<p>
+Referenced by <a class="el" href="a06720.html#l00178">activate()</a>, <a class="el" href="a06720.html#l00039">CVertexStreamManager()</a>, <a class="el" href="a06720.html#l00056">init()</a>, <a class="el" href="a06720.html#l00155">lock()</a>, <a class="el" href="a06720.html#l00126">release()</a>, <a class="el" href="a06720.html#l00189">swapVBHard()</a>, and <a class="el" href="a06720.html#l00166">unlock()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CVertexStreamManagerr1" doxytag="NL3D::CVertexStreamManager::_Driver" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03321.html">NLMISC::CRefPtr</a>&lt;<a class="el" href="a02434.html">IDriver</a>&gt; <a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerr1">NL3D::CVertexStreamManager::_Driver</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06721.html#l00108">108</a> of file <a class="el" href="a06721.html">vertex_stream_manager.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CVertexStreamManagerr2" doxytag="NL3D::CVertexStreamManager::_InitOk" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerr2">NL3D::CVertexStreamManager::_InitOk</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06721.html#l00112">112</a> of file <a class="el" href="a06721.html">vertex_stream_manager.h</a>.
+<p>
+Referenced by <a class="el" href="a06720.html#l00178">activate()</a>, <a class="el" href="a06720.html#l00039">CVertexStreamManager()</a>, <a class="el" href="a06720.html#l00056">init()</a>, <a class="el" href="a06720.html#l00155">lock()</a>, <a class="el" href="a06720.html#l00126">release()</a>, <a class="el" href="a06720.html#l00189">swapVBHard()</a>, and <a class="el" href="a06720.html#l00166">unlock()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CVertexStreamManagerr3" doxytag="NL3D::CVertexStreamManager::_MaxVertices" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerr3">NL3D::CVertexStreamManager::_MaxVertices</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06721.html#l00115">115</a> of file <a class="el" href="a06721.html">vertex_stream_manager.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CVertexStreamManagerr4" doxytag="NL3D::CVertexStreamManager::_NumVBHard" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerr4">NL3D::CVertexStreamManager::_NumVBHard</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06721.html#l00106">106</a> of file <a class="el" href="a06721.html">vertex_stream_manager.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CVertexStreamManagerr5" doxytag="NL3D::CVertexStreamManager::_VBHard" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::vector&lt;<a class="el" href="a03321.html">NLMISC::CRefPtr</a>&lt;<a class="el" href="a03694.html">IVertexBufferHard</a>&gt; &gt; <a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerr5">NL3D::CVertexStreamManager::_VBHard</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06721.html#l00109">109</a> of file <a class="el" href="a06721.html">vertex_stream_manager.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CVertexStreamManagerr6" doxytag="NL3D::CVertexStreamManager::_VBHardMode" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerr6">NL3D::CVertexStreamManager::_VBHardMode</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06721.html#l00111">111</a> of file <a class="el" href="a06721.html">vertex_stream_manager.h</a>.
+<p>
+Referenced by <a class="el" href="a06720.html#l00178">activate()</a>, <a class="el" href="a06720.html#l00039">CVertexStreamManager()</a>, <a class="el" href="a06720.html#l00056">init()</a>, <a class="el" href="a06720.html#l00155">lock()</a>, <a class="el" href="a06720.html#l00126">release()</a>, <a class="el" href="a06720.html#l00189">swapVBHard()</a>, <a class="el" href="a06720.html#l00166">unlock()</a>, and <a class="el" href="a06721.html#l00072">vbHardMode()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CVertexStreamManagerr7" doxytag="NL3D::CVertexStreamManager::_VBSoft" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03692.html">CVertexBuffer</a> <a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerr7">NL3D::CVertexStreamManager::_VBSoft</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06721.html#l00110">110</a> of file <a class="el" href="a06721.html">vertex_stream_manager.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CVertexStreamManagerr8" doxytag="NL3D::CVertexStreamManager::_VertexFormat" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerr8">NL3D::CVertexStreamManager::_VertexFormat</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06721.html#l00113">113</a> of file <a class="el" href="a06721.html">vertex_stream_manager.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CVertexStreamManagerr9" doxytag="NL3D::CVertexStreamManager::_VertexSize" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a03703.html#NL3D_1_1CVertexStreamManagerr9">NL3D::CVertexStreamManager::_VertexSize</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06721.html#l00114">114</a> of file <a class="el" href="a06721.html">vertex_stream_manager.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a06721.html">vertex_stream_manager.h</a><li><a class="el" href="a06720.html">vertex_stream_manager.cpp</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 08:26:11 2004 for NeL by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
+</a>1.3.6 </small></address>
+</body>
+</html>