diff options
Diffstat (limited to 'docs/doxygen/nel/a03688.html')
-rw-r--r-- | docs/doxygen/nel/a03688.html | 722 |
1 files changed, 722 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a03688.html b/docs/doxygen/nel/a03688.html new file mode 100644 index 00000000..df75d250 --- /dev/null +++ b/docs/doxygen/nel/a03688.html @@ -0,0 +1,722 @@ +<!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::CVertexArrayRangeATI 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::CVertexArrayRangeATI Class Reference</h1><code>#include <<a class="el" href="a05655.html">driver_opengl_vertex_buffer_hard.h</a>></code> +<p> +<p>Inheritance diagram for NL3D::CVertexArrayRangeATI: +<p><center><img src="a03688.png" usemap="#NL3D::CVertexArrayRangeATI_map" border="0" alt=""></center> +<map name="NL3D::CVertexArrayRangeATI_map"> +<area href="a03689.html" alt="NL3D::IVertexArrayRange" shape="rect" coords="0,0,184,24"> +</map> +<hr><a name="_details"></a><h2>Detailed Description</h2> +Work only if ATIVertexArrayObject is enabled. else, only call to ctor/dtor/free() is valid. any call to <a class="el" href="a03688.html#NL3D_1_1CVertexArrayRangeATId0">allocateVB()</a> will return NULL. +<p> + +<p> +Definition at line <a class="el" href="a05655.html#l00250">250</a> of file <a class="el" href="a05655.html">driver_opengl_vertex_buffer_hard.h</a>.<table border=0 cellpadding=0 cellspacing=0> +<tr><td></td></tr> +<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a03688.html#NL3D_1_1CVertexArrayRangeATIa0">CVertexArrayRangeATI</a> (<a class="el" href="a02433.html">CDriverGL</a> *drv)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03688.html#NL3D_1_1CVertexArrayRangeATIa1">disable</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03688.html#NL3D_1_1CVertexArrayRangeATIa2">enable</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03688.html#NL3D_1_1CVertexArrayRangeATIa3">freeVB</a> (void *ptr)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">free a VB allocated with allocateVB. No-op if NULL. <a href="#NL3D_1_1CVertexArrayRangeATIa3"></a><br><br></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="a03688.html#NL3D_1_1CVertexArrayRangeATIa4">getATIVertexObjectId</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">get Handle of the ATI buffer. <a href="#NL3D_1_1CVertexArrayRangeATIa4"></a><br><br></td></tr> +<tr><td colspan="2"><div class="groupHeader">Implementation</div></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03688.html#NL3D_1_1CVertexArrayRangeATIz129_0">allocate</a> (<a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a04223.html#a587">size</a>, <a class="el" href="a02434.html#NL3D_1_1IDriverw39">IDriver::TVBHardType</a> vbType)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">allocate a vertex array sapce. false if error. must free before re-allocate. <a href="#NL3D_1_1CVertexArrayRangeATIz129_0"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="a03695.html">IVertexBufferHardGL</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a03688.html#NL3D_1_1CVertexArrayRangeATIz129_1">createVBHardGL</a> (<a class="el" href="a04558.html#a9">uint16</a> vertexFormat, const <a class="el" href="a04558.html#a7">uint8</a> *typeArray, <a class="el" href="a04558.html#a11">uint32</a> numVertices, const <a class="el" href="a04558.html#a7">uint8</a> *uvRouting)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">create a <a class="el" href="a03695.html">IVertexBufferHardGL</a> <a href="#NL3D_1_1CVertexArrayRangeATIz129_1"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="a03688.html#NL3D_1_1CVertexArrayRangeATIz129_2">free</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">free this space. <a href="#NL3D_1_1CVertexArrayRangeATIz129_2"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="a04558.html#a15">uint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03688.html#NL3D_1_1CVertexArrayRangeATIz129_3">sizeAllocated</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">return the size allocated. 0 if not allocated or failure <a href="#NL3D_1_1CVertexArrayRangeATIz129_3"></a><br><br></td></tr> +<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02433.html">CDriverGL</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a03689.html#NL3D_1_1IVertexArrayRangep0">_Driver</a></td></tr> + +<tr><td colspan=2><br><h2>Private Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void * </td><td class="memItemRight" valign=bottom><a class="el" href="a03688.html#NL3D_1_1CVertexArrayRangeATId0">allocateVB</a> (<a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a04223.html#a587">size</a>)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Allocate a small subset of the memory. NULL if not enough mem. <a href="#NL3D_1_1CVertexArrayRangeATId0"></a><br><br></td></tr> +<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03688.html#NL3D_1_1CVertexArrayRangeATIr0">_Allocated</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02627.html">NLMISC::CHeapMemory</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03688.html#NL3D_1_1CVertexArrayRangeATIr1">_HeapMemory</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03688.html#NL3D_1_1CVertexArrayRangeATIr2">_VertexArraySize</a></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="a03688.html#NL3D_1_1CVertexArrayRangeATIr3">_VertexObjectId</a></td></tr> + +</table> +<hr><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" name="NL3D_1_1CVertexArrayRangeATIa0" doxytag="NL3D::CVertexArrayRangeATI::CVertexArrayRangeATI" ></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::CVertexArrayRangeATI::CVertexArrayRangeATI </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02433.html">CDriverGL</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>drv</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="a05654.html#l00434">434</a> of file <a class="el" href="a05654.html">driver_opengl_vertex_buffer_hard.cpp</a>. +<p> +References <a class="el" href="a05655.html#l00289">_Allocated</a>, and <a class="el" href="a05655.html#l00288">_VertexObjectId</a>. +<p> +<div class="fragment"><pre>00434 : <a class="code" href="a03689.html#NL3D_1_1IVertexArrayRangea3">IVertexArrayRange</a>(drv) +00435 { +00436 <a class="code" href="a03688.html#NL3D_1_1CVertexArrayRangeATIr0">_Allocated</a>= <span class="keyword">false</span>; +00437 <a class="code" href="a03688.html#NL3D_1_1CVertexArrayRangeATIr3">_VertexObjectId</a>= 0; +00438 <a class="code" href="a03688.html#NL3D_1_1CVertexArrayRangeATIr2">_VertexArraySize</a>= 0; +00439 } +</pre></div> </td> + </tr> +</table> +<hr><h2>Member Function Documentation</h2> +<a class="anchor" name="NL3D_1_1CVertexArrayRangeATIz129_0" doxytag="NL3D::CVertexArrayRangeATI::allocate" ></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::CVertexArrayRangeATI::allocate </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="mdname" nowrap> <em>size</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a02434.html#NL3D_1_1IDriverw39">IDriver::TVBHardType</a> </td> + <td class="mdname" nowrap> <em>vbType</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +allocate a vertex array sapce. false if error. must free before re-allocate. +<p> + +<p> +Implements <a class="el" href="a03689.html#NL3D_1_1IVertexArrayRangea0">NL3D::IVertexArrayRange</a>. +<p> +Definition at line <a class="el" href="a05654.html#l00441">441</a> of file <a class="el" href="a05654.html">driver_opengl_vertex_buffer_hard.cpp</a>. +<p> +References <a class="el" href="a05655.html#l00289">_Allocated</a>, <a class="el" href="a05655.html#l00288">_VertexObjectId</a>, <a class="el" href="a05646.html#l00618">GL_DYNAMIC_ATI</a>, <a class="el" href="a05646.html#l00617">GL_STATIC_ATI</a>, <a class="el" href="a05781.html#l00064">NLMISC::CHeapMemory::initHeap()</a>, <a class="el" href="a05645.html#l00407">nglIsObjectBufferATI</a>, <a class="el" href="a05645.html#l00406">nglNewObjectBufferATI</a>, <a class="el" href="a05655.html#l00243">NL3D_DRV_ATI_FAKE_MEM_START</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05646.html#l00645">size</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +<div class="fragment"><pre>00442 { +00443 <a class="code" href="a04199.html#a6">nlassert</a>(!_Allocated); +00444 +00445 <span class="comment">// try to allocate AGP (suppose mean ATI dynamic) or VRAM (suppose mean ATI static) data.</span> +00446 <span class="keywordflow">switch</span>(vbType) +00447 { +00448 <span class="keywordflow">case</span> IDriver::VBHardAGP: +00449 <a class="code" href="a03688.html#NL3D_1_1CVertexArrayRangeATIr3">_VertexObjectId</a>= <a class="code" href="a04222.html#a172">nglNewObjectBufferATI</a>(size, NULL, GL_DYNAMIC_ATI); +00450 <span class="keywordflow">break</span>; +00451 <span class="keywordflow">case</span> IDriver::VBHardVRAM: +00452 <a class="code" href="a03688.html#NL3D_1_1CVertexArrayRangeATIr3">_VertexObjectId</a>= <a class="code" href="a04222.html#a172">nglNewObjectBufferATI</a>(size, NULL, GL_STATIC_ATI); +00453 <span class="keywordflow">break</span>; +00454 }; +00455 +00456 +00457 <span class="comment">// init the allocator, if success</span> +00458 <span class="keywordflow">if</span>( <a class="code" href="a04222.html#a173">nglIsObjectBufferATI</a>(_VertexObjectId) ) +00459 { +00460 <a class="code" href="a03688.html#NL3D_1_1CVertexArrayRangeATIr0">_Allocated</a>= <span class="keyword">true</span>; +00461 <span class="comment">/* Init with an alignment of 8. Not sure if it is usefull.</span> +00462 <span class="comment"> Init With a FAKE memory starting at NL3D_DRV_ATI_FAKE_MEM_START</span> +00463 <span class="comment"> */</span> +00464 <a class="code" href="a03688.html#NL3D_1_1CVertexArrayRangeATIr1">_HeapMemory</a>.<a class="code" href="a02627.html#NLMISC_1_1CHeapMemorya5">initHeap</a>((<span class="keywordtype">void</span>*)NL3D_DRV_ATI_FAKE_MEM_START, size, 8); +00465 +00466 <span class="comment">// set the size</span> +00467 <a class="code" href="a03688.html#NL3D_1_1CVertexArrayRangeATIr2">_VertexArraySize</a>= <a class="code" href="a04223.html#a587">size</a>; +00468 +00469 <span class="comment">// Ok!</span> +00470 <span class="keywordflow">return</span> <span class="keyword">true</span>; +00471 } +00472 <span class="keywordflow">else</span> +00473 { +00474 <span class="comment">// failure.</span> +00475 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00476 } +00477 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexArrayRangeATId0" doxytag="NL3D::CVertexArrayRangeATI::allocateVB" ></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::CVertexArrayRangeATI::allocateVB </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>size</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> +Allocate a small subset of the memory. NULL if not enough mem. +<p> + +<p> +Definition at line <a class="el" href="a05654.html#l00555">555</a> of file <a class="el" href="a05654.html">driver_opengl_vertex_buffer_hard.cpp</a>. +<p> +References <a class="el" href="a05781.html#l00118">NLMISC::CHeapMemory::allocate()</a>, <a class="el" href="a05646.html#l00645">size</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +Referenced by <a class="el" href="a05654.html#l00500">createVBHardGL()</a>. +<p> +<div class="fragment"><pre>00556 { +00557 <span class="keywordflow">return</span> <a class="code" href="a03688.html#NL3D_1_1CVertexArrayRangeATIr1">_HeapMemory</a>.<a class="code" href="a02627.html#NLMISC_1_1CHeapMemorya0">allocate</a>(size); +00558 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexArrayRangeATIz129_1" doxytag="NL3D::CVertexArrayRangeATI::createVBHardGL" ></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="a03695.html">IVertexBufferHardGL</a> * NL3D::CVertexArrayRangeATI::createVBHardGL </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a9">uint16</a> </td> + <td class="mdname" nowrap> <em>vertexFormat</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a04558.html#a7">uint8</a> * </td> + <td class="mdname" nowrap> <em>typeArray</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a> </td> + <td class="mdname" nowrap> <em>numVertices</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a04558.html#a7">uint8</a> * </td> + <td class="mdname" nowrap> <em>uvRouting</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +create a <a class="el" href="a03695.html">IVertexBufferHardGL</a> +<p> + +<p> +Implements <a class="el" href="a03689.html#NL3D_1_1IVertexArrayRangea1">NL3D::IVertexArrayRange</a>. +<p> +Definition at line <a class="el" href="a05654.html#l00500">500</a> of file <a class="el" href="a05654.html">driver_opengl_vertex_buffer_hard.cpp</a>. +<p> +References <a class="el" href="a05655.html#l00289">_Allocated</a>, <a class="el" href="a05654.html#l00555">allocateVB()</a>, <a class="el" href="a05654.html#l00605">NL3D::CVertexBufferHardGLATI::createRAMMirror()</a>, <a class="el" href="a06713.html#l00054">NL3D::IVertexBufferHard::getNumVertices()</a>, <a class="el" href="a06713.html#l00053">NL3D::IVertexBufferHard::getVertexSize()</a>, <a class="el" href="a05655.html#l00104">NL3D::IVertexBufferHardGL::initFormat()</a>, <a class="el" href="a05654.html#l00627">NL3D::CVertexBufferHardGLATI::initGL()</a>, <a class="el" href="a05646.html#l00645">size</a>, <a class="el" href="a05981.html#l00098">uint16</a>, <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a05981.html#l00096">uint8</a>. +<p> +<div class="fragment"><pre>00501 { +00502 <span class="comment">// create a ATI VBHard</span> +00503 CVertexBufferHardGLATI *newVbHard= <span class="keyword">new</span> CVertexBufferHardGLATI(_Driver); +00504 +00505 <span class="comment">// Init the format of the VB.</span> +00506 newVbHard->initFormat(vertexFormat, typeArray, numVertices, uvRouting); +00507 +00508 <span class="comment">// compute size to allocate.</span> +00509 <a class="code" href="a04558.html#a11">uint32</a> <a class="code" href="a04223.html#a587">size</a>= newVbHard->getVertexSize() * newVbHard->getNumVertices(); +00510 +00511 <span class="comment">// try to allocate</span> +00512 <span class="keywordtype">void</span> *vertexPtr =NULL; +00513 <span class="keywordflow">if</span>( <a class="code" href="a03688.html#NL3D_1_1CVertexArrayRangeATIr0">_Allocated</a> ) +00514 { +00515 vertexPtr= <a class="code" href="a03688.html#NL3D_1_1CVertexArrayRangeATId0">allocateVB</a>(size); +00516 } +00517 +00518 <span class="comment">// If allocation fails.</span> +00519 <span class="keywordflow">if</span>( !vertexPtr ) +00520 { +00521 <span class="comment">// just destroy this object (no free()).</span> +00522 <span class="keyword">delete</span> newVbHard; +00523 <span class="keywordflow">return</span> NULL; +00524 } +00525 <span class="keywordflow">else</span> +00526 { +00527 <span class="comment">// Then try to create a RAM mirror in the VB.</span> +00528 <span class="keywordflow">if</span>( newVbHard->createRAMMirror(size) ) +00529 { +00530 <span class="comment">// Ok, setup</span> +00531 newVbHard->initGL(<span class="keyword">this</span>, vertexPtr); +00532 <span class="keywordflow">return</span> newVbHard; +00533 } +00534 <span class="keywordflow">else</span> +00535 { +00536 <span class="comment">// Discard the VB.</span> +00537 <span class="keyword">delete</span> newVbHard; +00538 <span class="keywordflow">return</span> NULL; +00539 } +00540 } +00541 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexArrayRangeATIa1" doxytag="NL3D::CVertexArrayRangeATI::disable" ></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::CVertexArrayRangeATI::disable </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> +disable this VertexArrayRange. _Driver->_CurrentVertexArrayRange= NULL; NB: no-op for ATI, but ensure correct _Driver->_CurrentVertexArrayRange value. +<p> +Definition at line <a class="el" href="a05654.html#l00549">549</a> of file <a class="el" href="a05654.html">driver_opengl_vertex_buffer_hard.cpp</a>. +<p> +References <a class="el" href="a05643.html#l00887">NL3D::CDriverGL::_CurrentVertexArrayRange</a>. +<p> +Referenced by <a class="el" href="a05654.html#l00685">NL3D::CVertexBufferHardGLATI::disable()</a>. +<p> +<div class="fragment"><pre>00550 { +00551 <span class="comment">// No-op for ATI !!!</span> +00552 <a class="code" href="a03689.html#NL3D_1_1IVertexArrayRangep0">_Driver</a>->_CurrentVertexArrayRange= NULL; +00553 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexArrayRangeATIa2" doxytag="NL3D::CVertexArrayRangeATI::enable" ></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::CVertexArrayRangeATI::enable </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> +active this VertexArrayRange as the current vertex array range used. no-op if already setup. NB: no-op for ATI, but ensure correct _Driver->_CurrentVertexArrayRange value. +<p> +Definition at line <a class="el" href="a05654.html#l00543">543</a> of file <a class="el" href="a05654.html">driver_opengl_vertex_buffer_hard.cpp</a>. +<p> +References <a class="el" href="a05643.html#l00887">NL3D::CDriverGL::_CurrentVertexArrayRange</a>. +<p> +Referenced by <a class="el" href="a05654.html#l00673">NL3D::CVertexBufferHardGLATI::enable()</a>. +<p> +<div class="fragment"><pre>00544 { +00545 <span class="comment">// No-op for ATI !!!</span> +00546 <a class="code" href="a03689.html#NL3D_1_1IVertexArrayRangep0">_Driver</a>->_CurrentVertexArrayRange= <span class="keyword">this</span>; +00547 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexArrayRangeATIz129_2" doxytag="NL3D::CVertexArrayRangeATI::free" ></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::CVertexArrayRangeATI::free </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> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +free this space. +<p> + +<p> +Implements <a class="el" href="a03689.html#NL3D_1_1IVertexArrayRangea2">NL3D::IVertexArrayRange</a>. +<p> +Definition at line <a class="el" href="a05654.html#l00484">484</a> of file <a class="el" href="a05654.html">driver_opengl_vertex_buffer_hard.cpp</a>. +<p> +References <a class="el" href="a05655.html#l00289">_Allocated</a>, <a class="el" href="a05655.html#l00288">_VertexObjectId</a>, <a class="el" href="a05645.html#l00411">nglDeleteObjectBufferATI</a>, and <a class="el" href="a05781.html#l00052">NLMISC::CHeapMemory::reset()</a>. +<p> +<div class="fragment"><pre>00485 { +00486 <span class="comment">// release the ptr.</span> +00487 <span class="keywordflow">if</span>(<a class="code" href="a03688.html#NL3D_1_1CVertexArrayRangeATIr0">_Allocated</a>) +00488 { +00489 <span class="comment">// reset the allocator.</span> +00490 <a class="code" href="a03688.html#NL3D_1_1CVertexArrayRangeATIr1">_HeapMemory</a>.<a class="code" href="a02627.html#NLMISC_1_1CHeapMemorya6">reset</a>(); +00491 +00492 <span class="comment">// Free special memory.</span> +00493 <a class="code" href="a04222.html#a177">nglDeleteObjectBufferATI</a>(_VertexObjectId); +00494 +00495 <a class="code" href="a03688.html#NL3D_1_1CVertexArrayRangeATIr0">_Allocated</a>= <span class="keyword">false</span>; +00496 <a class="code" href="a03688.html#NL3D_1_1CVertexArrayRangeATIr2">_VertexArraySize</a>= 0; +00497 } +00498 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexArrayRangeATIa3" doxytag="NL3D::CVertexArrayRangeATI::freeVB" ></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::CVertexArrayRangeATI::freeVB </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">void * </td> + <td class="mdname1" valign="top" nowrap> <em>ptr</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> +free a VB allocated with allocateVB. No-op if NULL. +<p> + +<p> +Definition at line <a class="el" href="a05654.html#l00560">560</a> of file <a class="el" href="a05654.html">driver_opengl_vertex_buffer_hard.cpp</a>. +<p> +References <a class="el" href="a05781.html#l00173">NLMISC::CHeapMemory::free()</a>. +<p> +Referenced by <a class="el" href="a05654.html#l00585">NL3D::CVertexBufferHardGLATI::~CVertexBufferHardGLATI()</a>. +<p> +<div class="fragment"><pre>00561 { +00562 <a class="code" href="a03688.html#NL3D_1_1CVertexArrayRangeATIr1">_HeapMemory</a>.<a class="code" href="a02627.html#NLMISC_1_1CHeapMemorya2">free</a>(ptr); +00563 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexArrayRangeATIa4" doxytag="NL3D::CVertexArrayRangeATI::getATIVertexObjectId" ></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::CVertexArrayRangeATI::getATIVertexObjectId </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> +get Handle of the ATI buffer. +<p> + +<p> +Definition at line <a class="el" href="a05655.html#l00284">284</a> of file <a class="el" href="a05655.html">driver_opengl_vertex_buffer_hard.h</a>. +<p> +References <a class="el" href="a05655.html#l00288">_VertexObjectId</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a05655.html#l00341">NL3D::CVertexBufferHardGLATI::getATIVertexObjectId()</a>. +<p> +<div class="fragment"><pre>00284 {<span class="keywordflow">return</span> <a class="code" href="a03688.html#NL3D_1_1CVertexArrayRangeATIr3">_VertexObjectId</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexArrayRangeATIz129_3" doxytag="NL3D::CVertexArrayRangeATI::sizeAllocated" ></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::CVertexArrayRangeATI::sizeAllocated </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> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +return the size allocated. 0 if not allocated or failure +<p> + +<p> +Implements <a class="el" href="a03689.html#NL3D_1_1IVertexArrayRangea4">NL3D::IVertexArrayRange</a>. +<p> +Definition at line <a class="el" href="a05654.html#l00479">479</a> of file <a class="el" href="a05654.html">driver_opengl_vertex_buffer_hard.cpp</a>. +<p> +References <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>00480 { +00481 <span class="keywordflow">return</span> <a class="code" href="a03688.html#NL3D_1_1CVertexArrayRangeATIr2">_VertexArraySize</a>; +00482 } +</pre></div> </td> + </tr> +</table> +<hr><h2>Field Documentation</h2> +<a class="anchor" name="NL3D_1_1CVertexArrayRangeATIr0" doxytag="NL3D::CVertexArrayRangeATI::_Allocated" ></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="a03688.html#NL3D_1_1CVertexArrayRangeATIr0">NL3D::CVertexArrayRangeATI::_Allocated</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="a05655.html#l00289">289</a> of file <a class="el" href="a05655.html">driver_opengl_vertex_buffer_hard.h</a>. +<p> +Referenced by <a class="el" href="a05654.html#l00441">allocate()</a>, <a class="el" href="a05654.html#l00500">createVBHardGL()</a>, <a class="el" href="a05654.html#l00434">CVertexArrayRangeATI()</a>, and <a class="el" href="a05654.html#l00484">free()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1IVertexArrayRangep0" doxytag="NL3D::CVertexArrayRangeATI::_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="a02433.html">CDriverGL</a>* <a class="el" href="a03689.html#NL3D_1_1IVertexArrayRangep0">NL3D::IVertexArrayRange::_Driver</a><code> [protected, inherited]</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="a05655.html#l00069">69</a> of file <a class="el" href="a05655.html">driver_opengl_vertex_buffer_hard.h</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexArrayRangeATIr1" doxytag="NL3D::CVertexArrayRangeATI::_HeapMemory" ></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="a02627.html">NLMISC::CHeapMemory</a> <a class="el" href="a03688.html#NL3D_1_1CVertexArrayRangeATIr1">NL3D::CVertexArrayRangeATI::_HeapMemory</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="a05655.html#l00293">293</a> of file <a class="el" href="a05655.html">driver_opengl_vertex_buffer_hard.h</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexArrayRangeATIr2" doxytag="NL3D::CVertexArrayRangeATI::_VertexArraySize" ></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#a11">uint32</a> <a class="el" href="a03688.html#NL3D_1_1CVertexArrayRangeATIr2">NL3D::CVertexArrayRangeATI::_VertexArraySize</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="a05655.html#l00290">290</a> of file <a class="el" href="a05655.html">driver_opengl_vertex_buffer_hard.h</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexArrayRangeATIr3" doxytag="NL3D::CVertexArrayRangeATI::_VertexObjectId" ></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="a03688.html#NL3D_1_1CVertexArrayRangeATIr3">NL3D::CVertexArrayRangeATI::_VertexObjectId</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="a05655.html#l00288">288</a> of file <a class="el" href="a05655.html">driver_opengl_vertex_buffer_hard.h</a>. +<p> +Referenced by <a class="el" href="a05654.html#l00441">allocate()</a>, <a class="el" href="a05654.html#l00434">CVertexArrayRangeATI()</a>, <a class="el" href="a05654.html#l00484">free()</a>, and <a class="el" href="a05655.html#l00284">getATIVertexObjectId()</a>. </td> + </tr> +</table> +<hr>The documentation for this class was generated from the following files:<ul> +<li><a class="el" href="a05655.html">driver_opengl_vertex_buffer_hard.h</a><li><a class="el" href="a05654.html">driver_opengl_vertex_buffer_hard.cpp</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 08:23:03 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> |