diff options
author | neodarz <neodarz@neodarz.net> | 2018-08-11 20:21:34 +0200 |
---|---|---|
committer | neodarz <neodarz@neodarz.net> | 2018-08-11 20:21:34 +0200 |
commit | 0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch) | |
tree | 2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /docs/doxygen/nel/a02715.html | |
download | nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip |
Initial commit
Diffstat (limited to 'docs/doxygen/nel/a02715.html')
-rw-r--r-- | docs/doxygen/nel/a02715.html | 1601 |
1 files changed, 1601 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a02715.html b/docs/doxygen/nel/a02715.html new file mode 100644 index 00000000..1ecd2471 --- /dev/null +++ b/docs/doxygen/nel/a02715.html @@ -0,0 +1,1601 @@ +<!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::CLandscapeVBAllocator 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 Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a> | <span class="search"><u>S</u>earch for <input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div> +<h1>NL3D::CLandscapeVBAllocator Class Reference</h1><code>#include <<a class="el" href="a05881.html">landscapevb_allocator.h</a>></code> +<p> +<hr><a name="_details"></a><h2>Detailed Description</h2> +A class to easily allocate vertices for Landscape Far / Tile faces. <dl compact><dt><b>Author:</b></dt><dd>Lionel Berenguier <p> +Nevrax France </dd></dl> +<dl compact><dt><b>Date:</b></dt><dd>2001 </dd></dl> + +<p> + +<p> +Definition at line <a class="el" href="a05881.html#l00061">61</a> of file <a class="el" href="a05881.html">landscapevb_allocator.h</a>.<table border=0 cellpadding=0 cellspacing=0> +<tr><td></td></tr> +<tr><td colspan=2><br><h2>Vertex Program mgt .</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>enum </td><td class="memItemRight" valign=bottom>{ <a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz313_0NL3D_1_1CLandscapeVBAllocatory0">MaxVertexProgram</a> = 2 + }</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz313_1">deleteVertexProgram</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz313_2">setupVBFormatAndVertexProgram</a> (bool withVertexProgram)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03702.html">CVertexProgram</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz313_3">_VertexProgram</a> [MaxVertexProgram]</td></tr> + +<tr><td colspan=2><br><h2>VB mgt .</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_0">allocateVertexBuffer</a> (<a class="el" href="a04558.html#a11">uint32</a> numVertices)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_1">deleteVertexBuffer</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_2">_BufferLocked</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03321.html">NLMISC::CRefPtr</a>< <a class="el" href="a02434.html">IDriver</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_3">_Driver</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03692.html">CVertexBuffer</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03321.html">NLMISC::CRefPtr</a>< <a class="el" href="a03694.html">IVertexBufferHard</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_5">_VBHard</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_6">_VBHardOk</a></td></tr> + +<tr><td colspan=2><br><h2>Public Types</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>enum </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorw3">TType</a> { <a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorw3NL3D_1_1CLandscapeVBAllocatorw0">Far0</a>, +<a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorw3NL3D_1_1CLandscapeVBAllocatorw1">Far1</a>, +<a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorw3NL3D_1_1CLandscapeVBAllocatorw2">Tile</a> + }</td></tr> + +<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatora0">CLandscapeVBAllocator</a> (<a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorw3">TType</a> <a class="el" href="a04223.html#a581">type</a>, const std::string &vbName)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="#NL3D_1_1CLandscapeVBAllocatora0"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatora1">clear</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatora2">updateDriver</a> (<a class="el" href="a02434.html">IDriver</a> *driver)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatora3">~CLandscapeVBAllocator</a> ()</td></tr> + +<tr><td colspan="2"><div class="groupHeader">Buffer access.</div></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz307_0">activate</a> (<a class="el" href="a04558.html#a15">uint</a> vpId)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz307_1">bufferLocked</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz307_2">lockBuffer</a> (<a class="el" href="a02982.html">CNearVertexBufferInfo</a> &tileVB)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz307_3">lockBuffer</a> (<a class="el" href="a02512.html">CFarVertexBufferInfo</a> &farVB)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz307_4">synchronizeATIVBHard</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">only if ATI VBHard is enabled intenally. Copy the entire VBuffer to _ATIVBHard. This last is used in <a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz307_0">activate()</a>. <a href="#NL3D_1_1CLandscapeVBAllocatorz307_4"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz307_5">unlockBuffer</a> ()</td></tr> + +<tr><td colspan="2"><div class="groupHeader">Allocation.</div></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz305_0">allocateVertex</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz305_1">deleteVertex</a> (<a class="el" href="a04558.html#a15">uint</a> vid)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz305_2">reallocationOccurs</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz305_3">resetReallocation</a> ()</td></tr> + +<tr><td colspan=2><br><h2>Private Types</h2></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> </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr0">_NumVerticesAllocated</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr1">_ReallocationOccur</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorw3">TType</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr2">_Type</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>std::string </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr3">_VBName</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector< <a class="el" href="a04558.html#a15">uint</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr4">_VertexFreeMemory</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector< <a class="el" href="a02716.html">CVertexInfo</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr5">_VertexInfos</a></td></tr> + +<tr><td colspan="2"><div class="groupHeader">Special ATI VBHard mgt.</div></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03321.html">NLMISC::CRefPtr</a>< <a class="el" href="a03694.html">IVertexBufferHard</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz311_0">_ATIVBHard</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz311_1">_ATIVBHardOk</a></td></tr> + +</table> +<hr><h2>Member Enumeration Documentation</h2> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorz313_0" doxytag="NL3D::CLandscapeVBAllocator::@15" ></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"> anonymous enum<code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +<dl compact><dt><b>Enumeration values: </b></dt><dd> +<table border=0 cellspacing=2 cellpadding=0> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorz313_0NL3D_1_1CLandscapeVBAllocatory0" doxytag="MaxVertexProgram" ></a>MaxVertexProgram</em> </td><td> +</td></tr> +</table> +</dl> + +<p> +Definition at line <a class="el" href="a05881.html#l00172">172</a> of file <a class="el" href="a05881.html">landscapevb_allocator.h</a>. +<p> +<div class="fragment"><pre>00172 {<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz313_0NL3D_1_1CLandscapeVBAllocatory0">MaxVertexProgram</a>= 2,}; +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorw3" doxytag="NL3D::CLandscapeVBAllocator::TType" ></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"> enum <a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorw3">NL3D::CLandscapeVBAllocator::TType</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +<dl compact><dt><b>Enumeration values: </b></dt><dd> +<table border=0 cellspacing=2 cellpadding=0> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorw3NL3D_1_1CLandscapeVBAllocatorw0" doxytag="Far0" ></a>Far0</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorw3NL3D_1_1CLandscapeVBAllocatorw1" doxytag="Far1" ></a>Far1</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorw3NL3D_1_1CLandscapeVBAllocatorw2" doxytag="Tile" ></a>Tile</em> </td><td> +</td></tr> +</table> +</dl> + +<p> +Definition at line <a class="el" href="a05881.html#l00065">65</a> of file <a class="el" href="a05881.html">landscapevb_allocator.h</a>. +<p> +<div class="fragment"><pre>00065 {<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorw3NL3D_1_1CLandscapeVBAllocatorw0">Far0</a>, <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorw3NL3D_1_1CLandscapeVBAllocatorw1">Far1</a>, <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorw3NL3D_1_1CLandscapeVBAllocatorw2">Tile</a>}; +</pre></div> </td> + </tr> +</table> +<hr><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatora0" doxytag="NL3D::CLandscapeVBAllocator::CLandscapeVBAllocator" ></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::CLandscapeVBAllocator::CLandscapeVBAllocator </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorw3">TType</a> </td> + <td class="mdname" nowrap> <em>type</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const std::string & </td> + <td class="mdname" nowrap> <em>vbName</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Constructor. +<p> + +<p> +Definition at line <a class="el" href="a05880.html#l00056">56</a> of file <a class="el" href="a05880.html">landscapevb_allocator.cpp</a>. +<p> +References <a class="el" href="a05881.html#l00165">_ATIVBHardOk</a>, <a class="el" href="a05881.html#l00153">_BufferLocked</a>, <a class="el" href="a05881.html#l00141">_NumVerticesAllocated</a>, <a class="el" href="a05881.html#l00137">_ReallocationOccur</a>, <a class="el" href="a05881.html#l00134">_Type</a>, <a class="el" href="a05881.html#l00150">_VBHardOk</a>, <a class="el" href="a05881.html#l00135">_VBName</a>, <a class="el" href="a05881.html#l00139">_VertexFreeMemory</a>, <a class="el" href="a05881.html#l00174">_VertexProgram</a>, <a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz313_0NL3D_1_1CLandscapeVBAllocatory0">MaxVertexProgram</a>, <a class="el" href="a05880.html#l00050">NL3D_VERTEX_FREE_MEMORY_RESERVE</a>, <a class="el" href="a05646.html#l00244">type</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>00057 { +00058 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr2">_Type</a>= <a class="code" href="a04223.html#a581">type</a>; +00059 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr3">_VBName</a>= vbName; +00060 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr4">_VertexFreeMemory</a>.reserve(NL3D_VERTEX_FREE_MEMORY_RESERVE); +00061 +00062 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr1">_ReallocationOccur</a>= <span class="keyword">false</span>; +00063 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr0">_NumVerticesAllocated</a>= 0; +00064 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_6">_VBHardOk</a>= <span class="keyword">false</span>; +00065 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz311_1">_ATIVBHardOk</a>= <span class="keyword">false</span>; +00066 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_2">_BufferLocked</a>= <span class="keyword">false</span>; +00067 +00068 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> i=0;i<<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz313_0NL3D_1_1CLandscapeVBAllocatory0">MaxVertexProgram</a>;i++) +00069 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz313_3">_VertexProgram</a>[i]= NULL; +00070 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatora3" doxytag="NL3D::CLandscapeVBAllocator::~CLandscapeVBAllocator" ></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::CLandscapeVBAllocator::~<a class="el" href="a02715.html">CLandscapeVBAllocator</a> </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05880.html#l00073">73</a> of file <a class="el" href="a05880.html">landscapevb_allocator.cpp</a>. +<p> +References <a class="el" href="a05880.html#l00114">clear()</a>. +<p> +<div class="fragment"><pre>00074 { +00075 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatora1">clear</a>(); +00076 } +</pre></div> </td> + </tr> +</table> +<hr><h2>Member Function Documentation</h2> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorz307_0" doxytag="NL3D::CLandscapeVBAllocator::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::CLandscapeVBAllocator::activate </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname1" valign="top" nowrap> <em>vpId</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +activate the VB or the VBHard in Driver setuped. nlassert if driver is NULL or if buffer is locked. If vertexProgram possible, activate the vertexProgram too. Give a vertexProgram Id to activate. Always 0, but 1 For tile Lightmap Pass. +<p> +Definition at line <a class="el" href="a05880.html#l00310">310</a> of file <a class="el" href="a05880.html">landscapevb_allocator.cpp</a>. +<p> +References <a class="el" href="a05881.html#l00166">_ATIVBHard</a>, <a class="el" href="a05881.html#l00153">_BufferLocked</a>, <a class="el" href="a05881.html#l00151">_VB</a>, <a class="el" href="a05881.html#l00152">_VBHard</a>, <a class="el" href="a05881.html#l00174">_VertexProgram</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05622.html#l00355">nlverify</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a05862.html#l00939">NL3D::CLandscape::render()</a>. +<p> +<div class="fragment"><pre>00311 { +00312 <a class="code" href="a04199.html#a6">nlassert</a>(_Driver); +00313 <a class="code" href="a04199.html#a6">nlassert</a>(!_BufferLocked); +00314 +00315 <span class="comment">// If enabled, activate Vertex program first.</span> +00316 <span class="keywordflow">if</span>(<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz313_3">_VertexProgram</a>[vpId]) +00317 { +00318 <span class="comment">//nlinfo("\nSTARTVP\n%s\nENDVP\n", _VertexProgram[vpId]->getProgram().c_str());</span> +00319 <a class="code" href="a04199.html#a9">nlverify</a>(<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_3">_Driver</a>->activeVertexProgram(_VertexProgram[vpId])); +00320 } +00321 +00322 <span class="comment">// Activate VB.</span> +00323 <span class="keywordflow">if</span>(<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_5">_VBHard</a>) +00324 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_3">_Driver</a>->activeVertexBufferHard(_VBHard); +00325 <span class="comment">// If ATI VBHard possible, use it</span> +00326 <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz311_0">_ATIVBHard</a>) +00327 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_3">_Driver</a>->activeVertexBufferHard(_ATIVBHard); +00328 <span class="comment">// must use std VB</span> +00329 <span class="keywordflow">else</span> +00330 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_3">_Driver</a>->activeVertexBuffer(_VB); +00331 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorz305_0" doxytag="NL3D::CLandscapeVBAllocator::allocateVertex" ></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::CLandscapeVBAllocator::allocateVertex </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05880.html#l00152">152</a> of file <a class="el" href="a05880.html">landscapevb_allocator.cpp</a>. +<p> +References <a class="el" href="a05881.html#l00141">_NumVerticesAllocated</a>, <a class="el" href="a05881.html#l00139">_VertexFreeMemory</a>, <a class="el" href="a05881.html#l00140">_VertexInfos</a>, <a class="el" href="a05880.html#l00368">allocateVertexBuffer()</a>, <a class="el" href="a05880.html#l00043">NL3D_LANDSCAPE_VERTEX_ALLOCATE_SECURITY</a>, <a class="el" href="a05880.html#l00047">NL3D_LANDSCAPE_VERTEX_ALLOCATE_START</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>00153 { +00154 <span class="comment">// if no more free, allocate.</span> +00155 <span class="keywordflow">if</span>( <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr4">_VertexFreeMemory</a>.size()==0 ) +00156 { +00157 <span class="comment">// enlarge capacity.</span> +00158 <a class="code" href="a04558.html#a15">uint</a> newResize; +00159 <span class="keywordflow">if</span>(<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr0">_NumVerticesAllocated</a>==0) +00160 newResize= <a class="code" href="a04457.html#a1">NL3D_LANDSCAPE_VERTEX_ALLOCATE_START</a>; +00161 <span class="keywordflow">else</span> +00162 newResize= <a class="code" href="a04457.html#a0">NL3D_LANDSCAPE_VERTEX_ALLOCATE_SECURITY</a>; +00163 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr0">_NumVerticesAllocated</a>+= newResize; +00164 <span class="comment">// re-allocate VB.</span> +00165 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_0">allocateVertexBuffer</a>(_NumVerticesAllocated); +00166 <span class="comment">// resize infos on vertices.</span> +00167 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr5">_VertexInfos</a>.resize(_NumVerticesAllocated); +00168 +00169 <span class="comment">// Fill list of free elements.</span> +00170 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> i=0;i<newResize;i++) +00171 { +00172 <span class="comment">// create a new entry which points to this vertex.</span> +00173 <span class="comment">// the list is made so allocation is in growing order.</span> +00174 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr4">_VertexFreeMemory</a>.push_back( _NumVerticesAllocated - (i+1) ); +00175 +00176 <span class="comment">// Mark as free the new vertices. (Debug).</span> +00177 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr5">_VertexInfos</a>[<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr0">_NumVerticesAllocated</a> - (i+1)].Free= <span class="keyword">true</span>; +00178 } +00179 } +00180 +00181 <span class="comment">// get a vertex (pop_back).</span> +00182 <a class="code" href="a04558.html#a15">uint</a> <span class="keywordtype">id</span>= <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr4">_VertexFreeMemory</a>.back(); +00183 <span class="comment">// delete this vertex free entry.</span> +00184 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr4">_VertexFreeMemory</a>.pop_back(); +00185 +00186 <span class="comment">// check and Mark as not free the vertex. (Debug).</span> +00187 <a class="code" href="a04199.html#a6">nlassert</a>(<span class="keywordtype">id</span><_NumVerticesAllocated); +00188 <a class="code" href="a04199.html#a6">nlassert</a>(_VertexInfos[<span class="keywordtype">id</span>].Free); +00189 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr5">_VertexInfos</a>[<span class="keywordtype">id</span>].Free= <span class="keyword">false</span>; +00190 +00191 <span class="keywordflow">return</span> <span class="keywordtype">id</span>; +00192 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorz309_0" doxytag="NL3D::CLandscapeVBAllocator::allocateVertexBuffer" ></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::CLandscapeVBAllocator::allocateVertexBuffer </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a> </td> + <td class="mdname1" valign="top" nowrap> <em>numVertices</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05880.html#l00368">368</a> of file <a class="el" href="a05880.html">landscapevb_allocator.cpp</a>. +<p> +References <a class="el" href="a05881.html#l00137">_ReallocationOccur</a>, <a class="el" href="a05881.html#l00151">_VB</a>, <a class="el" href="a05881.html#l00152">_VBHard</a>, <a class="el" href="a05881.html#l00150">_VBHardOk</a>, <a class="el" href="a05881.html#l00135">_VBName</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="a05880.html#l00052">NL3D_VERTEX_MAX_VERTEX_VBHARD</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06710.html#l00409">NL3D::CVertexBuffer::setNumVertices()</a>, <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a05880.html#l00247">unlockBuffer()</a>. +<p> +Referenced by <a class="el" href="a05880.html#l00152">allocateVertex()</a>, and <a class="el" href="a05880.html#l00080">updateDriver()</a>. +<p> +<div class="fragment"><pre>00369 { +00370 <span class="comment">// no allocation must be done if the Driver is not setuped, or if the driver has been deleted by refPtr.</span> +00371 <a class="code" href="a04199.html#a6">nlassert</a>(_Driver); +00372 +00373 <span class="comment">// allocate() =>_ReallocationOccur= true;</span> +00374 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr1">_ReallocationOccur</a>= <span class="keyword">true</span>; +00375 <span class="comment">// must unlock VBhard before.</span> +00376 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz307_5">unlockBuffer</a>(); +00377 +00378 <span class="comment">// trye to allocate a vbufferhard if possible.</span> +00379 <span class="keywordflow">if</span>( <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_6">_VBHardOk</a> ) +00380 { +00381 <span class="comment">// delete possible old _VBHard.</span> +00382 <span class="keywordflow">if</span>(<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_5">_VBHard</a>!=NULL) +00383 { +00384 <span class="comment">// VertexBufferHard lifetime < Driver lifetime.</span> +00385 <a class="code" href="a04199.html#a6">nlassert</a>(_Driver!=NULL); +00386 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_3">_Driver</a>->deleteVertexBufferHard(_VBHard); +00387 } +00388 +00389 <span class="comment">// try to create new one, in AGP Ram</span> +00390 <span class="comment">// If too many vertices wanted, abort VBHard.</span> +00391 <span class="keywordflow">if</span>(numVertices <= <a class="code" href="a04457.html#a3">NL3D_VERTEX_MAX_VERTEX_VBHARD</a>) +00392 { +00393 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_5">_VBHard</a>= <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_3">_Driver</a>->createVertexBufferHard(<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.getVertexFormat(), <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.getValueTypePointer(), numVertices, IDriver::VBHardAGP, <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.getUVRouting()); +00394 <span class="comment">// Set Name For lock Profiling.</span> +00395 <span class="keywordflow">if</span>(<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_5">_VBHard</a>) +00396 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_5">_VBHard</a>->setName(_VBName); +00397 } +00398 <span class="keywordflow">else</span> +00399 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_5">_VBHard</a>= NULL; +00400 +00401 <span class="comment">// If KO, never try again.</span> +00402 <span class="keywordflow">if</span>(<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_5">_VBHard</a>==NULL) +00403 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_6">_VBHardOk</a>= <span class="keyword">false</span>; +00404 } +00405 +00406 <span class="comment">// else, or if last fails, allocate a standard VB.</span> +00407 <span class="keywordflow">if</span>(!<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_6">_VBHardOk</a>) +00408 { +00409 <span class="comment">// This always works.</span> +00410 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.setNumVertices(numVertices); +00411 } +00412 +00413 <span class="comment">/*</span> +00414 <span class="comment"> NB: ATI VBHard allocation is done in synchronizeATIVBHard()</span> +00415 <span class="comment"> */</span> +00416 +00417 <span class="comment">//nlinfo("Alloc a LandVB %s of %d vertices in %s", _Type==Far0?"Far0":(_Type==Far1?"Far1":"Tile"), numVertices, _VBHardOk?"VBHard":"VBSoft");</span> +00418 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorz307_1" doxytag="NL3D::CLandscapeVBAllocator::bufferLocked" ></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::CLandscapeVBAllocator::bufferLocked </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +activate the VB or the VBHard in Driver setuped. nlassert if driver is NULL or if buffer is locked. If vertexProgram possible, activate the vertexProgram too. Give a vertexProgram Id to activate. Always 0, but 1 For tile Lightmap Pass. +<p> +Definition at line <a class="el" href="a05881.html#l00111">111</a> of file <a class="el" href="a05881.html">landscapevb_allocator.h</a>. +<p> +References <a class="el" href="a05881.html#l00153">_BufferLocked</a>. +<p> +<div class="fragment"><pre>00111 {<span class="keywordflow">return</span> <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_2">_BufferLocked</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatora1" doxytag="NL3D::CLandscapeVBAllocator::clear" ></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::CLandscapeVBAllocator::clear </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05880.html#l00114">114</a> of file <a class="el" href="a05880.html">landscapevb_allocator.cpp</a>. +<p> +References <a class="el" href="a05881.html#l00165">_ATIVBHardOk</a>, <a class="el" href="a05881.html#l00141">_NumVerticesAllocated</a>, <a class="el" href="a05881.html#l00137">_ReallocationOccur</a>, <a class="el" href="a05881.html#l00150">_VBHardOk</a>, <a class="el" href="a05881.html#l00139">_VertexFreeMemory</a>, <a class="el" href="a05880.html#l00335">deleteVertexBuffer()</a>, and <a class="el" href="a05880.html#l00648">deleteVertexProgram()</a>. +<p> +Referenced by <a class="el" href="a05862.html#l00522">NL3D::CLandscape::clear()</a>, and <a class="el" href="a05880.html#l00073">~CLandscapeVBAllocator()</a>. +<p> +<div class="fragment"><pre>00115 { +00116 <span class="comment">// clear list.</span> +00117 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr4">_VertexFreeMemory</a>.clear(); +00118 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr0">_NumVerticesAllocated</a>= 0; +00119 +00120 <span class="comment">// delete the VB.</span> +00121 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_1">deleteVertexBuffer</a>(); +00122 +00123 <span class="comment">// delete vertex Program, if any</span> +00124 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz313_1">deleteVertexProgram</a>(); +00125 +00126 <span class="comment">// clear other states.</span> +00127 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr1">_ReallocationOccur</a>= <span class="keyword">false</span>; +00128 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_3">_Driver</a>= NULL; +00129 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_6">_VBHardOk</a>= <span class="keyword">false</span>; +00130 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz311_1">_ATIVBHardOk</a>= <span class="keyword">false</span>; +00131 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorz305_1" doxytag="NL3D::CLandscapeVBAllocator::deleteVertex" ></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::CLandscapeVBAllocator::deleteVertex </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname1" valign="top" nowrap> <em>vid</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05880.html#l00195">195</a> of file <a class="el" href="a05880.html">landscapevb_allocator.cpp</a>. +<p> +References <a class="el" href="a05881.html#l00141">_NumVerticesAllocated</a>, <a class="el" href="a05881.html#l00139">_VertexFreeMemory</a>, <a class="el" href="a05881.html#l00140">_VertexInfos</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>00196 { +00197 <span class="comment">// check and Mark as free the vertex. (Debug).</span> +00198 <a class="code" href="a04199.html#a6">nlassert</a>(vid<_NumVerticesAllocated); +00199 <a class="code" href="a04199.html#a6">nlassert</a>(!_VertexInfos[vid].Free); +00200 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr5">_VertexInfos</a>[vid].Free= <span class="keyword">true</span>; +00201 +00202 <span class="comment">// Add this vertex to the free list.</span> +00203 <span class="comment">// create a new entry which points to this vertex.</span> +00204 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr4">_VertexFreeMemory</a>.push_back( vid ); +00205 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorz309_1" doxytag="NL3D::CLandscapeVBAllocator::deleteVertexBuffer" ></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::CLandscapeVBAllocator::deleteVertexBuffer </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05880.html#l00335">335</a> of file <a class="el" href="a05880.html">landscapevb_allocator.cpp</a>. +<p> +References <a class="el" href="a05881.html#l00166">_ATIVBHard</a>, <a class="el" href="a05881.html#l00151">_VB</a>, <a class="el" href="a05881.html#l00152">_VBHard</a>, <a class="el" href="a06710.html#l00424">NL3D::CVertexBuffer::deleteAllVertices()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05880.html#l00247">unlockBuffer()</a>. +<p> +Referenced by <a class="el" href="a05880.html#l00114">clear()</a>, and <a class="el" href="a05880.html#l00080">updateDriver()</a>. +<p> +<div class="fragment"><pre>00336 { +00337 <span class="comment">// must unlock VBhard before.</span> +00338 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz307_5">unlockBuffer</a>(); +00339 +00340 <span class="comment">// test (refptr) if the object still exist in memory.</span> +00341 <span class="keywordflow">if</span>(<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_5">_VBHard</a>!=NULL) +00342 { +00343 <span class="comment">// A vbufferhard should still exist only if driver still exist.</span> +00344 <a class="code" href="a04199.html#a6">nlassert</a>(_Driver!=NULL); +00345 +00346 <span class="comment">// delete it from driver.</span> +00347 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_3">_Driver</a>->deleteVertexBufferHard(_VBHard); +00348 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_5">_VBHard</a>= NULL; +00349 } +00350 +00351 <span class="comment">// Do the same for ATI one if exist</span> +00352 <span class="keywordflow">if</span>(<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz311_0">_ATIVBHard</a>!=NULL) +00353 { +00354 <span class="comment">// A vbufferhard should still exist only if driver still exist.</span> +00355 <a class="code" href="a04199.html#a6">nlassert</a>(_Driver!=NULL); +00356 +00357 <span class="comment">// delete it from driver.</span> +00358 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_3">_Driver</a>->deleteVertexBufferHard(_ATIVBHard); +00359 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz311_0">_ATIVBHard</a>= NULL; +00360 } +00361 +00362 <span class="comment">// delete the soft one.</span> +00363 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.deleteAllVertices(); +00364 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorz313_1" doxytag="NL3D::CLandscapeVBAllocator::deleteVertexProgram" ></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::CLandscapeVBAllocator::deleteVertexProgram </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05880.html#l00648">648</a> of file <a class="el" href="a05880.html">landscapevb_allocator.cpp</a>. +<p> +References <a class="el" href="a05881.html#l00174">_VertexProgram</a>, <a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz313_0NL3D_1_1CLandscapeVBAllocatory0">MaxVertexProgram</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a05880.html#l00114">clear()</a>, and <a class="el" href="a05880.html#l00080">updateDriver()</a>. +<p> +<div class="fragment"><pre>00649 { +00650 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> i=0;i<<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz313_0NL3D_1_1CLandscapeVBAllocatory0">MaxVertexProgram</a>;i++) +00651 { +00652 <span class="keywordflow">if</span>(<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz313_3">_VertexProgram</a>[i]) +00653 { +00654 <span class="keyword">delete</span> <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz313_3">_VertexProgram</a>[i]; +00655 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz313_3">_VertexProgram</a>[i]= NULL; +00656 } +00657 } +00658 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorz307_2" doxytag="NL3D::CLandscapeVBAllocator::lockBuffer" ></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::CLandscapeVBAllocator::lockBuffer </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02982.html">CNearVertexBufferInfo</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>tileVB</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +activate the VB or the VBHard in Driver setuped. nlassert if driver is NULL or if buffer is locked. If vertexProgram possible, activate the vertexProgram too. Give a vertexProgram Id to activate. Always 0, but 1 For tile Lightmap Pass. +<p> +Definition at line <a class="el" href="a05880.html#l00228">228</a> of file <a class="el" href="a05880.html">landscapevb_allocator.cpp</a>. +<p> +References <a class="el" href="a05881.html#l00153">_BufferLocked</a>, <a class="el" href="a05881.html#l00134">_Type</a>, <a class="el" href="a05881.html#l00151">_VB</a>, <a class="el" href="a05881.html#l00152">_VBHard</a>, <a class="el" href="a05881.html#l00174">_VertexProgram</a>, <a class="el" href="a05646.html#l01013">data</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05882.html#l00203">NL3D::CNearVertexBufferInfo::setupVertexBuffer()</a>, <a class="el" href="a05882.html#l00241">NL3D::CNearVertexBufferInfo::setupVertexBufferHard()</a>, <a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorw3NL3D_1_1CLandscapeVBAllocatorw2">Tile</a>, and <a class="el" href="a05880.html#l00247">unlockBuffer()</a>. +<p> +<div class="fragment"><pre>00229 { +00230 <a class="code" href="a04199.html#a6">nlassert</a>(_Type==Tile); +00231 <span class="comment">// force unlock</span> +00232 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz307_5">unlockBuffer</a>(); +00233 +00234 <span class="keywordflow">if</span>(<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_5">_VBHard</a>) +00235 { +00236 <span class="keywordtype">void</span> *<a class="code" href="a04223.html#a637">data</a>= <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_5">_VBHard</a>->lock(); +00237 tileVB.setupVertexBufferHard(*_VBHard, data, _VertexProgram[0]!=NULL ); +00238 } +00239 <span class="keywordflow">else</span> +00240 { +00241 tileVB.setupVertexBuffer(_VB, _VertexProgram[0]!=NULL ); +00242 } +00243 +00244 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_2">_BufferLocked</a>= <span class="keyword">true</span>; +00245 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorz307_3" doxytag="NL3D::CLandscapeVBAllocator::lockBuffer" ></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::CLandscapeVBAllocator::lockBuffer </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02512.html">CFarVertexBufferInfo</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>farVB</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +lock buffers Hard (if any). "slow call", so batch them. nlassert good TType. return is the VB info. NB: if the buffer is locked while a reallocation occurs, then the buffer is unlocked. +<p> +Definition at line <a class="el" href="a05880.html#l00209">209</a> of file <a class="el" href="a05880.html">landscapevb_allocator.cpp</a>. +<p> +References <a class="el" href="a05881.html#l00153">_BufferLocked</a>, <a class="el" href="a05881.html#l00134">_Type</a>, <a class="el" href="a05881.html#l00151">_VB</a>, <a class="el" href="a05881.html#l00152">_VBHard</a>, <a class="el" href="a05881.html#l00174">_VertexProgram</a>, <a class="el" href="a05646.html#l01013">data</a>, <a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorw3NL3D_1_1CLandscapeVBAllocatorw0">Far0</a>, <a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorw3NL3D_1_1CLandscapeVBAllocatorw1">Far1</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05882.html#l00073">NL3D::CFarVertexBufferInfo::setupVertexBuffer()</a>, <a class="el" href="a05882.html#l00124">NL3D::CFarVertexBufferInfo::setupVertexBufferHard()</a>, and <a class="el" href="a05880.html#l00247">unlockBuffer()</a>. +<p> +Referenced by <a class="el" href="a05862.html#l00862">NL3D::CLandscape::lockBuffers()</a>. +<p> +<div class="fragment"><pre>00210 { +00211 <a class="code" href="a04199.html#a6">nlassert</a>( _Type==Far0 || _Type==Far1 ); +00212 <span class="comment">// force unlock</span> +00213 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz307_5">unlockBuffer</a>(); +00214 +00215 <span class="keywordflow">if</span>(<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_5">_VBHard</a>) +00216 { +00217 <span class="keywordtype">void</span> *<a class="code" href="a04223.html#a637">data</a>= <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_5">_VBHard</a>->lock(); +00218 farVB.setupVertexBufferHard(*_VBHard, data, _VertexProgram[0]!=NULL ); +00219 } +00220 <span class="keywordflow">else</span> +00221 { +00222 farVB.setupVertexBuffer(_VB, _VertexProgram[0]!=NULL ); +00223 } +00224 +00225 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_2">_BufferLocked</a>= <span class="keyword">true</span>; +00226 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorz305_2" doxytag="NL3D::CLandscapeVBAllocator::reallocationOccurs" ></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::CLandscapeVBAllocator::reallocationOccurs </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05881.html#l00092">92</a> of file <a class="el" href="a05881.html">landscapevb_allocator.h</a>. +<p> +References <a class="el" href="a05881.html#l00137">_ReallocationOccur</a>. +<p> +Referenced by <a class="el" href="a05862.html#l00939">NL3D::CLandscape::render()</a>. +<p> +<div class="fragment"><pre>00092 {<span class="keywordflow">return</span> <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr1">_ReallocationOccur</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorz305_3" doxytag="NL3D::CLandscapeVBAllocator::resetReallocation" ></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::CLandscapeVBAllocator::resetReallocation </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05880.html#l00136">136</a> of file <a class="el" href="a05880.html">landscapevb_allocator.cpp</a>. +<p> +References <a class="el" href="a05881.html#l00137">_ReallocationOccur</a>. +<p> +Referenced by <a class="el" href="a05862.html#l00939">NL3D::CLandscape::render()</a>. +<p> +<div class="fragment"><pre>00137 { +00138 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr1">_ReallocationOccur</a>= <span class="keyword">false</span>; +00139 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorz313_2" doxytag="NL3D::CLandscapeVBAllocator::setupVBFormatAndVertexProgram" ></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::CLandscapeVBAllocator::setupVBFormatAndVertexProgram </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>withVertexProgram</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05880.html#l00662">662</a> of file <a class="el" href="a05880.html">landscapevb_allocator.cpp</a>. +<p> +References <a class="el" href="a05881.html#l00134">_Type</a>, <a class="el" href="a05881.html#l00151">_VB</a>, <a class="el" href="a05881.html#l00174">_VertexProgram</a>, <a class="el" href="a06710.html#l00338">NL3D::CVertexBuffer::addValueEx()</a>, <a class="el" href="a06710.html#l00271">NL3D::CVertexBuffer::clearValueEx()</a>, <a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorw3NL3D_1_1CLandscapeVBAllocatorw0">Far0</a>, <a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorw3NL3D_1_1CLandscapeVBAllocatorw1">Far1</a>, <a class="el" href="a06710.html#l00369">NL3D::CVertexBuffer::initEx()</a>, <a class="el" href="a05881.html#l00051">NL3D_LANDSCAPE_VPPOS_ALPHAINFO</a>, <a class="el" href="a05881.html#l00050">NL3D_LANDSCAPE_VPPOS_DELTAPOS</a>, <a class="el" href="a05881.html#l00049">NL3D_LANDSCAPE_VPPOS_GEOMINFO</a>, <a class="el" href="a05881.html#l00045">NL3D_LANDSCAPE_VPPOS_STARTPOS</a>, <a class="el" href="a05881.html#l00046">NL3D_LANDSCAPE_VPPOS_TEX0</a>, <a class="el" href="a05881.html#l00047">NL3D_LANDSCAPE_VPPOS_TEX1</a>, <a class="el" href="a05881.html#l00048">NL3D_LANDSCAPE_VPPOS_TEX2</a>, <a class="el" href="a05880.html#l00514">NL3D::NL3D_LandscapeCommonStartProgram</a>, <a class="el" href="a05880.html#l00574">NL3D::NL3D_LandscapeFar0EndProgram</a>, <a class="el" href="a05880.html#l00595">NL3D::NL3D_LandscapeFar1EndProgram</a>, <a class="el" href="a05880.html#l00621">NL3D::NL3D_LandscapeTileEndProgram</a>, <a class="el" href="a05880.html#l00634">NL3D::NL3D_LandscapeTileLightMapEndProgram</a>, and <a class="el" href="a06710.html#l00169">NL3D::CVertexBuffer::setVertexFormat()</a>. +<p> +Referenced by <a class="el" href="a05880.html#l00080">updateDriver()</a>. +<p> +<div class="fragment"><pre>00663 { +00664 <span class="comment">// If not vertexProgram mode</span> +00665 <span class="keywordflow">if</span>(!withVertexProgram) +00666 { +00667 <span class="comment">// setup normal VB format.</span> +00668 <span class="keywordflow">if</span>(<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr2">_Type</a>==<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorw3NL3D_1_1CLandscapeVBAllocatorw0">Far0</a>) +00669 <span class="comment">// v3f/t2f0/t2f1</span> +00670 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.setVertexFormat(CVertexBuffer::PositionFlag | CVertexBuffer::TexCoord0Flag | CVertexBuffer::TexCoord1Flag); +00671 <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr2">_Type</a>==<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorw3NL3D_1_1CLandscapeVBAllocatorw1">Far1</a>) +00672 <span class="comment">// v3f/t2f/t2f1/c4ub</span> +00673 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.setVertexFormat(CVertexBuffer::PositionFlag | CVertexBuffer::TexCoord0Flag | CVertexBuffer::TexCoord1Flag | CVertexBuffer::PrimaryColorFlag ); +00674 <span class="keywordflow">else</span> +00675 <span class="comment">// v3f/t2f0/t2f1/t2f2</span> +00676 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.setVertexFormat(CVertexBuffer::PositionFlag | CVertexBuffer::TexCoord0Flag | CVertexBuffer::TexCoord1Flag | CVertexBuffer::TexCoord2Flag); +00677 } +00678 <span class="keywordflow">else</span> +00679 { +00680 <span class="comment">// Else Setup our Vertex Program, and good VBuffers, according to _Type.</span> +00681 +00682 <span class="keywordflow">if</span>(<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr2">_Type</a>==<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorw3NL3D_1_1CLandscapeVBAllocatorw0">Far0</a>) +00683 { +00684 <span class="comment">// Build the Vertex Format.</span> +00685 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.clearValueEx(); +00686 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.addValueEx(NL3D_LANDSCAPE_VPPOS_STARTPOS, CVertexBuffer::Float3); <span class="comment">// v[0]= StartPos.</span> +00687 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.addValueEx(NL3D_LANDSCAPE_VPPOS_TEX0, CVertexBuffer::Float2); <span class="comment">// v[8]= Tex0.</span> +00688 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.addValueEx(NL3D_LANDSCAPE_VPPOS_TEX1, CVertexBuffer::Float2); <span class="comment">// v[9]= Tex1.</span> +00689 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.addValueEx(NL3D_LANDSCAPE_VPPOS_GEOMINFO, CVertexBuffer::Float2); <span class="comment">// v[10]= GeomInfos.</span> +00690 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.addValueEx(NL3D_LANDSCAPE_VPPOS_DELTAPOS, CVertexBuffer::Float3); <span class="comment">// v[11]= EndPos-StartPos.</span> +00691 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.initEx(); +00692 +00693 <span class="comment">// Init the Vertex Program.</span> +00694 string vpgram= string(NL3D_LandscapeCommonStartProgram) + +00695 string(NL3D_LandscapeFar0EndProgram); +00696 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz313_3">_VertexProgram</a>[0]= <span class="keyword">new</span> CVertexProgram(vpgram.c_str()); +00697 } +00698 <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr2">_Type</a>==<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorw3NL3D_1_1CLandscapeVBAllocatorw1">Far1</a>) +00699 { +00700 <span class="comment">// Build the Vertex Format.</span> +00701 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.clearValueEx(); +00702 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.addValueEx(NL3D_LANDSCAPE_VPPOS_STARTPOS, CVertexBuffer::Float3); <span class="comment">// v[0]= StartPos.</span> +00703 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.addValueEx(NL3D_LANDSCAPE_VPPOS_TEX0, CVertexBuffer::Float2); <span class="comment">// v[8]= Tex0.</span> +00704 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.addValueEx(NL3D_LANDSCAPE_VPPOS_TEX1, CVertexBuffer::Float2); <span class="comment">// v[9]= Tex1.</span> +00705 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.addValueEx(NL3D_LANDSCAPE_VPPOS_GEOMINFO, CVertexBuffer::Float2); <span class="comment">// v[10]= GeomInfos.</span> +00706 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.addValueEx(NL3D_LANDSCAPE_VPPOS_DELTAPOS, CVertexBuffer::Float3); <span class="comment">// v[11]= EndPos-StartPos.</span> +00707 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.addValueEx(NL3D_LANDSCAPE_VPPOS_ALPHAINFO, CVertexBuffer::Float2); <span class="comment">// v[12]= AlphaInfos.</span> +00708 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.initEx(); +00709 +00710 <span class="comment">// Init the Vertex Program.</span> +00711 string vpgram= string(NL3D_LandscapeCommonStartProgram) + +00712 string(NL3D_LandscapeFar1EndProgram); +00713 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz313_3">_VertexProgram</a>[0]= <span class="keyword">new</span> CVertexProgram(vpgram.c_str()); +00714 } +00715 <span class="keywordflow">else</span> +00716 { +00717 <span class="comment">// Build the Vertex Format.</span> +00718 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.clearValueEx(); +00719 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.addValueEx(NL3D_LANDSCAPE_VPPOS_STARTPOS, CVertexBuffer::Float3); <span class="comment">// v[0]= StartPos.</span> +00720 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.addValueEx(NL3D_LANDSCAPE_VPPOS_TEX0, CVertexBuffer::Float2); <span class="comment">// v[8]= Tex0.</span> +00721 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.addValueEx(NL3D_LANDSCAPE_VPPOS_TEX1, CVertexBuffer::Float2); <span class="comment">// v[9]= Tex1.</span> +00722 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.addValueEx(NL3D_LANDSCAPE_VPPOS_TEX2, CVertexBuffer::Float2); <span class="comment">// v[13]= Tex2.</span> +00723 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.addValueEx(NL3D_LANDSCAPE_VPPOS_GEOMINFO, CVertexBuffer::Float2); <span class="comment">// v[10]= GeomInfos.</span> +00724 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.addValueEx(NL3D_LANDSCAPE_VPPOS_DELTAPOS, CVertexBuffer::Float3); <span class="comment">// v[11]= EndPos-StartPos.</span> +00725 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.initEx(); +00726 +00727 <span class="comment">// Init the Vertex Program.</span> +00728 string vpgram= string(NL3D_LandscapeCommonStartProgram) + +00729 string(NL3D_LandscapeTileEndProgram); +00730 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz313_3">_VertexProgram</a>[0]= <span class="keyword">new</span> CVertexProgram(vpgram.c_str()); +00731 +00732 <span class="comment">// Init the Vertex Program for lightmap pass</span> +00733 vpgram= string(NL3D_LandscapeCommonStartProgram) + +00734 string(NL3D_LandscapeTileLightMapEndProgram); +00735 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz313_3">_VertexProgram</a>[1]= <span class="keyword">new</span> CVertexProgram(vpgram.c_str()); +00736 } +00737 } +00738 +00739 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorz307_4" doxytag="NL3D::CLandscapeVBAllocator::synchronizeATIVBHard" ></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::CLandscapeVBAllocator::synchronizeATIVBHard </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +only if ATI VBHard is enabled intenally. Copy the entire VBuffer to _ATIVBHard. This last is used in <a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz307_0">activate()</a>. +<p> + +<p> +Definition at line <a class="el" href="a05880.html#l00258">258</a> of file <a class="el" href="a05880.html">landscapevb_allocator.cpp</a>. +<p> +References <a class="el" href="a05881.html#l00166">_ATIVBHard</a>, <a class="el" href="a05881.html#l00165">_ATIVBHardOk</a>, <a class="el" href="a05881.html#l00151">_VB</a>, <a class="el" href="a06711.html#l00453">NL3D::CVertexBuffer::getNumVertices()</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="a06710.html#l00438">NL3D::CVertexBuffer::getVertexCoordPointer()</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="a05880.html#l00052">NL3D_VERTEX_MAX_VERTEX_VBHARD</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="a05862.html#l00888">NL3D::CLandscape::synchronizeATIVBHards()</a>. +<p> +<div class="fragment"><pre>00259 { +00260 <span class="comment">// no-op if disabled, or if std _VBHard scheme</span> +00261 <span class="keywordflow">if</span>(!<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz311_1">_ATIVBHardOk</a>) +00262 <span class="keywordflow">return</span>; +00263 +00264 <span class="comment">// num verts to sync</span> +00265 <a class="code" href="a04558.html#a15">uint</a> numVertices= <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.getNumVertices(); +00266 +00267 <span class="comment">// if the ATI VBhard do not exist, or if too small, allocate it now</span> +00268 <span class="keywordflow">if</span>( <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz311_0">_ATIVBHard</a>==NULL || <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz311_0">_ATIVBHard</a>->getNumVertices()<numVertices ) +00269 { +00270 <span class="comment">// delete possible old _ATIVBHard</span> +00271 <span class="keywordflow">if</span>(<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz311_0">_ATIVBHard</a>!=NULL) +00272 { +00273 <span class="comment">// VertexBufferHard lifetime < Driver lifetime.</span> +00274 <a class="code" href="a04199.html#a6">nlassert</a>(_Driver!=NULL); +00275 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_3">_Driver</a>->deleteVertexBufferHard(_ATIVBHard); +00276 } +00277 +00278 <span class="comment">// try to create new one, in AGP Ram</span> +00279 <span class="comment">// If too many vertices wanted, abort VBHard.</span> +00280 <span class="keywordflow">if</span>(numVertices <= <a class="code" href="a04457.html#a3">NL3D_VERTEX_MAX_VERTEX_VBHARD</a>) +00281 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz311_0">_ATIVBHard</a>= <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_3">_Driver</a>->createVertexBufferHard(<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.getVertexFormat(), <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.getValueTypePointer(), numVertices, IDriver::VBHardAGP, <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.getUVRouting()); +00282 <span class="keywordflow">else</span> +00283 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz311_0">_ATIVBHard</a>= NULL; +00284 +00285 <span class="comment">// If KO, never try again.</span> +00286 <span class="keywordflow">if</span>(<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz311_0">_ATIVBHard</a>==NULL) +00287 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz311_1">_ATIVBHardOk</a>= <span class="keyword">false</span>; +00288 } +00289 +00290 <span class="comment">// if still ok, fill the VBHard with std VB.</span> +00291 <span class="keywordflow">if</span>(<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz311_1">_ATIVBHardOk</a>) +00292 { +00293 <span class="keywordtype">void</span> *dst= <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz311_0">_ATIVBHard</a>->lock(); +00294 <span class="comment">// fill the entire buffer.</span> +00295 CFastMem::memcpy(dst, <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.getVertexCoordPointer(), numVertices*<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">_VB</a>.getVertexSize() ); +00296 <span class="comment">// unlock the entire buffer</span> +00297 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz311_0">_ATIVBHard</a>->unlock(); +00298 } +00299 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorz307_5" doxytag="NL3D::CLandscapeVBAllocator::unlockBuffer" ></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::CLandscapeVBAllocator::unlockBuffer </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +activate the VB or the VBHard in Driver setuped. nlassert if driver is NULL or if buffer is locked. If vertexProgram possible, activate the vertexProgram too. Give a vertexProgram Id to activate. Always 0, but 1 For tile Lightmap Pass. +<p> +Definition at line <a class="el" href="a05880.html#l00247">247</a> of file <a class="el" href="a05880.html">landscapevb_allocator.cpp</a>. +<p> +References <a class="el" href="a05881.html#l00153">_BufferLocked</a>, and <a class="el" href="a05881.html#l00152">_VBHard</a>. +<p> +Referenced by <a class="el" href="a05880.html#l00368">allocateVertexBuffer()</a>, <a class="el" href="a05880.html#l00335">deleteVertexBuffer()</a>, <a class="el" href="a05880.html#l00209">lockBuffer()</a>, and <a class="el" href="a05862.html#l00877">NL3D::CLandscape::unlockBuffers()</a>. +<p> +<div class="fragment"><pre>00248 { +00249 <span class="keywordflow">if</span>(<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_2">_BufferLocked</a>) +00250 { +00251 <span class="keywordflow">if</span>(<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_5">_VBHard</a>) +00252 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_5">_VBHard</a>->unlock(); +00253 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_2">_BufferLocked</a>= <span class="keyword">false</span>; +00254 } +00255 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatora2" doxytag="NL3D::CLandscapeVBAllocator::updateDriver" ></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::CLandscapeVBAllocator::updateDriver </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02434.html">IDriver</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>driver</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +setup driver, and test for possible VBHard reallocation. if the VBhard/Driver has been deleted externally, Vertices are lost. The vertex buffer is reallocated and <a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz305_2">reallocationOccurs()</a> return true (see <a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz305_2">reallocationOccurs()</a>). to do anytime you're not sure of change of the driver/vbHard state.<p> +Note: the vertexProgram is created/changed here, according to driver, and TType.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>driver</em> </td><td>must not be NULL.</td></tr> + </table> +</dl> + +<p> +Definition at line <a class="el" href="a05880.html#l00080">80</a> of file <a class="el" href="a05880.html">landscapevb_allocator.cpp</a>. +<p> +References <a class="el" href="a05881.html#l00165">_ATIVBHardOk</a>, <a class="el" href="a05881.html#l00141">_NumVerticesAllocated</a>, <a class="el" href="a05881.html#l00152">_VBHard</a>, <a class="el" href="a05881.html#l00150">_VBHardOk</a>, <a class="el" href="a05880.html#l00368">allocateVertexBuffer()</a>, <a class="el" href="a05880.html#l00335">deleteVertexBuffer()</a>, <a class="el" href="a05880.html#l00648">deleteVertexProgram()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05880.html#l00662">setupVBFormatAndVertexProgram()</a>. +<p> +Referenced by <a class="el" href="a05862.html#l00799">NL3D::CLandscape::updateGlobalsAndLockBuffers()</a>. +<p> +<div class="fragment"><pre>00081 { +00082 <span class="comment">// test change of driver.</span> +00083 <a class="code" href="a04199.html#a6">nlassert</a>(driver); +00084 <span class="keywordflow">if</span>( <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_3">_Driver</a>==NULL || driver!=<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_3">_Driver</a> ) +00085 { +00086 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_1">deleteVertexBuffer</a>(); +00087 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_3">_Driver</a>= driver; +00088 <span class="comment">// Don't use std VBHard scheme if ATI slow unlock case.</span> +00089 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz311_1">_ATIVBHardOk</a> = <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_3">_Driver</a>->supportVertexBufferHard() && <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_3">_Driver</a>->slowUnlockVertexBufferHard(); +00090 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_6">_VBHardOk</a> = <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_3">_Driver</a>->supportVertexBufferHard() && !<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_3">_Driver</a>->slowUnlockVertexBufferHard(); +00091 +00092 +00093 <span class="comment">// If change of driver, delete the VertexProgram first, if any</span> +00094 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz313_1">deleteVertexProgram</a>(); +00095 <span class="comment">// Then rebuild VB format, and VertexProgram, if needed.</span> +00096 <span class="comment">// Do it only if VP supported by GPU.</span> +00097 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz313_2">setupVBFormatAndVertexProgram</a>(<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_3">_Driver</a>->isVertexProgramSupported() && !<a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_3">_Driver</a>->isVertexProgramEmulated()); +00098 +00099 <span class="comment">// must reallocate the VertexBuffer.</span> +00100 <span class="keywordflow">if</span>( <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr0">_NumVerticesAllocated</a>>0 ) +00101 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_0">allocateVertexBuffer</a>(_NumVerticesAllocated); +00102 } +00103 <span class="keywordflow">else</span> +00104 { +00105 <span class="comment">// if VBHard possible, and if vbHardDeleted but space needed, reallocate.</span> +00106 <span class="keywordflow">if</span>( <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_6">_VBHardOk</a> && <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_5">_VBHard</a>==NULL && <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr0">_NumVerticesAllocated</a>>0 ) +00107 <a class="code" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_0">allocateVertexBuffer</a>(_NumVerticesAllocated); +00108 } +00109 +00110 } +</pre></div> </td> + </tr> +</table> +<hr><h2>Field Documentation</h2> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorz311_0" doxytag="NL3D::CLandscapeVBAllocator::_ATIVBHard" ></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><<a class="el" href="a03694.html">IVertexBufferHard</a>> <a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz311_0">NL3D::CLandscapeVBAllocator::_ATIVBHard</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05881.html#l00166">166</a> of file <a class="el" href="a05881.html">landscapevb_allocator.h</a>. +<p> +Referenced by <a class="el" href="a05880.html#l00310">activate()</a>, <a class="el" href="a05880.html#l00335">deleteVertexBuffer()</a>, and <a class="el" href="a05880.html#l00258">synchronizeATIVBHard()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorz311_1" doxytag="NL3D::CLandscapeVBAllocator::_ATIVBHardOk" ></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="a02715.html#NL3D_1_1CLandscapeVBAllocatorz311_1">NL3D::CLandscapeVBAllocator::_ATIVBHardOk</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05881.html#l00165">165</a> of file <a class="el" href="a05881.html">landscapevb_allocator.h</a>. +<p> +Referenced by <a class="el" href="a05880.html#l00056">CLandscapeVBAllocator()</a>, <a class="el" href="a05880.html#l00114">clear()</a>, <a class="el" href="a05880.html#l00258">synchronizeATIVBHard()</a>, and <a class="el" href="a05880.html#l00080">updateDriver()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorz309_2" doxytag="NL3D::CLandscapeVBAllocator::_BufferLocked" ></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="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_2">NL3D::CLandscapeVBAllocator::_BufferLocked</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05881.html#l00153">153</a> of file <a class="el" href="a05881.html">landscapevb_allocator.h</a>. +<p> +Referenced by <a class="el" href="a05880.html#l00310">activate()</a>, <a class="el" href="a05881.html#l00111">bufferLocked()</a>, <a class="el" href="a05880.html#l00056">CLandscapeVBAllocator()</a>, <a class="el" href="a05880.html#l00209">lockBuffer()</a>, and <a class="el" href="a05880.html#l00247">unlockBuffer()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorz309_3" doxytag="NL3D::CLandscapeVBAllocator::_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><<a class="el" href="a02434.html">IDriver</a>> <a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_3">NL3D::CLandscapeVBAllocator::_Driver</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05881.html#l00148">148</a> of file <a class="el" href="a05881.html">landscapevb_allocator.h</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorr0" doxytag="NL3D::CLandscapeVBAllocator::_NumVerticesAllocated" ></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="a02715.html#NL3D_1_1CLandscapeVBAllocatorr0">NL3D::CLandscapeVBAllocator::_NumVerticesAllocated</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05881.html#l00141">141</a> of file <a class="el" href="a05881.html">landscapevb_allocator.h</a>. +<p> +Referenced by <a class="el" href="a05880.html#l00152">allocateVertex()</a>, <a class="el" href="a05880.html#l00056">CLandscapeVBAllocator()</a>, <a class="el" href="a05880.html#l00114">clear()</a>, <a class="el" href="a05880.html#l00195">deleteVertex()</a>, and <a class="el" href="a05880.html#l00080">updateDriver()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorr1" doxytag="NL3D::CLandscapeVBAllocator::_ReallocationOccur" ></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="a02715.html#NL3D_1_1CLandscapeVBAllocatorr1">NL3D::CLandscapeVBAllocator::_ReallocationOccur</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05881.html#l00137">137</a> of file <a class="el" href="a05881.html">landscapevb_allocator.h</a>. +<p> +Referenced by <a class="el" href="a05880.html#l00368">allocateVertexBuffer()</a>, <a class="el" href="a05880.html#l00056">CLandscapeVBAllocator()</a>, <a class="el" href="a05880.html#l00114">clear()</a>, <a class="el" href="a05881.html#l00092">reallocationOccurs()</a>, and <a class="el" href="a05880.html#l00136">resetReallocation()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorr2" doxytag="NL3D::CLandscapeVBAllocator::_Type" ></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="a02715.html#NL3D_1_1CLandscapeVBAllocatorw3">TType</a> <a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr2">NL3D::CLandscapeVBAllocator::_Type</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05881.html#l00134">134</a> of file <a class="el" href="a05881.html">landscapevb_allocator.h</a>. +<p> +Referenced by <a class="el" href="a05880.html#l00056">CLandscapeVBAllocator()</a>, <a class="el" href="a05880.html#l00209">lockBuffer()</a>, and <a class="el" href="a05880.html#l00662">setupVBFormatAndVertexProgram()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorz309_4" doxytag="NL3D::CLandscapeVBAllocator::_VB" ></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="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_4">NL3D::CLandscapeVBAllocator::_VB</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05881.html#l00151">151</a> of file <a class="el" href="a05881.html">landscapevb_allocator.h</a>. +<p> +Referenced by <a class="el" href="a05880.html#l00310">activate()</a>, <a class="el" href="a05880.html#l00368">allocateVertexBuffer()</a>, <a class="el" href="a05880.html#l00335">deleteVertexBuffer()</a>, <a class="el" href="a05880.html#l00209">lockBuffer()</a>, <a class="el" href="a05880.html#l00662">setupVBFormatAndVertexProgram()</a>, and <a class="el" href="a05880.html#l00258">synchronizeATIVBHard()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorz309_5" doxytag="NL3D::CLandscapeVBAllocator::_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"> <a class="el" href="a03321.html">NLMISC::CRefPtr</a><<a class="el" href="a03694.html">IVertexBufferHard</a>> <a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_5">NL3D::CLandscapeVBAllocator::_VBHard</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05881.html#l00152">152</a> of file <a class="el" href="a05881.html">landscapevb_allocator.h</a>. +<p> +Referenced by <a class="el" href="a05880.html#l00310">activate()</a>, <a class="el" href="a05880.html#l00368">allocateVertexBuffer()</a>, <a class="el" href="a05880.html#l00335">deleteVertexBuffer()</a>, <a class="el" href="a05880.html#l00209">lockBuffer()</a>, <a class="el" href="a05880.html#l00247">unlockBuffer()</a>, and <a class="el" href="a05880.html#l00080">updateDriver()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorz309_6" doxytag="NL3D::CLandscapeVBAllocator::_VBHardOk" ></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="a02715.html#NL3D_1_1CLandscapeVBAllocatorz309_6">NL3D::CLandscapeVBAllocator::_VBHardOk</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05881.html#l00150">150</a> of file <a class="el" href="a05881.html">landscapevb_allocator.h</a>. +<p> +Referenced by <a class="el" href="a05880.html#l00368">allocateVertexBuffer()</a>, <a class="el" href="a05880.html#l00056">CLandscapeVBAllocator()</a>, <a class="el" href="a05880.html#l00114">clear()</a>, and <a class="el" href="a05880.html#l00080">updateDriver()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorr3" doxytag="NL3D::CLandscapeVBAllocator::_VBName" ></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::string <a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr3">NL3D::CLandscapeVBAllocator::_VBName</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05881.html#l00135">135</a> of file <a class="el" href="a05881.html">landscapevb_allocator.h</a>. +<p> +Referenced by <a class="el" href="a05880.html#l00368">allocateVertexBuffer()</a>, and <a class="el" href="a05880.html#l00056">CLandscapeVBAllocator()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorr4" doxytag="NL3D::CLandscapeVBAllocator::_VertexFreeMemory" ></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<<a class="el" href="a04558.html#a15">uint</a>> <a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr4">NL3D::CLandscapeVBAllocator::_VertexFreeMemory</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05881.html#l00139">139</a> of file <a class="el" href="a05881.html">landscapevb_allocator.h</a>. +<p> +Referenced by <a class="el" href="a05880.html#l00152">allocateVertex()</a>, <a class="el" href="a05880.html#l00056">CLandscapeVBAllocator()</a>, <a class="el" href="a05880.html#l00114">clear()</a>, and <a class="el" href="a05880.html#l00195">deleteVertex()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorr5" doxytag="NL3D::CLandscapeVBAllocator::_VertexInfos" ></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<<a class="el" href="a02716.html">CVertexInfo</a>> <a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorr5">NL3D::CLandscapeVBAllocator::_VertexInfos</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05881.html#l00140">140</a> of file <a class="el" href="a05881.html">landscapevb_allocator.h</a>. +<p> +Referenced by <a class="el" href="a05880.html#l00152">allocateVertex()</a>, and <a class="el" href="a05880.html#l00195">deleteVertex()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLandscapeVBAllocatorz313_3" doxytag="NL3D::CLandscapeVBAllocator::_VertexProgram" ></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="a03702.html">CVertexProgram</a>* <a class="el" href="a02715.html#NL3D_1_1CLandscapeVBAllocatorz313_3">NL3D::CLandscapeVBAllocator::_VertexProgram</a>[MaxVertexProgram]<code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05881.html#l00174">174</a> of file <a class="el" href="a05881.html">landscapevb_allocator.h</a>. +<p> +Referenced by <a class="el" href="a05880.html#l00310">activate()</a>, <a class="el" href="a05880.html#l00056">CLandscapeVBAllocator()</a>, <a class="el" href="a05880.html#l00648">deleteVertexProgram()</a>, <a class="el" href="a05880.html#l00209">lockBuffer()</a>, and <a class="el" href="a05880.html#l00662">setupVBFormatAndVertexProgram()</a>. </td> + </tr> +</table> +<hr>The documentation for this class was generated from the following files:<ul> +<li><a class="el" href="a05881.html">landscapevb_allocator.h</a><li><a class="el" href="a05880.html">landscapevb_allocator.cpp</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 06:49:15 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> |