source: OGRE/trunk/ogrenew/Docs/api/html/classOgre_1_1HardwareVertexBuffer.html @ 692

Revision 692, 68.6 KB checked in by mattausch, 18 years ago (diff)

adding ogre 1.2 and dependencies

Line 
1<html>
2<head>
3<title>Ogre::HardwareVertexBuffer class Reference - OGRE Documentation</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
4<link type="text/css" rel="stylesheet" href="style.css">
5</head>
6
7<body>
8<!-- Generated by Doxygen 1.3.6 -->
9<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
10<h1>Ogre::HardwareVertexBuffer Class Reference</h1>Specialisation of <a class="el" href="classOgre_1_1HardwareBuffer.html">HardwareBuffer</a> for a vertex buffer. 
11<a href="#_details">More...</a>
12<p>
13<code>#include &lt;<a class="el" href="OgreHardwareVertexBuffer_8h-source.html">OgreHardwareVertexBuffer.h</a>&gt;</code>
14<p>
15<p>Inheritance diagram for Ogre::HardwareVertexBuffer:
16<p><center><img src="classOgre_1_1HardwareVertexBuffer.png" usemap="#Ogre::HardwareVertexBuffer_map" border="0" alt=""></center>
17<map name="Ogre::HardwareVertexBuffer_map">
18<area href="classOgre_1_1HardwareBuffer.html" alt="Ogre::HardwareBuffer" shape="rect" coords="361,0,592,24">
19<area href="classOgre_1_1D3D9HardwareVertexBuffer.html" alt="Ogre::D3D9HardwareVertexBuffer" shape="rect" coords="0,112,231,136">
20<area href="classOgre_1_1DefaultHardwareVertexBuffer.html" alt="Ogre::DefaultHardwareVertexBuffer" shape="rect" coords="241,112,472,136">
21<area href="classOgre_1_1GLDefaultHardwareVertexBuffer.html" alt="Ogre::GLDefaultHardwareVertexBuffer" shape="rect" coords="482,112,713,136">
22<area href="classOgre_1_1GLHardwareVertexBuffer.html" alt="Ogre::GLHardwareVertexBuffer" shape="rect" coords="723,112,954,136">
23</map>
24<a href="classOgre_1_1HardwareVertexBuffer-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
25<tr><td></td></tr>
26<tr><td colspan=2><br><h2>Public Types</h2></td></tr>
27<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11">Usage</a> { <br>
28&nbsp;&nbsp;<a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11Ogre_1_1HardwareVertexBufferw0">HBU_STATIC</a> =  1,
29<a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11Ogre_1_1HardwareVertexBufferw1">HBU_DYNAMIC</a> =  2,
30<a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11Ogre_1_1HardwareVertexBufferw2">HBU_WRITE_ONLY</a> =  4,
31<a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11Ogre_1_1HardwareVertexBufferw3">HBU_DISCARDABLE</a> =  8,
32<br>
33&nbsp;&nbsp;<a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11Ogre_1_1HardwareVertexBufferw4">HBU_STATIC_WRITE_ONLY</a> =  5,
34<a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11Ogre_1_1HardwareVertexBufferw5">HBU_DYNAMIC_WRITE_ONLY</a> =  6,
35<a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11Ogre_1_1HardwareVertexBufferw6">HBU_DYNAMIC_WRITE_ONLY_DISCARDABLE</a> =  14
36<br>
37 }</td></tr>
38
39<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enums describing buffer usage; not mutually exclusive.  <a href="#Ogre_1_1HardwareVertexBufferw11">More...</a><br><br></td></tr>
40<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw12">LockOptions</a> { <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw12Ogre_1_1HardwareVertexBufferw7">HBL_NORMAL</a>,
41<a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw12Ogre_1_1HardwareVertexBufferw8">HBL_DISCARD</a>,
42<a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw12Ogre_1_1HardwareVertexBufferw9">HBL_READ_ONLY</a>,
43<a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw12Ogre_1_1HardwareVertexBufferw10">HBL_NO_OVERWRITE</a>
44 }</td></tr>
45
46<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Locking options.  <a href="#Ogre_1_1HardwareVertexBufferw12">More...</a><br><br></td></tr>
47<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
48<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" 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_1HardwareVertexBufferw11">HardwareBuffer::Usage</a> usage, bool useSystemMemory, bool useShadowBuffer)</td></tr>
49
50<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Should be called by <a class="el" href="classOgre_1_1HardwareBufferManager.html">HardwareBufferManager</a>.  <a href="#Ogre_1_1HardwareVertexBuffera0"></a><br><br></td></tr>
51<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffera1">~HardwareVertexBuffer</a> ()</td></tr>
52
53<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffera2">getVertexSize</a> (void) const </td></tr>
54
55<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the size in bytes of a single vertex in this buffer.  <a href="#Ogre_1_1HardwareVertexBuffera2"></a><br><br></td></tr>
56<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBuffera3">getNumVertices</a> (void) const </td></tr>
57
58<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of vertices in this buffer.  <a href="#Ogre_1_1HardwareVertexBuffera3"></a><br><br></td></tr>
59<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera4">lock</a> (size_t offset, size_t length, <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw12">LockOptions</a> options)</td></tr>
60
61<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lock the buffer for (potentially) reading / writing.  <a href="#Ogre_1_1HardwareVertexBuffera4"></a><br><br></td></tr>
62<tr><td class="memItemLeft" nowrap align=right valign=top>void *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera5">lock</a> (<a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw12">LockOptions</a> options)</td></tr>
63
64<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lock the entire buffer for (potentially) reading / writing.  <a href="#Ogre_1_1HardwareVertexBuffera5"></a><br><br></td></tr>
65<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera6">unlock</a> (void)</td></tr>
66
67<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Releases the lock on this buffer.  <a href="#Ogre_1_1HardwareVertexBuffera6"></a><br><br></td></tr>
68<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera7">readData</a> (size_t offset, size_t length, void *pDest)=0</td></tr>
69
70<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reads data from the buffer and places it in the memory pointed to by pDest.  <a href="#Ogre_1_1HardwareVertexBuffera7"></a><br><br></td></tr>
71<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera8">writeData</a> (size_t offset, size_t length, const void *pSource, bool discardWholeBuffer=false)=0</td></tr>
72
73<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Writes data to the buffer from an area of system memory; note that you must ensure that your buffer is big enough.  <a href="#Ogre_1_1HardwareVertexBuffera8"></a><br><br></td></tr>
74<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.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>
75
76<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy data from another buffer into this one.  <a href="#Ogre_1_1HardwareVertexBuffera9"></a><br><br></td></tr>
77<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera10">_updateFromShadow</a> (void)</td></tr>
78
79<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Updates the real buffer from the shadow buffer, if required.  <a href="#Ogre_1_1HardwareVertexBuffera10"></a><br><br></td></tr>
80<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera11">getSizeInBytes</a> (void) const </td></tr>
81
82<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the size of this buffer in bytes.  <a href="#Ogre_1_1HardwareVertexBuffera11"></a><br><br></td></tr>
83<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11">Usage</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera12">getUsage</a> (void) const </td></tr>
84
85<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Usage flags with which this buffer was created.  <a href="#Ogre_1_1HardwareVertexBuffera12"></a><br><br></td></tr>
86<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera13">isSystemMemory</a> (void) const </td></tr>
87
88<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns whether this buffer is held in system memory.  <a href="#Ogre_1_1HardwareVertexBuffera13"></a><br><br></td></tr>
89<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera14">hasShadowBuffer</a> (void) const </td></tr>
90
91<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns whether this buffer has a system memory shadow for quicker reading.  <a href="#Ogre_1_1HardwareVertexBuffera14"></a><br><br></td></tr>
92<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera15">isLocked</a> (void) const </td></tr>
93
94<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns whether or not this buffer is currently locked.  <a href="#Ogre_1_1HardwareVertexBuffera15"></a><br><br></td></tr>
95<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera16">suppressHardwareUpdate</a> (bool suppress)</td></tr>
96
97<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classOgre_1_1Pass.html">Pass</a> true to suppress hardware upload of shadow buffer changes.  <a href="#Ogre_1_1HardwareVertexBuffera16"></a><br><br></td></tr>
98<tr><td colspan=2><br><h2>Protected Member Functions</h2></td></tr>
99<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferb0">lockImpl</a> (size_t offset, size_t length, <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw12">LockOptions</a> options)=0</td></tr>
100
101<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal implementation of <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera4">lock()</a>.  <a href="#Ogre_1_1HardwareVertexBufferb0"></a><br><br></td></tr>
102<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferb1">unlockImpl</a> (void)=0</td></tr>
103
104<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal implementation of <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera6">unlock()</a>.  <a href="#Ogre_1_1HardwareVertexBufferb1"></a><br><br></td></tr>
105<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
106<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBufferp0">mNumVertices</a></td></tr>
107
108<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBufferp1">mVertexSize</a></td></tr>
109
110<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp2">mSizeInBytes</a></td></tr>
111
112<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11">Usage</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp3">mUsage</a></td></tr>
113
114<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp4">mIsLocked</a></td></tr>
115
116<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp5">mLockStart</a></td></tr>
117
118<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp6">mLockSize</a></td></tr>
119
120<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp7">mSystemMemory</a></td></tr>
121
122<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp8">mUseShadowBuffer</a></td></tr>
123
124<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareBuffer.html">HardwareBuffer</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp9">mpShadowBuffer</a></td></tr>
125
126<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp10">mShadowUpdated</a></td></tr>
127
128<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp11">mSuppressHardwareUpdate</a></td></tr>
129
130</table>
131<hr><a name="_details"></a><h2>Detailed Description</h2>
132Specialisation of <a class="el" href="classOgre_1_1HardwareBuffer.html">HardwareBuffer</a> for a vertex buffer.
133<p>
134
135<p>
136Definition 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>
137<a class="anchor" name="Ogre_1_1HardwareVertexBufferw12" doxytag="Ogre::HardwareVertexBuffer::LockOptions" ></a><p>
138<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
139  <tr>
140    <td class="mdRow">
141      <table cellpadding="0" cellspacing="0" border="0">
142        <tr>
143          <td class="md" nowrap valign="top"> enum <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw12">Ogre::HardwareBuffer::LockOptions</a><code> [inherited]</code>
144      </table>
145    </td>
146  </tr>
147</table>
148<table cellspacing=5 cellpadding=0 border=0>
149  <tr>
150    <td>
151      &nbsp;
152    </td>
153    <td>
154
155<p>
156Locking options.
157<p>
158<dl compact><dt><b>Enumeration values: </b></dt><dd>
159<table border=0 cellspacing=2 cellpadding=0>
160<tr><td valign=top><em><a class="anchor" name="Ogre_1_1HardwareVertexBufferw12Ogre_1_1HardwareVertexBufferw7" doxytag="HBL_NORMAL" ></a>HBL_NORMAL</em>&nbsp;</td><td>
161Normal mode, ie allows read/write and contents are preserved. </td></tr>
162<tr><td valign=top><em><a class="anchor" name="Ogre_1_1HardwareVertexBufferw12Ogre_1_1HardwareVertexBufferw8" doxytag="HBL_DISCARD" ></a>HBL_DISCARD</em>&nbsp;</td><td>
163Discards the <em>entire</em> buffer while locking; this allows optimisation to be performed because synchronisation issues are relaxed.
164<p>
165Only allowed on buffers created with the HBU_DYNAMIC flag.</td></tr>
166<tr><td valign=top><em><a class="anchor" name="Ogre_1_1HardwareVertexBufferw12Ogre_1_1HardwareVertexBufferw9" doxytag="HBL_READ_ONLY" ></a>HBL_READ_ONLY</em>&nbsp;</td><td>
167Lock the buffer for reading only.
168<p>
169Not allowed in buffers which are created with HBU_WRITE_ONLY. Mandatory on statuc buffers, ie those created without the HBU_DYNAMIC flag.</td></tr>
170<tr><td valign=top><em><a class="anchor" name="Ogre_1_1HardwareVertexBufferw12Ogre_1_1HardwareVertexBufferw10" doxytag="HBL_NO_OVERWRITE" ></a>HBL_NO_OVERWRITE</em>&nbsp;</td><td>
171As 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>
172</table>
173</dl>
174
175<p>
176Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00111">111</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
177  </tr>
178</table>
179<a class="anchor" name="Ogre_1_1HardwareVertexBufferw11" doxytag="Ogre::HardwareVertexBuffer::Usage" ></a><p>
180<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
181  <tr>
182    <td class="mdRow">
183      <table cellpadding="0" cellspacing="0" border="0">
184        <tr>
185          <td class="md" nowrap valign="top"> enum <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11">Ogre::HardwareBuffer::Usage</a><code> [inherited]</code>
186      </table>
187    </td>
188  </tr>
189</table>
190<table cellspacing=5 cellpadding=0 border=0>
191  <tr>
192    <td>
193      &nbsp;
194    </td>
195    <td>
196
197<p>
198Enums describing buffer usage; not mutually exclusive.
199<p>
200<dl compact><dt><b>Enumeration values: </b></dt><dd>
201<table border=0 cellspacing=2 cellpadding=0>
202<tr><td valign=top><em><a class="anchor" name="Ogre_1_1HardwareVertexBufferw11Ogre_1_1HardwareVertexBufferw0" doxytag="HBU_STATIC" ></a>HBU_STATIC</em>&nbsp;</td><td>
203Static buffer which the application rarely modifies once created.
204<p>
205Modifying the contents of this buffer will involve a performance hit. </td></tr>
206<tr><td valign=top><em><a class="anchor" name="Ogre_1_1HardwareVertexBufferw11Ogre_1_1HardwareVertexBufferw1" doxytag="HBU_DYNAMIC" ></a>HBU_DYNAMIC</em>&nbsp;</td><td>
207Indicates the application would like to modify this buffer with the CPU fairly often.
208<p>
209Buffers created with this flag will typically end up in AGP memory rather than video memory.</td></tr>
210<tr><td valign=top><em><a class="anchor" name="Ogre_1_1HardwareVertexBufferw11Ogre_1_1HardwareVertexBufferw2" doxytag="HBU_WRITE_ONLY" ></a>HBU_WRITE_ONLY</em>&nbsp;</td><td>
211Indicates the application will never read the contents of the buffer back, it will only ever write data.
212<p>
213Locking 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>
214<tr><td valign=top><em><a class="anchor" name="Ogre_1_1HardwareVertexBufferw11Ogre_1_1HardwareVertexBufferw3" doxytag="HBU_DISCARDABLE" ></a>HBU_DISCARDABLE</em>&nbsp;</td><td>
215Indicates that the application will be refilling the contents of the buffer regularly (not just updating, but generating the contents from scratch), and therefore does not mind if the contents of the buffer are lost somehow and need to be recreated.
216<p>
217This allows and additional level of optimisation on the buffer. This option only really makes sense when combined with HBU_DYNAMIC_WRITE_ONLY. </td></tr>
218<tr><td valign=top><em><a class="anchor" name="Ogre_1_1HardwareVertexBufferw11Ogre_1_1HardwareVertexBufferw4" doxytag="HBU_STATIC_WRITE_ONLY" ></a>HBU_STATIC_WRITE_ONLY</em>&nbsp;</td><td>
219Combination of HBU_STATIC and HBU_WRITE_ONLY. </td></tr>
220<tr><td valign=top><em><a class="anchor" name="Ogre_1_1HardwareVertexBufferw11Ogre_1_1HardwareVertexBufferw5" doxytag="HBU_DYNAMIC_WRITE_ONLY" ></a>HBU_DYNAMIC_WRITE_ONLY</em>&nbsp;</td><td>
221Combination of HBU_DYNAMIC and HBU_WRITE_ONLY.
222<p>
223If you use this, strongly consider using HBU_DYNAMIC_WRITE_ONLY_DISCARDABLE instead if you update the entire contents of the buffer very regularly. </td></tr>
224<tr><td valign=top><em><a class="anchor" name="Ogre_1_1HardwareVertexBufferw11Ogre_1_1HardwareVertexBufferw6" doxytag="HBU_DYNAMIC_WRITE_ONLY_DISCARDABLE" ></a>HBU_DYNAMIC_WRITE_ONLY_DISCARDABLE</em>&nbsp;</td><td>
225Combination of HBU_DYNAMIC, HBU_WRITE_ONLY and HBU_DISCARDABLE. </td></tr>
226</table>
227</dl>
228
229<p>
230Definition 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>
231  </tr>
232</table>
233<hr><h2>Constructor &amp; Destructor Documentation</h2>
234<a class="anchor" name="Ogre_1_1HardwareVertexBuffera0" doxytag="Ogre::HardwareVertexBuffer::HardwareVertexBuffer" ></a><p>
235<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
236  <tr>
237    <td class="mdRow">
238      <table cellpadding="0" cellspacing="0" border="0">
239        <tr>
240          <td class="md" nowrap valign="top"> Ogre::HardwareVertexBuffer::HardwareVertexBuffer </td>
241          <td class="md" valign="top">(&nbsp;</td>
242          <td class="md" nowrap valign="top">size_t&nbsp;</td>
243          <td class="mdname" nowrap> <em>vertexSize</em>, </td>
244        </tr>
245        <tr>
246          <td class="md" nowrap align="right"></td>
247          <td></td>
248          <td class="md" nowrap>size_t&nbsp;</td>
249          <td class="mdname" nowrap> <em>numVertices</em>, </td>
250        </tr>
251        <tr>
252          <td class="md" nowrap align="right"></td>
253          <td></td>
254          <td class="md" nowrap><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11">HardwareBuffer::Usage</a>&nbsp;</td>
255          <td class="mdname" nowrap> <em>usage</em>, </td>
256        </tr>
257        <tr>
258          <td class="md" nowrap align="right"></td>
259          <td></td>
260          <td class="md" nowrap>bool&nbsp;</td>
261          <td class="mdname" nowrap> <em>useSystemMemory</em>, </td>
262        </tr>
263        <tr>
264          <td class="md" nowrap align="right"></td>
265          <td></td>
266          <td class="md" nowrap>bool&nbsp;</td>
267          <td class="mdname" nowrap> <em>useShadowBuffer</em></td>
268        </tr>
269        <tr>
270          <td></td>
271          <td class="md">)&nbsp;</td>
272          <td class="md" colspan="2"></td>
273        </tr>
274
275      </table>
276    </td>
277  </tr>
278</table>
279<table cellspacing=5 cellpadding=0 border=0>
280  <tr>
281    <td>
282      &nbsp;
283    </td>
284    <td>
285
286<p>
287Should be called by <a class="el" href="classOgre_1_1HardwareBufferManager.html">HardwareBufferManager</a>.
288<p>
289    </td>
290  </tr>
291</table>
292<a class="anchor" name="Ogre_1_1HardwareVertexBuffera1" doxytag="Ogre::HardwareVertexBuffer::~HardwareVertexBuffer" ></a><p>
293<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
294  <tr>
295    <td class="mdRow">
296      <table cellpadding="0" cellspacing="0" border="0">
297        <tr>
298          <td class="md" nowrap valign="top"> Ogre::HardwareVertexBuffer::~<a class="el" href="classOgre_1_1HardwareVertexBuffer.html">HardwareVertexBuffer</a> </td>
299          <td class="md" valign="top">(&nbsp;</td>
300          <td class="mdname1" valign="top" nowrap>          </td>
301          <td class="md" valign="top">&nbsp;)&nbsp;</td>
302          <td class="md" nowrap></td>
303        </tr>
304
305      </table>
306    </td>
307  </tr>
308</table>
309<table cellspacing=5 cellpadding=0 border=0>
310  <tr>
311    <td>
312      &nbsp;
313    </td>
314    <td>
315
316<p>
317    </td>
318  </tr>
319</table>
320<hr><h2>Member Function Documentation</h2>
321<a class="anchor" name="Ogre_1_1HardwareVertexBuffera10" doxytag="Ogre::HardwareVertexBuffer::_updateFromShadow" ></a><p>
322<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
323  <tr>
324    <td class="mdRow">
325      <table cellpadding="0" cellspacing="0" border="0">
326        <tr>
327          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBuffer::_updateFromShadow </td>
328          <td class="md" valign="top">(&nbsp;</td>
329          <td class="md" nowrap valign="top">void&nbsp;</td>
330          <td class="mdname1" valign="top" nowrap>          </td>
331          <td class="md" valign="top">&nbsp;)&nbsp;</td>
332          <td class="md" nowrap><code> [virtual, inherited]</code></td>
333        </tr>
334
335      </table>
336    </td>
337  </tr>
338</table>
339<table cellspacing=5 cellpadding=0 border=0>
340  <tr>
341    <td>
342      &nbsp;
343    </td>
344    <td>
345
346<p>
347Updates the real buffer from the shadow buffer, if required.
348<p>
349
350<p>
351Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00275">275</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
352  </tr>
353</table>
354<a class="anchor" name="Ogre_1_1HardwareVertexBuffera9" doxytag="Ogre::HardwareVertexBuffer::copyData" ></a><p>
355<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
356  <tr>
357    <td class="mdRow">
358      <table cellpadding="0" cellspacing="0" border="0">
359        <tr>
360          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBuffer::copyData </td>
361          <td class="md" valign="top">(&nbsp;</td>
362          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1HardwareBuffer.html">HardwareBuffer</a> &amp;&nbsp;</td>
363          <td class="mdname" nowrap> <em>srcBuffer</em>, </td>
364        </tr>
365        <tr>
366          <td class="md" nowrap align="right"></td>
367          <td></td>
368          <td class="md" nowrap>size_t&nbsp;</td>
369          <td class="mdname" nowrap> <em>srcOffset</em>, </td>
370        </tr>
371        <tr>
372          <td class="md" nowrap align="right"></td>
373          <td></td>
374          <td class="md" nowrap>size_t&nbsp;</td>
375          <td class="mdname" nowrap> <em>dstOffset</em>, </td>
376        </tr>
377        <tr>
378          <td class="md" nowrap align="right"></td>
379          <td></td>
380          <td class="md" nowrap>size_t&nbsp;</td>
381          <td class="mdname" nowrap> <em>length</em>, </td>
382        </tr>
383        <tr>
384          <td class="md" nowrap align="right"></td>
385          <td></td>
386          <td class="md" nowrap>bool&nbsp;</td>
387          <td class="mdname" nowrap> <em>discardWholeBuffer</em> = false</td>
388        </tr>
389        <tr>
390          <td></td>
391          <td class="md">)&nbsp;</td>
392          <td class="md" colspan="2"><code> [virtual, inherited]</code></td>
393        </tr>
394
395      </table>
396    </td>
397  </tr>
398</table>
399<table cellspacing=5 cellpadding=0 border=0>
400  <tr>
401    <td>
402      &nbsp;
403    </td>
404    <td>
405
406<p>
407Copy data from another buffer into this one.
408<p>
409<dl compact><dt><b>Remarks:</b></dt><dd>Note that the source buffer must not be created with the usage HBU_WRITE_ONLY otherwise this will fail. </dd></dl>
410<dl compact><dt><b>Parameters:</b></dt><dd>
411  <table border="0" cellspacing="2" cellpadding="0">
412    <tr><td valign=top><em>srcBuffer</em>&nbsp;</td><td>The buffer from which to read the copied data </td></tr>
413    <tr><td valign=top><em>srcOffset</em>&nbsp;</td><td>Offset in the source buffer at which to start reading </td></tr>
414    <tr><td valign=top><em>dstOffset</em>&nbsp;</td><td>Offset in the destination buffer to start writing </td></tr>
415    <tr><td valign=top><em>length</em>&nbsp;</td><td>Length of the data to copy, in bytes. </td></tr>
416    <tr><td valign=top><em>discardWholeBuffer</em>&nbsp;</td><td>If true, will discard the entire contents of this buffer before copying</td></tr>
417  </table>
418</dl>
419
420<p>
421Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00265">265</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.
422<p>
423References <a class="el" href="OgreHardwareBuffer_8h-source.html#l00171">Ogre::HardwareBuffer::lock()</a>, and <a class="el" href="OgreHardwareBuffer_8h-source.html#l00217">Ogre::HardwareBuffer::unlock()</a>.    </td>
424  </tr>
425</table>
426<a class="anchor" name="Ogre_1_1HardwareVertexBuffera3" doxytag="Ogre::HardwareVertexBuffer::getNumVertices" ></a><p>
427<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
428  <tr>
429    <td class="mdRow">
430      <table cellpadding="0" cellspacing="0" border="0">
431        <tr>
432          <td class="md" nowrap valign="top"> size_t Ogre::HardwareVertexBuffer::getNumVertices </td>
433          <td class="md" valign="top">(&nbsp;</td>
434          <td class="md" nowrap valign="top">void&nbsp;</td>
435          <td class="mdname1" valign="top" nowrap>          </td>
436          <td class="md" valign="top">&nbsp;)&nbsp;</td>
437          <td class="md" nowrap> const</td>
438        </tr>
439
440      </table>
441    </td>
442  </tr>
443</table>
444<table cellspacing=5 cellpadding=0 border=0>
445  <tr>
446    <td>
447      &nbsp;
448    </td>
449    <td>
450
451<p>
452Get the number of vertices in this buffer.
453<p>
454
455<p>
456Definition 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>
457  </tr>
458</table>
459<a class="anchor" name="Ogre_1_1HardwareVertexBuffera11" doxytag="Ogre::HardwareVertexBuffer::getSizeInBytes" ></a><p>
460<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
461  <tr>
462    <td class="mdRow">
463      <table cellpadding="0" cellspacing="0" border="0">
464        <tr>
465          <td class="md" nowrap valign="top"> size_t Ogre::HardwareBuffer::getSizeInBytes </td>
466          <td class="md" valign="top">(&nbsp;</td>
467          <td class="md" nowrap valign="top">void&nbsp;</td>
468          <td class="mdname1" valign="top" nowrap>          </td>
469          <td class="md" valign="top">&nbsp;)&nbsp;</td>
470          <td class="md" nowrap> const<code> [inherited]</code></td>
471        </tr>
472
473      </table>
474    </td>
475  </tr>
476</table>
477<table cellspacing=5 cellpadding=0 border=0>
478  <tr>
479    <td>
480      &nbsp;
481    </td>
482    <td>
483
484<p>
485Returns the size of this buffer in bytes.
486<p>
487
488<p>
489Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00300">300</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
490  </tr>
491</table>
492<a class="anchor" name="Ogre_1_1HardwareVertexBuffera12" doxytag="Ogre::HardwareVertexBuffer::getUsage" ></a><p>
493<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
494  <tr>
495    <td class="mdRow">
496      <table cellpadding="0" cellspacing="0" border="0">
497        <tr>
498          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11">Usage</a> Ogre::HardwareBuffer::getUsage </td>
499          <td class="md" valign="top">(&nbsp;</td>
500          <td class="md" nowrap valign="top">void&nbsp;</td>
501          <td class="mdname1" valign="top" nowrap>          </td>
502          <td class="md" valign="top">&nbsp;)&nbsp;</td>
503          <td class="md" nowrap> const<code> [inherited]</code></td>
504        </tr>
505
506      </table>
507    </td>
508  </tr>
509</table>
510<table cellspacing=5 cellpadding=0 border=0>
511  <tr>
512    <td>
513      &nbsp;
514    </td>
515    <td>
516
517<p>
518Returns the Usage flags with which this buffer was created.
519<p>
520
521<p>
522Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00302">302</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
523  </tr>
524</table>
525<a class="anchor" name="Ogre_1_1HardwareVertexBuffera2" doxytag="Ogre::HardwareVertexBuffer::getVertexSize" ></a><p>
526<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
527  <tr>
528    <td class="mdRow">
529      <table cellpadding="0" cellspacing="0" border="0">
530        <tr>
531          <td class="md" nowrap valign="top"> size_t Ogre::HardwareVertexBuffer::getVertexSize </td>
532          <td class="md" valign="top">(&nbsp;</td>
533          <td class="md" nowrap valign="top">void&nbsp;</td>
534          <td class="mdname1" valign="top" nowrap>          </td>
535          <td class="md" valign="top">&nbsp;)&nbsp;</td>
536          <td class="md" nowrap> const</td>
537        </tr>
538
539      </table>
540    </td>
541  </tr>
542</table>
543<table cellspacing=5 cellpadding=0 border=0>
544  <tr>
545    <td>
546      &nbsp;
547    </td>
548    <td>
549
550<p>
551Gets the size in bytes of a single vertex in this buffer.
552<p>
553
554<p>
555Definition 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>.    </td>
556  </tr>
557</table>
558<a class="anchor" name="Ogre_1_1HardwareVertexBuffera14" doxytag="Ogre::HardwareVertexBuffer::hasShadowBuffer" ></a><p>
559<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
560  <tr>
561    <td class="mdRow">
562      <table cellpadding="0" cellspacing="0" border="0">
563        <tr>
564          <td class="md" nowrap valign="top"> bool Ogre::HardwareBuffer::hasShadowBuffer </td>
565          <td class="md" valign="top">(&nbsp;</td>
566          <td class="md" nowrap valign="top">void&nbsp;</td>
567          <td class="mdname1" valign="top" nowrap>          </td>
568          <td class="md" valign="top">&nbsp;)&nbsp;</td>
569          <td class="md" nowrap> const<code> [inherited]</code></td>
570        </tr>
571
572      </table>
573    </td>
574  </tr>
575</table>
576<table cellspacing=5 cellpadding=0 border=0>
577  <tr>
578    <td>
579      &nbsp;
580    </td>
581    <td>
582
583<p>
584Returns whether this buffer has a system memory shadow for quicker reading.
585<p>
586
587<p>
588Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00306">306</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
589  </tr>
590</table>
591<a class="anchor" name="Ogre_1_1HardwareVertexBuffera15" doxytag="Ogre::HardwareVertexBuffer::isLocked" ></a><p>
592<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
593  <tr>
594    <td class="mdRow">
595      <table cellpadding="0" cellspacing="0" border="0">
596        <tr>
597          <td class="md" nowrap valign="top"> bool Ogre::HardwareBuffer::isLocked </td>
598          <td class="md" valign="top">(&nbsp;</td>
599          <td class="md" nowrap valign="top">void&nbsp;</td>
600          <td class="mdname1" valign="top" nowrap>          </td>
601          <td class="md" valign="top">&nbsp;)&nbsp;</td>
602          <td class="md" nowrap> const<code> [inherited]</code></td>
603        </tr>
604
605      </table>
606    </td>
607  </tr>
608</table>
609<table cellspacing=5 cellpadding=0 border=0>
610  <tr>
611    <td>
612      &nbsp;
613    </td>
614    <td>
615
616<p>
617Returns whether or not this buffer is currently locked.
618<p>
619
620<p>
621Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00308">308</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
622  </tr>
623</table>
624<a class="anchor" name="Ogre_1_1HardwareVertexBuffera13" doxytag="Ogre::HardwareVertexBuffer::isSystemMemory" ></a><p>
625<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
626  <tr>
627    <td class="mdRow">
628      <table cellpadding="0" cellspacing="0" border="0">
629        <tr>
630          <td class="md" nowrap valign="top"> bool Ogre::HardwareBuffer::isSystemMemory </td>
631          <td class="md" valign="top">(&nbsp;</td>
632          <td class="md" nowrap valign="top">void&nbsp;</td>
633          <td class="mdname1" valign="top" nowrap>          </td>
634          <td class="md" valign="top">&nbsp;)&nbsp;</td>
635          <td class="md" nowrap> const<code> [inherited]</code></td>
636        </tr>
637
638      </table>
639    </td>
640  </tr>
641</table>
642<table cellspacing=5 cellpadding=0 border=0>
643  <tr>
644    <td>
645      &nbsp;
646    </td>
647    <td>
648
649<p>
650Returns whether this buffer is held in system memory.
651<p>
652
653<p>
654Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00304">304</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
655  </tr>
656</table>
657<a class="anchor" name="Ogre_1_1HardwareVertexBuffera5" doxytag="Ogre::HardwareVertexBuffer::lock" ></a><p>
658<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
659  <tr>
660    <td class="mdRow">
661      <table cellpadding="0" cellspacing="0" border="0">
662        <tr>
663          <td class="md" nowrap valign="top"> void* Ogre::HardwareBuffer::lock </td>
664          <td class="md" valign="top">(&nbsp;</td>
665          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw12">LockOptions</a>&nbsp;</td>
666          <td class="mdname1" valign="top" nowrap> <em>options</em>          </td>
667          <td class="md" valign="top">&nbsp;)&nbsp;</td>
668          <td class="md" nowrap><code> [inherited]</code></td>
669        </tr>
670
671      </table>
672    </td>
673  </tr>
674</table>
675<table cellspacing=5 cellpadding=0 border=0>
676  <tr>
677    <td>
678      &nbsp;
679    </td>
680    <td>
681
682<p>
683Lock the entire buffer for (potentially) reading / writing.
684<p>
685<dl compact><dt><b>Parameters:</b></dt><dd>
686  <table border="0" cellspacing="2" cellpadding="0">
687    <tr><td valign=top><em>options</em>&nbsp;</td><td>Locking options </td></tr>
688  </table>
689</dl>
690<dl compact><dt><b>Returns:</b></dt><dd>Pointer to the locked memory </dd></dl>
691
692<p>
693Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00201">201</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
694  </tr>
695</table>
696<a class="anchor" name="Ogre_1_1HardwareVertexBuffera4" doxytag="Ogre::HardwareVertexBuffer::lock" ></a><p>
697<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
698  <tr>
699    <td class="mdRow">
700      <table cellpadding="0" cellspacing="0" border="0">
701        <tr>
702          <td class="md" nowrap valign="top"> virtual void* Ogre::HardwareBuffer::lock </td>
703          <td class="md" valign="top">(&nbsp;</td>
704          <td class="md" nowrap valign="top">size_t&nbsp;</td>
705          <td class="mdname" nowrap> <em>offset</em>, </td>
706        </tr>
707        <tr>
708          <td class="md" nowrap align="right"></td>
709          <td></td>
710          <td class="md" nowrap>size_t&nbsp;</td>
711          <td class="mdname" nowrap> <em>length</em>, </td>
712        </tr>
713        <tr>
714          <td class="md" nowrap align="right"></td>
715          <td></td>
716          <td class="md" nowrap><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw12">LockOptions</a>&nbsp;</td>
717          <td class="mdname" nowrap> <em>options</em></td>
718        </tr>
719        <tr>
720          <td></td>
721          <td class="md">)&nbsp;</td>
722          <td class="md" colspan="2"><code> [virtual, inherited]</code></td>
723        </tr>
724
725      </table>
726    </td>
727  </tr>
728</table>
729<table cellspacing=5 cellpadding=0 border=0>
730  <tr>
731    <td>
732      &nbsp;
733    </td>
734    <td>
735
736<p>
737Lock the buffer for (potentially) reading / writing.
738<p>
739<dl compact><dt><b>Parameters:</b></dt><dd>
740  <table border="0" cellspacing="2" cellpadding="0">
741    <tr><td valign=top><em>offset</em>&nbsp;</td><td>The byte offset from the start of the buffer to lock </td></tr>
742    <tr><td valign=top><em>length</em>&nbsp;</td><td>The size of the area to lock, in bytes </td></tr>
743    <tr><td valign=top><em>options</em>&nbsp;</td><td>Locking options </td></tr>
744  </table>
745</dl>
746<dl compact><dt><b>Returns:</b></dt><dd>Pointer to the locked memory</dd></dl>
747
748<p>
749Reimplemented 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_1HardwarePixelBuffer.html#Ogre_1_1HardwarePixelBuffera3">Ogre::HardwarePixelBuffer</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>.
750<p>
751Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00171">171</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.
752<p>
753Referenced by <a class="el" href="OgreHardwareBuffer_8h-source.html#l00265">Ogre::HardwareBuffer::copyData()</a>.    </td>
754  </tr>
755</table>
756<a class="anchor" name="Ogre_1_1HardwareVertexBufferb0" doxytag="Ogre::HardwareVertexBuffer::lockImpl" ></a><p>
757<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
758  <tr>
759    <td class="mdRow">
760      <table cellpadding="0" cellspacing="0" border="0">
761        <tr>
762          <td class="md" nowrap valign="top"> virtual void* Ogre::HardwareBuffer::lockImpl </td>
763          <td class="md" valign="top">(&nbsp;</td>
764          <td class="md" nowrap valign="top">size_t&nbsp;</td>
765          <td class="mdname" nowrap> <em>offset</em>, </td>
766        </tr>
767        <tr>
768          <td class="md" nowrap align="right"></td>
769          <td></td>
770          <td class="md" nowrap>size_t&nbsp;</td>
771          <td class="mdname" nowrap> <em>length</em>, </td>
772        </tr>
773        <tr>
774          <td class="md" nowrap align="right"></td>
775          <td></td>
776          <td class="md" nowrap><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw12">LockOptions</a>&nbsp;</td>
777          <td class="mdname" nowrap> <em>options</em></td>
778        </tr>
779        <tr>
780          <td></td>
781          <td class="md">)&nbsp;</td>
782          <td class="md" colspan="2"><code> [protected, pure virtual, inherited]</code></td>
783        </tr>
784
785      </table>
786    </td>
787  </tr>
788</table>
789<table cellspacing=5 cellpadding=0 border=0>
790  <tr>
791    <td>
792      &nbsp;
793    </td>
794    <td>
795
796<p>
797Internal implementation of <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera4">lock()</a>.
798<p>
799
800<p>
801Implemented 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_1HardwarePixelBuffer.html#Ogre_1_1HardwarePixelBufferb1">Ogre::HardwarePixelBuffer</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>.    </td>
802  </tr>
803</table>
804<a class="anchor" name="Ogre_1_1HardwareVertexBuffera7" doxytag="Ogre::HardwareVertexBuffer::readData" ></a><p>
805<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
806  <tr>
807    <td class="mdRow">
808      <table cellpadding="0" cellspacing="0" border="0">
809        <tr>
810          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBuffer::readData </td>
811          <td class="md" valign="top">(&nbsp;</td>
812          <td class="md" nowrap valign="top">size_t&nbsp;</td>
813          <td class="mdname" nowrap> <em>offset</em>, </td>
814        </tr>
815        <tr>
816          <td class="md" nowrap align="right"></td>
817          <td></td>
818          <td class="md" nowrap>size_t&nbsp;</td>
819          <td class="mdname" nowrap> <em>length</em>, </td>
820        </tr>
821        <tr>
822          <td class="md" nowrap align="right"></td>
823          <td></td>
824          <td class="md" nowrap>void *&nbsp;</td>
825          <td class="mdname" nowrap> <em>pDest</em></td>
826        </tr>
827        <tr>
828          <td></td>
829          <td class="md">)&nbsp;</td>
830          <td class="md" colspan="2"><code> [pure virtual, inherited]</code></td>
831        </tr>
832
833      </table>
834    </td>
835  </tr>
836</table>
837<table cellspacing=5 cellpadding=0 border=0>
838  <tr>
839    <td>
840      &nbsp;
841    </td>
842    <td>
843
844<p>
845Reads data from the buffer and places it in the memory pointed to by pDest.
846<p>
847<dl compact><dt><b>Parameters:</b></dt><dd>
848  <table border="0" cellspacing="2" cellpadding="0">
849    <tr><td valign=top><em>offset</em>&nbsp;</td><td>The byte offset from the start of the buffer to read </td></tr>
850    <tr><td valign=top><em>length</em>&nbsp;</td><td>The size of the area to read, in bytes </td></tr>
851    <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>
852  </table>
853</dl>
854
855<p>
856Implemented 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_1HardwarePixelBuffer.html#Ogre_1_1HardwarePixelBuffera5">Ogre::HardwarePixelBuffer</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>
857  </tr>
858</table>
859<a class="anchor" name="Ogre_1_1HardwareVertexBuffera16" doxytag="Ogre::HardwareVertexBuffer::suppressHardwareUpdate" ></a><p>
860<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
861  <tr>
862    <td class="mdRow">
863      <table cellpadding="0" cellspacing="0" border="0">
864        <tr>
865          <td class="md" nowrap valign="top"> void Ogre::HardwareBuffer::suppressHardwareUpdate </td>
866          <td class="md" valign="top">(&nbsp;</td>
867          <td class="md" nowrap valign="top">bool&nbsp;</td>
868          <td class="mdname1" valign="top" nowrap> <em>suppress</em>          </td>
869          <td class="md" valign="top">&nbsp;)&nbsp;</td>
870          <td class="md" nowrap><code> [inherited]</code></td>
871        </tr>
872
873      </table>
874    </td>
875  </tr>
876</table>
877<table cellspacing=5 cellpadding=0 border=0>
878  <tr>
879    <td>
880      &nbsp;
881    </td>
882    <td>
883
884<p>
885<a class="el" href="classOgre_1_1Pass.html">Pass</a> true to suppress hardware upload of shadow buffer changes.
886<p>
887
888<p>
889Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00312">312</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
890  </tr>
891</table>
892<a class="anchor" name="Ogre_1_1HardwareVertexBuffera6" doxytag="Ogre::HardwareVertexBuffer::unlock" ></a><p>
893<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
894  <tr>
895    <td class="mdRow">
896      <table cellpadding="0" cellspacing="0" border="0">
897        <tr>
898          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBuffer::unlock </td>
899          <td class="md" valign="top">(&nbsp;</td>
900          <td class="md" nowrap valign="top">void&nbsp;</td>
901          <td class="mdname1" valign="top" nowrap>          </td>
902          <td class="md" valign="top">&nbsp;)&nbsp;</td>
903          <td class="md" nowrap><code> [virtual, inherited]</code></td>
904        </tr>
905
906      </table>
907    </td>
908  </tr>
909</table>
910<table cellspacing=5 cellpadding=0 border=0>
911  <tr>
912    <td>
913      &nbsp;
914    </td>
915    <td>
916
917<p>
918Releases the lock on this buffer.
919<p>
920<dl compact><dt><b>Remarks:</b></dt><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. </dd></dl>
921<dl compact><dt><b></b></dt><dd>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. </dd></dl>
922
923<p>
924Reimplemented 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>.
925<p>
926Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00217">217</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.
927<p>
928Referenced by <a class="el" href="OgreHardwareBuffer_8h-source.html#l00265">Ogre::HardwareBuffer::copyData()</a>.    </td>
929  </tr>
930</table>
931<a class="anchor" name="Ogre_1_1HardwareVertexBufferb1" doxytag="Ogre::HardwareVertexBuffer::unlockImpl" ></a><p>
932<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
933  <tr>
934    <td class="mdRow">
935      <table cellpadding="0" cellspacing="0" border="0">
936        <tr>
937          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBuffer::unlockImpl </td>
938          <td class="md" valign="top">(&nbsp;</td>
939          <td class="md" nowrap valign="top">void&nbsp;</td>
940          <td class="mdname1" valign="top" nowrap>          </td>
941          <td class="md" valign="top">&nbsp;)&nbsp;</td>
942          <td class="md" nowrap><code> [protected, pure virtual, inherited]</code></td>
943        </tr>
944
945      </table>
946    </td>
947  </tr>
948</table>
949<table cellspacing=5 cellpadding=0 border=0>
950  <tr>
951    <td>
952      &nbsp;
953    </td>
954    <td>
955
956<p>
957Internal implementation of <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera6">unlock()</a>.
958<p>
959
960<p>
961Implemented 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_1D3D9HardwarePixelBuffer.html#Ogre_1_1D3D9HardwarePixelBufferb1">Ogre::D3D9HardwarePixelBuffer</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>, <a class="el" href="classOgre_1_1GLHardwarePixelBuffer.html#Ogre_1_1GLTextureBufferb2">Ogre::GLHardwarePixelBuffer</a>, and <a class="el" href="classOgre_1_1GLHardwareVertexBuffer.html#Ogre_1_1GLHardwareVertexBufferb1">Ogre::GLHardwareVertexBuffer</a>.    </td>
962  </tr>
963</table>
964<a class="anchor" name="Ogre_1_1HardwareVertexBuffera8" doxytag="Ogre::HardwareVertexBuffer::writeData" ></a><p>
965<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
966  <tr>
967    <td class="mdRow">
968      <table cellpadding="0" cellspacing="0" border="0">
969        <tr>
970          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBuffer::writeData </td>
971          <td class="md" valign="top">(&nbsp;</td>
972          <td class="md" nowrap valign="top">size_t&nbsp;</td>
973          <td class="mdname" nowrap> <em>offset</em>, </td>
974        </tr>
975        <tr>
976          <td class="md" nowrap align="right"></td>
977          <td></td>
978          <td class="md" nowrap>size_t&nbsp;</td>
979          <td class="mdname" nowrap> <em>length</em>, </td>
980        </tr>
981        <tr>
982          <td class="md" nowrap align="right"></td>
983          <td></td>
984          <td class="md" nowrap>const void *&nbsp;</td>
985          <td class="mdname" nowrap> <em>pSource</em>, </td>
986        </tr>
987        <tr>
988          <td class="md" nowrap align="right"></td>
989          <td></td>
990          <td class="md" nowrap>bool&nbsp;</td>
991          <td class="mdname" nowrap> <em>discardWholeBuffer</em> = false</td>
992        </tr>
993        <tr>
994          <td></td>
995          <td class="md">)&nbsp;</td>
996          <td class="md" colspan="2"><code> [pure virtual, inherited]</code></td>
997        </tr>
998
999      </table>
1000    </td>
1001  </tr>
1002</table>
1003<table cellspacing=5 cellpadding=0 border=0>
1004  <tr>
1005    <td>
1006      &nbsp;
1007    </td>
1008    <td>
1009
1010<p>
1011Writes data to the buffer from an area of system memory; note that you must ensure that your buffer is big enough.
1012<p>
1013<dl compact><dt><b>Parameters:</b></dt><dd>
1014  <table border="0" cellspacing="2" cellpadding="0">
1015    <tr><td valign=top><em>offset</em>&nbsp;</td><td>The byte offset from the start of the buffer to start writing </td></tr>
1016    <tr><td valign=top><em>length</em>&nbsp;</td><td>The size of the data to write to, in bytes </td></tr>
1017    <tr><td valign=top><em>pSource</em>&nbsp;</td><td>The source of the data to be written </td></tr>
1018    <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>
1019  </table>
1020</dl>
1021
1022<p>
1023Implemented 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_1HardwarePixelBuffer.html#Ogre_1_1HardwarePixelBuffera6">Ogre::HardwarePixelBuffer</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>
1024  </tr>
1025</table>
1026<hr><h2>Member Data Documentation</h2>
1027<a class="anchor" name="Ogre_1_1HardwareVertexBufferp4" doxytag="Ogre::HardwareVertexBuffer::mIsLocked" ></a><p>
1028<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1029  <tr>
1030    <td class="mdRow">
1031      <table cellpadding="0" cellspacing="0" border="0">
1032        <tr>
1033          <td class="md" nowrap valign="top"> bool <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp4">Ogre::HardwareBuffer::mIsLocked</a><code> [protected, inherited]</code>
1034      </table>
1035    </td>
1036  </tr>
1037</table>
1038<table cellspacing=5 cellpadding=0 border=0>
1039  <tr>
1040    <td>
1041      &nbsp;
1042    </td>
1043    <td>
1044
1045<p>
1046
1047<p>
1048Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00133">133</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
1049  </tr>
1050</table>
1051<a class="anchor" name="Ogre_1_1HardwareVertexBufferp6" doxytag="Ogre::HardwareVertexBuffer::mLockSize" ></a><p>
1052<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1053  <tr>
1054    <td class="mdRow">
1055      <table cellpadding="0" cellspacing="0" border="0">
1056        <tr>
1057          <td class="md" nowrap valign="top"> size_t <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp6">Ogre::HardwareBuffer::mLockSize</a><code> [protected, inherited]</code>
1058      </table>
1059    </td>
1060  </tr>
1061</table>
1062<table cellspacing=5 cellpadding=0 border=0>
1063  <tr>
1064    <td>
1065      &nbsp;
1066    </td>
1067    <td>
1068
1069<p>
1070
1071<p>
1072Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00135">135</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
1073  </tr>
1074</table>
1075<a class="anchor" name="Ogre_1_1HardwareVertexBufferp5" doxytag="Ogre::HardwareVertexBuffer::mLockStart" ></a><p>
1076<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1077  <tr>
1078    <td class="mdRow">
1079      <table cellpadding="0" cellspacing="0" border="0">
1080        <tr>
1081          <td class="md" nowrap valign="top"> size_t <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp5">Ogre::HardwareBuffer::mLockStart</a><code> [protected, inherited]</code>
1082      </table>
1083    </td>
1084  </tr>
1085</table>
1086<table cellspacing=5 cellpadding=0 border=0>
1087  <tr>
1088    <td>
1089      &nbsp;
1090    </td>
1091    <td>
1092
1093<p>
1094
1095<p>
1096Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00134">134</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
1097  </tr>
1098</table>
1099<a class="anchor" name="Ogre_1_1HardwareVertexBufferp0" doxytag="Ogre::HardwareVertexBuffer::mNumVertices" ></a><p>
1100<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1101  <tr>
1102    <td class="mdRow">
1103      <table cellpadding="0" cellspacing="0" border="0">
1104        <tr>
1105          <td class="md" nowrap valign="top"> size_t <a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBufferp0">Ogre::HardwareVertexBuffer::mNumVertices</a><code> [protected]</code>
1106      </table>
1107    </td>
1108  </tr>
1109</table>
1110<table cellspacing=5 cellpadding=0 border=0>
1111  <tr>
1112    <td>
1113      &nbsp;
1114    </td>
1115    <td>
1116
1117<p>
1118
1119<p>
1120Definition 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>.    </td>
1121  </tr>
1122</table>
1123<a class="anchor" name="Ogre_1_1HardwareVertexBufferp9" doxytag="Ogre::HardwareVertexBuffer::mpShadowBuffer" ></a><p>
1124<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1125  <tr>
1126    <td class="mdRow">
1127      <table cellpadding="0" cellspacing="0" border="0">
1128        <tr>
1129          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareBuffer.html">HardwareBuffer</a>* <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp9">Ogre::HardwareBuffer::mpShadowBuffer</a><code> [protected, inherited]</code>
1130      </table>
1131    </td>
1132  </tr>
1133</table>
1134<table cellspacing=5 cellpadding=0 border=0>
1135  <tr>
1136    <td>
1137      &nbsp;
1138    </td>
1139    <td>
1140
1141<p>
1142
1143<p>
1144Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00138">138</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
1145  </tr>
1146</table>
1147<a class="anchor" name="Ogre_1_1HardwareVertexBufferp10" doxytag="Ogre::HardwareVertexBuffer::mShadowUpdated" ></a><p>
1148<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1149  <tr>
1150    <td class="mdRow">
1151      <table cellpadding="0" cellspacing="0" border="0">
1152        <tr>
1153          <td class="md" nowrap valign="top"> bool <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp10">Ogre::HardwareBuffer::mShadowUpdated</a><code> [protected, inherited]</code>
1154      </table>
1155    </td>
1156  </tr>
1157</table>
1158<table cellspacing=5 cellpadding=0 border=0>
1159  <tr>
1160    <td>
1161      &nbsp;
1162    </td>
1163    <td>
1164
1165<p>
1166
1167<p>
1168Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00139">139</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
1169  </tr>
1170</table>
1171<a class="anchor" name="Ogre_1_1HardwareVertexBufferp2" doxytag="Ogre::HardwareVertexBuffer::mSizeInBytes" ></a><p>
1172<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1173  <tr>
1174    <td class="mdRow">
1175      <table cellpadding="0" cellspacing="0" border="0">
1176        <tr>
1177          <td class="md" nowrap valign="top"> size_t <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp2">Ogre::HardwareBuffer::mSizeInBytes</a><code> [protected, inherited]</code>
1178      </table>
1179    </td>
1180  </tr>
1181</table>
1182<table cellspacing=5 cellpadding=0 border=0>
1183  <tr>
1184    <td>
1185      &nbsp;
1186    </td>
1187    <td>
1188
1189<p>
1190
1191<p>
1192Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00131">131</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
1193  </tr>
1194</table>
1195<a class="anchor" name="Ogre_1_1HardwareVertexBufferp11" doxytag="Ogre::HardwareVertexBuffer::mSuppressHardwareUpdate" ></a><p>
1196<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1197  <tr>
1198    <td class="mdRow">
1199      <table cellpadding="0" cellspacing="0" border="0">
1200        <tr>
1201          <td class="md" nowrap valign="top"> bool <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp11">Ogre::HardwareBuffer::mSuppressHardwareUpdate</a><code> [protected, inherited]</code>
1202      </table>
1203    </td>
1204  </tr>
1205</table>
1206<table cellspacing=5 cellpadding=0 border=0>
1207  <tr>
1208    <td>
1209      &nbsp;
1210    </td>
1211    <td>
1212
1213<p>
1214
1215<p>
1216Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00140">140</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
1217  </tr>
1218</table>
1219<a class="anchor" name="Ogre_1_1HardwareVertexBufferp7" doxytag="Ogre::HardwareVertexBuffer::mSystemMemory" ></a><p>
1220<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1221  <tr>
1222    <td class="mdRow">
1223      <table cellpadding="0" cellspacing="0" border="0">
1224        <tr>
1225          <td class="md" nowrap valign="top"> bool <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp7">Ogre::HardwareBuffer::mSystemMemory</a><code> [protected, inherited]</code>
1226      </table>
1227    </td>
1228  </tr>
1229</table>
1230<table cellspacing=5 cellpadding=0 border=0>
1231  <tr>
1232    <td>
1233      &nbsp;
1234    </td>
1235    <td>
1236
1237<p>
1238
1239<p>
1240Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00136">136</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
1241  </tr>
1242</table>
1243<a class="anchor" name="Ogre_1_1HardwareVertexBufferp3" doxytag="Ogre::HardwareVertexBuffer::mUsage" ></a><p>
1244<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1245  <tr>
1246    <td class="mdRow">
1247      <table cellpadding="0" cellspacing="0" border="0">
1248        <tr>
1249          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11">Usage</a> <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp3">Ogre::HardwareBuffer::mUsage</a><code> [protected, inherited]</code>
1250      </table>
1251    </td>
1252  </tr>
1253</table>
1254<table cellspacing=5 cellpadding=0 border=0>
1255  <tr>
1256    <td>
1257      &nbsp;
1258    </td>
1259    <td>
1260
1261<p>
1262
1263<p>
1264Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00132">132</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
1265  </tr>
1266</table>
1267<a class="anchor" name="Ogre_1_1HardwareVertexBufferp8" doxytag="Ogre::HardwareVertexBuffer::mUseShadowBuffer" ></a><p>
1268<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1269  <tr>
1270    <td class="mdRow">
1271      <table cellpadding="0" cellspacing="0" border="0">
1272        <tr>
1273          <td class="md" nowrap valign="top"> bool <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp8">Ogre::HardwareBuffer::mUseShadowBuffer</a><code> [protected, inherited]</code>
1274      </table>
1275    </td>
1276  </tr>
1277</table>
1278<table cellspacing=5 cellpadding=0 border=0>
1279  <tr>
1280    <td>
1281      &nbsp;
1282    </td>
1283    <td>
1284
1285<p>
1286
1287<p>
1288Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00137">137</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
1289  </tr>
1290</table>
1291<a class="anchor" name="Ogre_1_1HardwareVertexBufferp1" doxytag="Ogre::HardwareVertexBuffer::mVertexSize" ></a><p>
1292<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1293  <tr>
1294    <td class="mdRow">
1295      <table cellpadding="0" cellspacing="0" border="0">
1296        <tr>
1297          <td class="md" nowrap valign="top"> size_t <a class="el" href="classOgre_1_1HardwareVertexBuffer.html#Ogre_1_1HardwareVertexBufferp1">Ogre::HardwareVertexBuffer::mVertexSize</a><code> [protected]</code>
1298      </table>
1299    </td>
1300  </tr>
1301</table>
1302<table cellspacing=5 cellpadding=0 border=0>
1303  <tr>
1304    <td>
1305      &nbsp;
1306    </td>
1307    <td>
1308
1309<p>
1310
1311<p>
1312Definition 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>.    </td>
1313  </tr>
1314</table>
1315<hr>The documentation for this class was generated from the following file:<ul>
1316<li><a class="el" href="OgreHardwareVertexBuffer_8h-source.html">OgreHardwareVertexBuffer.h</a></ul>
1317<hr>
1318<p>
1319Copyright &copy; 2000-2005 by The OGRE Team<br />
1320<!--Creative Commons License--><a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/"><img alt="Creative Commons License" border="0" src="http://creativecommons.org/images/public/somerights20.png"/></a><br/>
1321This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/">Creative Commons Attribution-ShareAlike 2.5 License</a>.<br/>
1322                <!--/Creative Commons License--><!-- <rdf:RDF xmlns="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
1323                <Work rdf:about="">
1324                        <license rdf:resource="http://creativecommons.org/licenses/by-sa/2.5/" />
1325        <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
1326                </Work>
1327                <License rdf:about="http://creativecommons.org/licenses/by-sa/2.5/"><permits rdf:resource="http://web.resource.org/cc/Reproduction"/><permits rdf:resource="http://web.resource.org/cc/Distribution"/><requires rdf:resource="http://web.resource.org/cc/Notice"/><requires rdf:resource="http://web.resource.org/cc/Attribution"/><permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/><requires rdf:resource="http://web.resource.org/cc/ShareAlike"/></License></rdf:RDF> -->
1328
1329Last modified Sun Mar 12 14:39:15 2006
1330</p>
1331</body>
1332</html>
Note: See TracBrowser for help on using the repository browser.