Sophie

Sophie

distrib > Mandriva > 10.0-com > i586 > by-pkgid > 06719cf03808e17ae6f0852ca1052dc2 > files > 2348

libogre1-devel-0.13.0-1mdk.i586.rpm

<html>
<head>
<title>Ogre::HardwareVertexBuffer class Reference - OGRE Documentation</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<link type="text/css" rel="stylesheet" href="style.css">
</head>

<body>
<!-- Generated by Doxygen 1.2.16 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
<hr><h1>Ogre::HardwareVertexBuffer  Class Reference</h1>Specialisation of <a class="el" href="classOgre_1_1HardwareBuffer.html">HardwareBuffer</a> for a vertex buffer. 
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="OgreHardwareVertexBuffer_8h-source.html">OgreHardwareVertexBuffer.h</a>&gt;</code>
<p>
Inheritance diagram for Ogre::HardwareVertexBuffer:<p><center><img src="classOgre_1_1HardwareVertexBuffer__inherit__graph.png" border="0" usemap="#Ogre_1_1HardwareVertexBuffer__inherit__map" alt="Inheritance graph"></center>
<map name="Ogre_1_1HardwareVertexBuffer__inherit__map">
<area href="classOgre_1_1D3D9HardwareVertexBuffer.html" shape="rect" coords="441,23,655,5" alt="">
<area href="classOgre_1_1DefaultHardwareVertexBuffer.html" shape="rect" coords="440,66,656,47" alt="">
<area href="classOgre_1_1GLDefaultHardwareVertexBuffer.html" shape="rect" coords="431,109,665,90" alt="">
<area href="classOgre_1_1GLHardwareVertexBuffer.html" shape="rect" coords="452,151,644,133" alt="">
<area href="classOgre_1_1HardwareBuffer.html" shape="rect" coords="19,87,155,69" alt="">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for Ogre::HardwareVertexBuffer:<p><center><img src="classOgre_1_1HardwareVertexBuffer__coll__graph.png" border="0" usemap="#Ogre_1_1HardwareVertexBuffer__coll__map" alt="Collaboration graph"></center>
<map name="Ogre_1_1HardwareVertexBuffer__coll__map">
<area href="classOgre_1_1HardwareBuffer.html" shape="rect" coords="27,35,163,17" alt="">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classOgre_1_1HardwareVertexBuffer-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Public Types</h2></td></tr>
<tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffers9">Usage</a> { <br>
&nbsp;&nbsp;<a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffers9Ogre_1_1HardwareVertexBuffers0">HBU_STATIC</a> =  1, 
<a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffers9Ogre_1_1HardwareVertexBuffers1">HBU_DYNAMIC</a> =  2, 
<a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffers9Ogre_1_1HardwareVertexBuffers2">HBU_WRITE_ONLY</a> =  4, 
<a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffers9Ogre_1_1HardwareVertexBuffers3">HBU_STATIC_WRITE_ONLY</a> =  5, 
<br>
&nbsp;&nbsp;<a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffers9Ogre_1_1HardwareVertexBuffers4">HBU_DYNAMIC_WRITE_ONLY</a> =  6
<br>
 }</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Enums describing buffer usage; not mutually exclusive.</em> <a href="#Ogre_1_1HardwareVertexBuffers9">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffers10">LockOptions</a> { <a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffers10Ogre_1_1HardwareVertexBuffers5">HBL_NORMAL</a>, 
<a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffers10Ogre_1_1HardwareVertexBuffers6">HBL_DISCARD</a>, 
<a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffers10Ogre_1_1HardwareVertexBuffers7">HBL_READ_ONLY</a>, 
<a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffers10Ogre_1_1HardwareVertexBuffers8">HBL_NO_OVERWRITE</a>
 }</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Locking options.</em> <a href="#Ogre_1_1HardwareVertexBuffers10">More...</a><em></em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffera0">HardwareVertexBuffer</a> (size_t vertexSize, size_t numVertices, <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffers9">HardwareBuffer::Usage</a> usage, bool useSystemMemory, bool useShadowBuffer)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Should be called by <a class="el" href="classOgre_1_1HardwareBufferManager.html">HardwareBufferManager</a>.</em> <a href="#Ogre_1_1HardwareVertexBuffera0"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffera1">~HardwareVertexBuffer</a> ()</td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffera2">getVertexSize</a> (void) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Gets the size in bytes of a single vertex in this buffer.</em> <a href="#Ogre_1_1HardwareVertexBuffera2"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffera3">getNumVertices</a> (void) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get the number of vertices in this buffer.</em> <a href="#Ogre_1_1HardwareVertexBuffera3"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffera4">lock</a> (size_t offset, size_t length, <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffers10">LockOptions</a> options)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Lock the buffer for (potentially) reading / writing.</em> <a href="#Ogre_1_1HardwareVertexBuffera4"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffera5">lock</a> (<a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffers10">LockOptions</a> options)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Lock the entire buffer for (potentially) reading / writing.</em> <a href="#Ogre_1_1HardwareVertexBuffera5"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffera6">unlock</a> (void)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Releases the lock on this buffer.</em> <a href="#Ogre_1_1HardwareVertexBuffera6"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffera7">readData</a> (size_t offset, size_t length, void *pDest)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Reads data from the buffer and places it in the memory pointed to by pDest.</em> <a href="#Ogre_1_1HardwareVertexBuffera7"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffera8">writeData</a> (size_t offset, size_t length, const void *pSource, bool discardWholeBuffer=false)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Writes data to the buffer from an area of system memory; note that you must ensure that your buffer is big enough.</em> <a href="#Ogre_1_1HardwareVertexBuffera8"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffera9">copyData</a> (<a class="el" href="classOgre_1_1HardwareBuffer.html">HardwareBuffer</a> &amp;srcBuffer, size_t srcOffset, size_t dstOffset, size_t length, bool discardWholeBuffer=false)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Copy data from another buffer into this one.</em> <a href="#Ogre_1_1HardwareVertexBuffera9"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffera10">_updateFromShadow</a> (void)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Updates the real buffer from the shadow buffer, if required.</em> <a href="#Ogre_1_1HardwareVertexBuffera10"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffera11">getSizeInBytes</a> (void) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns the size of this buffer in bytes.</em> <a href="#Ogre_1_1HardwareVertexBuffera11"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffers9">Usage</a>&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffera12">getUsage</a> (void) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns the Usage flags with which this buffer was created.</em> <a href="#Ogre_1_1HardwareVertexBuffera12"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffera13">isSystemMemory</a> (void) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns whether this buffer is held in system memory.</em> <a href="#Ogre_1_1HardwareVertexBuffera13"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffera14">isLocked</a> (void) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns whether or not this buffer is currently locked.</em> <a href="#Ogre_1_1HardwareVertexBuffera14"></a><em></em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBufferb0">lockImpl</a> (size_t offset, size_t length, <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffers10">LockOptions</a> options)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Internal implementation of <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera4">lock</a>().</em> <a href="#Ogre_1_1HardwareVertexBufferb0"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBufferb1">unlockImpl</a> (void)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Internal implementation of <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera6">unlock</a>().</em> <a href="#Ogre_1_1HardwareVertexBufferb1"></a><em></em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffern0">mNumVertices</a></td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffern1">mVertexSize</a></td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffern2">mSizeInBytes</a></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffers9">Usage</a>&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffern3">mUsage</a></td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffern4">mIsLocked</a></td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffern5">mLockStart</a></td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffern6">mLockSize</a></td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffern7">mSystemMemory</a></td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffern8">mUseShadowBuffer</a></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareBuffer.html">HardwareBuffer</a> *&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffern9">mpShadowBuffer</a></td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffern10">mShadowUpdated</a></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Specialisation of <a class="el" href="classOgre_1_1HardwareBuffer.html">HardwareBuffer</a> for a vertex buffer.
<p>

<p>
Definition at line <a class="el" href="OgreHardwareVertexBuffer_8h-source.html#l00036">36</a> of file <a class="el" href="OgreHardwareVertexBuffer_8h-source.html">OgreHardwareVertexBuffer.h</a>.<hr><h2>Member Enumeration Documentation</h2>
<a name="Ogre_1_1HardwareVertexBuffers10" doxytag="Ogre::HardwareVertexBuffer::LockOptions"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> enum Ogre::HardwareBuffer::LockOptions<code> [inherited]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Locking options.
<p>
<dl compact><dt><b>
Enumeration values:</b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em><a name="Ogre_1_1HardwareVertexBuffers10Ogre_1_1HardwareVertexBuffers5" doxytag="HBL_NORMAL"></a><em>HBL_NORMAL</em></em>&nbsp;</td><td>
Normal mode, ie allows read/write and contents are preserved.</td></tr>
<tr><td valign=top><em><a name="Ogre_1_1HardwareVertexBuffers10Ogre_1_1HardwareVertexBuffers6" doxytag="HBL_DISCARD"></a><em>HBL_DISCARD</em></em>&nbsp;</td><td>
Discards the <em>entire</em> buffer while locking; this allows optimisation to be performed because synchronisation issues are relaxed.
<p>
Only allowed on buffers  created with the HBU_DYNAMIC flag. </td></tr>
<tr><td valign=top><em><a name="Ogre_1_1HardwareVertexBuffers10Ogre_1_1HardwareVertexBuffers7" doxytag="HBL_READ_ONLY"></a><em>HBL_READ_ONLY</em></em>&nbsp;</td><td>
Lock the buffer for reading only.
<p>
Not allowed in buffers which are created with HBU_WRITE_ONLY.  Mandatory on statuc buffers, ie those created without the HBU_DYNAMIC flag. </td></tr>
<tr><td valign=top><em><a name="Ogre_1_1HardwareVertexBuffers10Ogre_1_1HardwareVertexBuffers8" doxytag="HBL_NO_OVERWRITE"></a><em>HBL_NO_OVERWRITE</em></em>&nbsp;</td><td>
As HBL_NORMAL, except the application guarantees not to overwrite any region of the buffer which has already been used in this frame, can allow some optimisation on some APIs.</td></tr>
</table>
</dl>

<p>
Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00096">96</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1HardwareVertexBuffers9" doxytag="Ogre::HardwareVertexBuffer::Usage"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> enum Ogre::HardwareBuffer::Usage<code> [inherited]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Enums describing buffer usage; not mutually exclusive.
<p>
<dl compact><dt><b>
Enumeration values:</b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em><a name="Ogre_1_1HardwareVertexBuffers9Ogre_1_1HardwareVertexBuffers0" doxytag="HBU_STATIC"></a><em>HBU_STATIC</em></em>&nbsp;</td><td>
Static buffer which the application rarely modifies once created.
<p>
Modifying  the contents of this buffer will involve a performance hit. </td></tr>
<tr><td valign=top><em><a name="Ogre_1_1HardwareVertexBuffers9Ogre_1_1HardwareVertexBuffers1" doxytag="HBU_DYNAMIC"></a><em>HBU_DYNAMIC</em></em>&nbsp;</td><td>
Indicates the application would like to modify this buffer with the CPU fairly often.
<p>
Buffers created with this flag will typically end up in AGP memory rather  than video memory. </td></tr>
<tr><td valign=top><em><a name="Ogre_1_1HardwareVertexBuffers9Ogre_1_1HardwareVertexBuffers2" doxytag="HBU_WRITE_ONLY"></a><em>HBU_WRITE_ONLY</em></em>&nbsp;</td><td>
Indicates the application will never read the contents of the buffer back, it will only ever write data.
<p>
Locking a buffer with this flag will ALWAYS  return a pointer to new, blank memory rather than the memory associated  with the contents of the buffer; this avoids DMA stalls because you can  write to a new memory area while the previous one is being used </td></tr>
<tr><td valign=top><em><a name="Ogre_1_1HardwareVertexBuffers9Ogre_1_1HardwareVertexBuffers3" doxytag="HBU_STATIC_WRITE_ONLY"></a><em>HBU_STATIC_WRITE_ONLY</em></em>&nbsp;</td><td>
Combination of HBU_STATIC and HBU_WRITE_ONLY.</td></tr>
<tr><td valign=top><em><a name="Ogre_1_1HardwareVertexBuffers9Ogre_1_1HardwareVertexBuffers4" doxytag="HBU_DYNAMIC_WRITE_ONLY"></a><em>HBU_DYNAMIC_WRITE_ONLY</em></em>&nbsp;</td><td>
Combination of HBU_DYNAMIC and HBU_WRITE_ONLY.</td></tr>
</table>
</dl>

<p>
Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00069">69</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
  </tr>
</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="Ogre_1_1HardwareVertexBuffera0" doxytag="Ogre::HardwareVertexBuffer::HardwareVertexBuffer"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> Ogre::HardwareVertexBuffer::HardwareVertexBuffer </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>vertexSize</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>numVertices</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffers9">HardwareBuffer::Usage</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>usage</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>bool&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>useSystemMemory</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>bool&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>useShadowBuffer</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Should be called by <a class="el" href="classOgre_1_1HardwareBufferManager.html">HardwareBufferManager</a>.
<p>

<p>
Definition at line <a class="el" href="OgreHardwareVertexBuffer_8cpp-source.html#l00036">36</a> of file <a class="el" href="OgreHardwareVertexBuffer_8cpp-source.html">OgreHardwareVertexBuffer.cpp</a>.
<p>
References <a class="el" href="OgreHardwareVertexBuffer_8h-source.html#l00040">mNumVertices</a>, <a class="el" href="OgreHardwareBuffer_8h-source.html#l00123">Ogre::HardwareBuffer::mpShadowBuffer</a>, <a class="el" href="OgreHardwareBuffer_8h-source.html#l00116">Ogre::HardwareBuffer::mSizeInBytes</a>, and <a class="el" href="OgreHardwareVertexBuffer_8h-source.html#l00041">mVertexSize</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1HardwareVertexBuffera1" doxytag="Ogre::HardwareVertexBuffer::~HardwareVertexBuffer"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> Ogre::HardwareVertexBuffer::~HardwareVertexBuffer </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="OgreHardwareVertexBuffer_8cpp-source.html#l00055">55</a> of file <a class="el" href="OgreHardwareVertexBuffer_8cpp-source.html">OgreHardwareVertexBuffer.cpp</a>.
<p>
References <a class="el" href="OgreHardwareBuffer_8h-source.html#l00123">Ogre::HardwareBuffer::mpShadowBuffer</a>.    </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a name="Ogre_1_1HardwareVertexBuffera10" doxytag="Ogre::HardwareVertexBuffer::_updateFromShadow"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBuffer::_updateFromShadow </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [virtual, inherited]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Updates the real buffer from the shadow buffer, if required.
<p>

<p>
Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00247">247</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.
<p>
References <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferb0">Ogre::HardwareBuffer::lockImpl</a>(), and <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferb1">Ogre::HardwareBuffer::unlockImpl</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1HardwareVertexBuffera9" doxytag="Ogre::HardwareVertexBuffer::copyData"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBuffer::copyData </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1HardwareBuffer.html">HardwareBuffer</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>srcBuffer</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>srcOffset</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>dstOffset</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>length</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>bool&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>discardWholeBuffer</em> = false</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [virtual, inherited]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Copy data from another buffer into this one.
<p>
<dl compact><dt><b>
Remarks: </b><dd>
 Note that the source buffer must not be created with the usage HBU_WRITE_ONLY otherwise this will fail.  </dl><dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>srcBuffer</em>&nbsp;</td><td>
The buffer from which to read the copied data </td></tr>
<tr><td valign=top><em>srcOffset</em>&nbsp;</td><td>
Offset in the source buffer at which to start reading </td></tr>
<tr><td valign=top><em>dstOffset</em>&nbsp;</td><td>
Offset in the destination buffer to start writing </td></tr>
<tr><td valign=top><em>length</em>&nbsp;</td><td>
Length of the data to copy, in bytes. </td></tr>
<tr><td valign=top><em>discardWholeBuffer</em>&nbsp;</td><td>
If true, will discard the entire contents of this buffer before copying </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00237">237</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.
<p>
References <a class="el" href="OgreHardwareBuffer_8h-source.html#l00143">Ogre::HardwareBuffer::lock</a>(), and <a class="el" href="OgreHardwareBuffer_8h-source.html#l00189">Ogre::HardwareBuffer::unlock</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1HardwareVertexBuffera3" doxytag="Ogre::HardwareVertexBuffer::getNumVertices"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t Ogre::HardwareVertexBuffer::getNumVertices </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const</td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get the number of vertices in this buffer.
<p>

<p>
Definition at line <a class="el" href="OgreHardwareVertexBuffer_8h-source.html#l00051">51</a> of file <a class="el" href="OgreHardwareVertexBuffer_8h-source.html">OgreHardwareVertexBuffer.h</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1HardwareVertexBuffera11" doxytag="Ogre::HardwareVertexBuffer::getSizeInBytes"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t Ogre::HardwareBuffer::getSizeInBytes </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const<code> [inherited]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the size of this buffer in bytes.
<p>

<p>
Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00272">272</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1HardwareVertexBuffera12" doxytag="Ogre::HardwareVertexBuffer::getUsage"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffers9">Usage</a> Ogre::HardwareBuffer::getUsage </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const<code> [inherited]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the Usage flags with which this buffer was created.
<p>

<p>
Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00274">274</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1HardwareVertexBuffera2" doxytag="Ogre::HardwareVertexBuffer::getVertexSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t Ogre::HardwareVertexBuffer::getVertexSize </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const</td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Gets the size in bytes of a single vertex in this buffer.
<p>

<p>
Definition at line <a class="el" href="OgreHardwareVertexBuffer_8h-source.html#l00049">49</a> of file <a class="el" href="OgreHardwareVertexBuffer_8h-source.html">OgreHardwareVertexBuffer.h</a>.
<p>
Referenced by <a class="el" href="OgreD3D9RenderSystem_8cpp-source.html#l01781">Ogre::D3D9RenderSystem::setVertexBufferBinding</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1HardwareVertexBuffera14" doxytag="Ogre::HardwareVertexBuffer::isLocked"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> bool Ogre::HardwareBuffer::isLocked </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const<code> [inherited]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns whether or not this buffer is currently locked.
<p>

<p>
Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00278">278</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.
<p>
Referenced by <a class="el" href="OgreHardwareBuffer_8h-source.html#l00189">Ogre::HardwareBuffer::unlock</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1HardwareVertexBuffera13" doxytag="Ogre::HardwareVertexBuffer::isSystemMemory"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> bool Ogre::HardwareBuffer::isSystemMemory </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const<code> [inherited]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns whether this buffer is held in system memory.
<p>

<p>
Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00276">276</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1HardwareVertexBuffera5" doxytag="Ogre::HardwareVertexBuffer::lock"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void* Ogre::HardwareBuffer::lock </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffers10">LockOptions</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>options</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inherited]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Lock the entire buffer for (potentially) reading / writing.
<p>
<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>options</em>&nbsp;</td><td>
Locking options </td></tr>
</table>
</dl><dl compact><dt><b>
Returns: </b><dd>
Pointer to the locked memory </dl>
<p>
Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00173">173</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1HardwareVertexBuffera4" doxytag="Ogre::HardwareVertexBuffer::lock"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual void* Ogre::HardwareBuffer::lock </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>offset</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>length</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffers10">LockOptions</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>options</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [virtual, inherited]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Lock the buffer for (potentially) reading / writing.
<p>
<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>offset</em>&nbsp;</td><td>
The byte offset from the start of the buffer to lock </td></tr>
<tr><td valign=top><em>length</em>&nbsp;</td><td>
The size of the area to lock, in bytes </td></tr>
<tr><td valign=top><em>options</em>&nbsp;</td><td>
Locking options </td></tr>
</table>
</dl><dl compact><dt><b>
Returns: </b><dd>
Pointer to the locked memory </dl>
<p>
Reimplemented in <a class="el" href="classOgre_1_1DefaultHardwareVertexBuffer.html#Ogre_1_1DefaultHardwareVertexBuffera4">Ogre::DefaultHardwareVertexBuffer</a>, <a class="el" href="classOgre_1_1DefaultHardwareIndexBuffer.html#Ogre_1_1DefaultHardwareIndexBuffera4">Ogre::DefaultHardwareIndexBuffer</a>, <a class="el" href="classOgre_1_1GLDefaultHardwareVertexBuffer.html#Ogre_1_1GLDefaultHardwareVertexBuffera4">Ogre::GLDefaultHardwareVertexBuffer</a>, and <a class="el" href="classOgre_1_1GLDefaultHardwareIndexBuffer.html#Ogre_1_1GLDefaultHardwareIndexBuffera4">Ogre::GLDefaultHardwareIndexBuffer</a>.
<p>
Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00143">143</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.
<p>
Referenced by <a class="el" href="OgreHardwareBuffer_8h-source.html#l00237">Ogre::HardwareBuffer::copyData</a>(), <a class="el" href="OgreD3D9HardwareVertexBuffer_8cpp-source.html#l00094">Ogre::D3D9HardwareVertexBuffer::readData</a>(), <a class="el" href="OgreD3D9HardwareIndexBuffer_8cpp-source.html#l00098">Ogre::D3D9HardwareIndexBuffer::readData</a>(), <a class="el" href="OgreD3D9HardwareVertexBuffer_8cpp-source.html#l00105">Ogre::D3D9HardwareVertexBuffer::writeData</a>(), and <a class="el" href="OgreD3D9HardwareIndexBuffer_8cpp-source.html#l00109">Ogre::D3D9HardwareIndexBuffer::writeData</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1HardwareVertexBufferb0" doxytag="Ogre::HardwareVertexBuffer::lockImpl"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual void* Ogre::HardwareBuffer::lockImpl </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>offset</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>length</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffers10">LockOptions</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>options</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [protected, pure virtual, inherited]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Internal implementation of <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera4">lock</a>().
<p>

<p>
Implemented in <a class="el" href="classOgre_1_1DefaultHardwareVertexBuffer.html#Ogre_1_1DefaultHardwareVertexBufferb0">Ogre::DefaultHardwareVertexBuffer</a>, <a class="el" href="classOgre_1_1DefaultHardwareIndexBuffer.html#Ogre_1_1DefaultHardwareIndexBufferb0">Ogre::DefaultHardwareIndexBuffer</a>, <a class="el" href="classOgre_1_1D3D9HardwareIndexBuffer.html#Ogre_1_1D3D9HardwareIndexBufferb0">Ogre::D3D9HardwareIndexBuffer</a>, <a class="el" href="classOgre_1_1D3D9HardwareVertexBuffer.html#Ogre_1_1D3D9HardwareVertexBufferb0">Ogre::D3D9HardwareVertexBuffer</a>, <a class="el" href="classOgre_1_1GLDefaultHardwareVertexBuffer.html#Ogre_1_1GLDefaultHardwareVertexBufferb0">Ogre::GLDefaultHardwareVertexBuffer</a>, <a class="el" href="classOgre_1_1GLDefaultHardwareIndexBuffer.html#Ogre_1_1GLDefaultHardwareIndexBufferb0">Ogre::GLDefaultHardwareIndexBuffer</a>, <a class="el" href="classOgre_1_1GLHardwareIndexBuffer.html#Ogre_1_1GLHardwareIndexBufferb0">Ogre::GLHardwareIndexBuffer</a>, and <a class="el" href="classOgre_1_1GLHardwareVertexBuffer.html#Ogre_1_1GLHardwareVertexBufferb0">Ogre::GLHardwareVertexBuffer</a>.
<p>
Referenced by <a class="el" href="OgreHardwareBuffer_8h-source.html#l00247">Ogre::HardwareBuffer::_updateFromShadow</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1HardwareVertexBuffera7" doxytag="Ogre::HardwareVertexBuffer::readData"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBuffer::readData </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>offset</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>length</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>pDest</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual, inherited]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Reads data from the buffer and places it in the memory pointed to by pDest.
<p>
<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>offset</em>&nbsp;</td><td>
The byte offset from the start of the buffer to read </td></tr>
<tr><td valign=top><em>length</em>&nbsp;</td><td>
The size of the area to read, in bytes </td></tr>
<tr><td valign=top><em>pDest</em>&nbsp;</td><td>
The area of memory in which to place the data, must be large enough to  accommodate the data! </td></tr>
</table>
</dl>
<p>
Implemented in <a class="el" href="classOgre_1_1DefaultHardwareVertexBuffer.html#Ogre_1_1DefaultHardwareVertexBuffera2">Ogre::DefaultHardwareVertexBuffer</a>, <a class="el" href="classOgre_1_1DefaultHardwareIndexBuffer.html#Ogre_1_1DefaultHardwareIndexBuffera2">Ogre::DefaultHardwareIndexBuffer</a>, <a class="el" href="classOgre_1_1D3D9HardwareIndexBuffer.html#Ogre_1_1D3D9HardwareIndexBuffera2">Ogre::D3D9HardwareIndexBuffer</a>, <a class="el" href="classOgre_1_1D3D9HardwareVertexBuffer.html#Ogre_1_1D3D9HardwareVertexBuffera2">Ogre::D3D9HardwareVertexBuffer</a>, <a class="el" href="classOgre_1_1GLDefaultHardwareVertexBuffer.html#Ogre_1_1GLDefaultHardwareVertexBuffera2">Ogre::GLDefaultHardwareVertexBuffer</a>, <a class="el" href="classOgre_1_1GLDefaultHardwareIndexBuffer.html#Ogre_1_1GLDefaultHardwareIndexBuffera2">Ogre::GLDefaultHardwareIndexBuffer</a>, <a class="el" href="classOgre_1_1GLHardwareIndexBuffer.html#Ogre_1_1GLHardwareIndexBuffera2">Ogre::GLHardwareIndexBuffer</a>, and <a class="el" href="classOgre_1_1GLHardwareVertexBuffer.html#Ogre_1_1GLHardwareVertexBuffera2">Ogre::GLHardwareVertexBuffer</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1HardwareVertexBuffera6" doxytag="Ogre::HardwareVertexBuffer::unlock"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBuffer::unlock </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [virtual, inherited]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Releases the lock on this buffer.
<p>
<dl compact><dt><b>
Remarks: </b><dd>
 Locking and unlocking a buffer can, in some rare circumstances such as  switching video modes whilst the buffer is locked, corrupt the  contents of a buffer. This is pretty rare, but if it occurs,  this method will throw an exception, meaning you must re-upload the data. 
<p>
 Note that using the 'read' and 'write' forms of updating the buffer does not suffer from this problem, so if you want to be 100% sure your data will not be lost, use the 'read' and 'write' forms instead. </dl>
<p>
Reimplemented in <a class="el" href="classOgre_1_1DefaultHardwareVertexBuffer.html#Ogre_1_1DefaultHardwareVertexBuffera5">Ogre::DefaultHardwareVertexBuffer</a>, <a class="el" href="classOgre_1_1DefaultHardwareIndexBuffer.html#Ogre_1_1DefaultHardwareIndexBuffera5">Ogre::DefaultHardwareIndexBuffer</a>, <a class="el" href="classOgre_1_1GLDefaultHardwareVertexBuffer.html#Ogre_1_1GLDefaultHardwareVertexBuffera5">Ogre::GLDefaultHardwareVertexBuffer</a>, and <a class="el" href="classOgre_1_1GLDefaultHardwareIndexBuffer.html#Ogre_1_1GLDefaultHardwareIndexBuffera5">Ogre::GLDefaultHardwareIndexBuffer</a>.
<p>
Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00189">189</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.
<p>
References <a class="el" href="OgreHardwareBuffer_8h-source.html#l00278">Ogre::HardwareBuffer::isLocked</a>().
<p>
Referenced by <a class="el" href="OgreHardwareBuffer_8h-source.html#l00237">Ogre::HardwareBuffer::copyData</a>(), <a class="el" href="OgreD3D9HardwareVertexBuffer_8cpp-source.html#l00094">Ogre::D3D9HardwareVertexBuffer::readData</a>(), <a class="el" href="OgreD3D9HardwareIndexBuffer_8cpp-source.html#l00098">Ogre::D3D9HardwareIndexBuffer::readData</a>(), <a class="el" href="OgreD3D9HardwareVertexBuffer_8cpp-source.html#l00105">Ogre::D3D9HardwareVertexBuffer::writeData</a>(), and <a class="el" href="OgreD3D9HardwareIndexBuffer_8cpp-source.html#l00109">Ogre::D3D9HardwareIndexBuffer::writeData</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1HardwareVertexBufferb1" doxytag="Ogre::HardwareVertexBuffer::unlockImpl"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBuffer::unlockImpl </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [protected, pure virtual, inherited]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Internal implementation of <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera6">unlock</a>().
<p>

<p>
Implemented in <a class="el" href="classOgre_1_1DefaultHardwareVertexBuffer.html#Ogre_1_1DefaultHardwareVertexBufferb1">Ogre::DefaultHardwareVertexBuffer</a>, <a class="el" href="classOgre_1_1DefaultHardwareIndexBuffer.html#Ogre_1_1DefaultHardwareIndexBufferb1">Ogre::DefaultHardwareIndexBuffer</a>, <a class="el" href="classOgre_1_1D3D9HardwareIndexBuffer.html#Ogre_1_1D3D9HardwareIndexBufferb1">Ogre::D3D9HardwareIndexBuffer</a>, <a class="el" href="classOgre_1_1D3D9HardwareVertexBuffer.html#Ogre_1_1D3D9HardwareVertexBufferb1">Ogre::D3D9HardwareVertexBuffer</a>, <a class="el" href="classOgre_1_1GLDefaultHardwareVertexBuffer.html#Ogre_1_1GLDefaultHardwareVertexBufferb1">Ogre::GLDefaultHardwareVertexBuffer</a>, <a class="el" href="classOgre_1_1GLDefaultHardwareIndexBuffer.html#Ogre_1_1GLDefaultHardwareIndexBufferb1">Ogre::GLDefaultHardwareIndexBuffer</a>, <a class="el" href="classOgre_1_1GLHardwareIndexBuffer.html#Ogre_1_1GLHardwareIndexBufferb1">Ogre::GLHardwareIndexBuffer</a>, and <a class="el" href="classOgre_1_1GLHardwareVertexBuffer.html#Ogre_1_1GLHardwareVertexBufferb1">Ogre::GLHardwareVertexBuffer</a>.
<p>
Referenced by <a class="el" href="OgreHardwareBuffer_8h-source.html#l00247">Ogre::HardwareBuffer::_updateFromShadow</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1HardwareVertexBuffera8" doxytag="Ogre::HardwareVertexBuffer::writeData"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBuffer::writeData </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>offset</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>length</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>pSource</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>bool&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>discardWholeBuffer</em> = false</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual, inherited]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Writes data to the buffer from an area of system memory; note that you must ensure that your buffer is big enough.
<p>
<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>offset</em>&nbsp;</td><td>
The byte offset from the start of the buffer to start writing </td></tr>
<tr><td valign=top><em>length</em>&nbsp;</td><td>
The size of the data to write to, in bytes </td></tr>
<tr><td valign=top><em>pSource</em>&nbsp;</td><td>
The source of the data to be written </td></tr>
<tr><td valign=top><em>discardWholeBuffer</em>&nbsp;</td><td>
If true, this allows the driver to discard the entire buffer when writing, such that DMA stalls can be avoided; use if you can. </td></tr>
</table>
</dl>
<p>
Implemented in <a class="el" href="classOgre_1_1DefaultHardwareVertexBuffer.html#Ogre_1_1DefaultHardwareVertexBuffera3">Ogre::DefaultHardwareVertexBuffer</a>, <a class="el" href="classOgre_1_1DefaultHardwareIndexBuffer.html#Ogre_1_1DefaultHardwareIndexBuffera3">Ogre::DefaultHardwareIndexBuffer</a>, <a class="el" href="classOgre_1_1D3D9HardwareIndexBuffer.html#Ogre_1_1D3D9HardwareIndexBuffera3">Ogre::D3D9HardwareIndexBuffer</a>, <a class="el" href="classOgre_1_1D3D9HardwareVertexBuffer.html#Ogre_1_1D3D9HardwareVertexBuffera3">Ogre::D3D9HardwareVertexBuffer</a>, <a class="el" href="classOgre_1_1GLDefaultHardwareVertexBuffer.html#Ogre_1_1GLDefaultHardwareVertexBuffera3">Ogre::GLDefaultHardwareVertexBuffer</a>, <a class="el" href="classOgre_1_1GLDefaultHardwareIndexBuffer.html#Ogre_1_1GLDefaultHardwareIndexBuffera3">Ogre::GLDefaultHardwareIndexBuffer</a>, <a class="el" href="classOgre_1_1GLHardwareIndexBuffer.html#Ogre_1_1GLHardwareIndexBuffera3">Ogre::GLHardwareIndexBuffer</a>, and <a class="el" href="classOgre_1_1GLHardwareVertexBuffer.html#Ogre_1_1GLHardwareVertexBuffera3">Ogre::GLHardwareVertexBuffer</a>.    </td>
  </tr>
</table>
<hr><h2>Member Data Documentation</h2>
<a name="Ogre_1_1HardwareVertexBuffern4" doxytag="Ogre::HardwareVertexBuffer::mIsLocked"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> bool Ogre::HardwareBuffer::mIsLocked<code> [protected, inherited]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00118">118</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.
<p>
Referenced by <a class="el" href="OgreGLDefaultHardwareBufferManager_8cpp-source.html#l00103">Ogre::GLDefaultHardwareIndexBuffer::lock</a>(), <a class="el" href="OgreGLDefaultHardwareBufferManager_8cpp-source.html#l00052">Ogre::GLDefaultHardwareVertexBuffer::lock</a>(), <a class="el" href="OgreDefaultHardwareBufferManager_8cpp-source.html#l00104">Ogre::DefaultHardwareIndexBuffer::lock</a>(), <a class="el" href="OgreDefaultHardwareBufferManager_8cpp-source.html#l00053">Ogre::DefaultHardwareVertexBuffer::lock</a>(), <a class="el" href="OgreGLHardwareVertexBuffer_8cpp-source.html#l00059">Ogre::GLHardwareVertexBuffer::lockImpl</a>(), <a class="el" href="OgreGLHardwareIndexBuffer_8cpp-source.html#l00059">Ogre::GLHardwareIndexBuffer::lockImpl</a>(), <a class="el" href="OgreGLDefaultHardwareBufferManager_8cpp-source.html#l00109">Ogre::GLDefaultHardwareIndexBuffer::unlock</a>(), <a class="el" href="OgreGLDefaultHardwareBufferManager_8cpp-source.html#l00058">Ogre::GLDefaultHardwareVertexBuffer::unlock</a>(), <a class="el" href="OgreDefaultHardwareBufferManager_8cpp-source.html#l00110">Ogre::DefaultHardwareIndexBuffer::unlock</a>(), <a class="el" href="OgreDefaultHardwareBufferManager_8cpp-source.html#l00059">Ogre::DefaultHardwareVertexBuffer::unlock</a>(), <a class="el" href="OgreGLHardwareVertexBuffer_8cpp-source.html#l00116">Ogre::GLHardwareVertexBuffer::unlockImpl</a>(), and <a class="el" href="OgreGLHardwareIndexBuffer_8cpp-source.html#l00118">Ogre::GLHardwareIndexBuffer::unlockImpl</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1HardwareVertexBuffern6" doxytag="Ogre::HardwareVertexBuffer::mLockSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t Ogre::HardwareBuffer::mLockSize<code> [protected, inherited]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00120">120</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1HardwareVertexBuffern5" doxytag="Ogre::HardwareVertexBuffer::mLockStart"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t Ogre::HardwareBuffer::mLockStart<code> [protected, inherited]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00119">119</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1HardwareVertexBuffern0" doxytag="Ogre::HardwareVertexBuffer::mNumVertices"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t Ogre::HardwareVertexBuffer::mNumVertices<code> [protected]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="OgreHardwareVertexBuffer_8h-source.html#l00040">40</a> of file <a class="el" href="OgreHardwareVertexBuffer_8h-source.html">OgreHardwareVertexBuffer.h</a>.
<p>
Referenced by <a class="el" href="OgreHardwareVertexBuffer_8cpp-source.html#l00036">HardwareVertexBuffer</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1HardwareVertexBuffern9" doxytag="Ogre::HardwareVertexBuffer::mpShadowBuffer"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareBuffer.html">HardwareBuffer</a>* Ogre::HardwareBuffer::mpShadowBuffer<code> [protected, inherited]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00123">123</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.
<p>
Referenced by <a class="el" href="OgreHardwareIndexBuffer_8cpp-source.html#l00034">Ogre::HardwareIndexBuffer::HardwareIndexBuffer</a>(), <a class="el" href="OgreHardwareVertexBuffer_8cpp-source.html#l00036">HardwareVertexBuffer</a>(), <a class="el" href="OgreHardwareIndexBuffer_8cpp-source.html#l00061">Ogre::HardwareIndexBuffer::~HardwareIndexBuffer</a>(), and <a class="el" href="OgreHardwareVertexBuffer_8cpp-source.html#l00055">~HardwareVertexBuffer</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1HardwareVertexBuffern10" doxytag="Ogre::HardwareVertexBuffer::mShadowUpdated"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> bool Ogre::HardwareBuffer::mShadowUpdated<code> [protected, inherited]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00124">124</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1HardwareVertexBuffern2" doxytag="Ogre::HardwareVertexBuffer::mSizeInBytes"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t Ogre::HardwareBuffer::mSizeInBytes<code> [protected, inherited]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00116">116</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.
<p>
Referenced by <a class="el" href="OgreD3D9HardwareVertexBuffer_8cpp-source.html#l00032">Ogre::D3D9HardwareVertexBuffer::D3D9HardwareVertexBuffer</a>(), <a class="el" href="OgreDefaultHardwareBufferManager_8cpp-source.html#l00081">Ogre::DefaultHardwareIndexBuffer::DefaultHardwareIndexBuffer</a>(), <a class="el" href="OgreDefaultHardwareBufferManager_8cpp-source.html#l00030">Ogre::DefaultHardwareVertexBuffer::DefaultHardwareVertexBuffer</a>(), <a class="el" href="OgreGLDefaultHardwareBufferManager_8cpp-source.html#l00080">Ogre::GLDefaultHardwareIndexBuffer::GLDefaultHardwareIndexBuffer</a>(), <a class="el" href="OgreGLDefaultHardwareBufferManager_8cpp-source.html#l00029">Ogre::GLDefaultHardwareVertexBuffer::GLDefaultHardwareVertexBuffer</a>(), <a class="el" href="OgreGLHardwareIndexBuffer_8cpp-source.html#l00032">Ogre::GLHardwareIndexBuffer::GLHardwareIndexBuffer</a>(), <a class="el" href="OgreGLHardwareVertexBuffer_8cpp-source.html#l00032">Ogre::GLHardwareVertexBuffer::GLHardwareVertexBuffer</a>(), <a class="el" href="OgreHardwareIndexBuffer_8cpp-source.html#l00034">Ogre::HardwareIndexBuffer::HardwareIndexBuffer</a>(), <a class="el" href="OgreHardwareVertexBuffer_8cpp-source.html#l00036">HardwareVertexBuffer</a>(), <a class="el" href="OgreGLDefaultHardwareBufferManager_8cpp-source.html#l00115">Ogre::GLDefaultHardwareIndexBuffer::readData</a>(), <a class="el" href="OgreGLDefaultHardwareBufferManager_8cpp-source.html#l00064">Ogre::GLDefaultHardwareVertexBuffer::readData</a>(), <a class="el" href="OgreDefaultHardwareBufferManager_8cpp-source.html#l00116">Ogre::DefaultHardwareIndexBuffer::readData</a>(), <a class="el" href="OgreDefaultHardwareBufferManager_8cpp-source.html#l00065">Ogre::DefaultHardwareVertexBuffer::readData</a>(), <a class="el" href="OgreGLHardwareVertexBuffer_8cpp-source.html#l00137">Ogre::GLHardwareVertexBuffer::writeData</a>(), <a class="el" href="OgreGLHardwareIndexBuffer_8cpp-source.html#l00139">Ogre::GLHardwareIndexBuffer::writeData</a>(), <a class="el" href="OgreGLDefaultHardwareBufferManager_8cpp-source.html#l00121">Ogre::GLDefaultHardwareIndexBuffer::writeData</a>(), <a class="el" href="OgreGLDefaultHardwareBufferManager_8cpp-source.html#l00070">Ogre::GLDefaultHardwareVertexBuffer::writeData</a>(), <a class="el" href="OgreDefaultHardwareBufferManager_8cpp-source.html#l00122">Ogre::DefaultHardwareIndexBuffer::writeData</a>(), and <a class="el" href="OgreDefaultHardwareBufferManager_8cpp-source.html#l00071">Ogre::DefaultHardwareVertexBuffer::writeData</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1HardwareVertexBuffern7" doxytag="Ogre::HardwareVertexBuffer::mSystemMemory"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> bool Ogre::HardwareBuffer::mSystemMemory<code> [protected, inherited]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00121">121</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1HardwareVertexBuffern3" doxytag="Ogre::HardwareVertexBuffer::mUsage"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffers9">Usage</a> Ogre::HardwareBuffer::mUsage<code> [protected, inherited]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00117">117</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.
<p>
Referenced by <a class="el" href="OgreGLHardwareVertexBuffer_8cpp-source.html#l00059">Ogre::GLHardwareVertexBuffer::lockImpl</a>(), <a class="el" href="OgreGLHardwareIndexBuffer_8cpp-source.html#l00059">Ogre::GLHardwareIndexBuffer::lockImpl</a>(), <a class="el" href="OgreD3D9HardwareVertexBuffer_8cpp-source.html#l00059">Ogre::D3D9HardwareVertexBuffer::lockImpl</a>(), <a class="el" href="OgreD3D9HardwareIndexBuffer_8cpp-source.html#l00061">Ogre::D3D9HardwareIndexBuffer::lockImpl</a>(), <a class="el" href="OgreGLHardwareVertexBuffer_8cpp-source.html#l00137">Ogre::GLHardwareVertexBuffer::writeData</a>(), and <a class="el" href="OgreGLHardwareIndexBuffer_8cpp-source.html#l00139">Ogre::GLHardwareIndexBuffer::writeData</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1HardwareVertexBuffern8" doxytag="Ogre::HardwareVertexBuffer::mUseShadowBuffer"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> bool Ogre::HardwareBuffer::mUseShadowBuffer<code> [protected, inherited]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00122">122</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1HardwareVertexBuffern1" doxytag="Ogre::HardwareVertexBuffer::mVertexSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t Ogre::HardwareVertexBuffer::mVertexSize<code> [protected]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="OgreHardwareVertexBuffer_8h-source.html#l00041">41</a> of file <a class="el" href="OgreHardwareVertexBuffer_8h-source.html">OgreHardwareVertexBuffer.h</a>.
<p>
Referenced by <a class="el" href="OgreHardwareVertexBuffer_8cpp-source.html#l00036">HardwareVertexBuffer</a>().    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="OgreHardwareVertexBuffer_8h-source.html">OgreHardwareVertexBuffer.h</a><li><a class="el" href="OgreHardwareVertexBuffer_8cpp-source.html">OgreHardwareVertexBuffer.cpp</a></ul>
<p>
Copyright &copy; 2002-2003 by The OGRE Team<br />
Last modified Wed Jan 21 00:17:52 2004
</p>
</body>
</html>