source: OGRE/trunk/ogrenew/Docs/api/html/classOgre_1_1GLHardwareBufferManager.html @ 657

Revision 657, 70.7 KB checked in by mattausch, 18 years ago (diff)

added ogre dependencies and patched ogre sources

Line 
1<html>
2<head>
3<title>Ogre::GLHardwareBufferManager 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::GLHardwareBufferManager Class Reference</h1>Implementation of <a class="el" href="classOgre_1_1HardwareBufferManager.html">HardwareBufferManager</a> for OpenGL. 
11<a href="#_details">More...</a>
12<p>
13<code>#include &lt;<a class="el" href="OgreGLHardwareBufferManager_8h-source.html">OgreGLHardwareBufferManager.h</a>&gt;</code>
14<p>
15<p>Inheritance diagram for Ogre::GLHardwareBufferManager:
16<p><center><img src="classOgre_1_1GLHardwareBufferManager.png" usemap="#Ogre::GLHardwareBufferManager_map" border="0" alt=""></center>
17<map name="Ogre::GLHardwareBufferManager_map">
18<area href="classOgre_1_1HardwareBufferManager.html" alt="Ogre::HardwareBufferManager" shape="rect" coords="0,56,265,80">
19<area href="classOgre_1_1Singleton.html" alt="Ogre::Singleton< HardwareBufferManager >" shape="rect" coords="0,0,265,24">
20</map>
21<a href="classOgre_1_1GLHardwareBufferManager-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
22<tr><td></td></tr>
23<tr><td colspan=2><br><h2>Public Types</h2></td></tr>
24<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerw2">BufferLicenseType</a> { <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerw2Ogre_1_1HardwareBufferManagerw0">BLT_MANUAL_RELEASE</a>,
25<a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerw2Ogre_1_1HardwareBufferManagerw1">BLT_AUTOMATIC_RELEASE</a>
26 }</td></tr>
27
28<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
29<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1GLHardwareBufferManager.html#Ogre_1_1GLHardwareBufferManagera0">GLHardwareBufferManager</a> ()</td></tr>
30
31<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1GLHardwareBufferManager.html#Ogre_1_1GLHardwareBufferManagera1">~GLHardwareBufferManager</a> ()</td></tr>
32
33<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1GLHardwareBufferManager.html#Ogre_1_1GLHardwareBufferManagera2">createVertexBuffer</a> (size_t vertexSize, size_t numVerts, <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11">HardwareBuffer::Usage</a> usage, bool useShadowBuffer=false)</td></tr>
34
35<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a vertex buffer.  <a href="#Ogre_1_1GLHardwareBufferManagera2"></a><br><br></td></tr>
36<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareIndexBufferSharedPtr.html">HardwareIndexBufferSharedPtr</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1GLHardwareBufferManager.html#Ogre_1_1GLHardwareBufferManagera3">createIndexBuffer</a> (<a class="el" href="classOgre_1_1HardwareIndexBuffer.html#Ogre_1_1HardwareIndexBufferw2">HardwareIndexBuffer::IndexType</a> itype, size_t numIndexes, <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11">HardwareBuffer::Usage</a> usage, bool useShadowBuffer=false)</td></tr>
37
38<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a hardware vertex buffer.  <a href="#Ogre_1_1GLHardwareBufferManagera3"></a><br><br></td></tr>
39<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1GLHardwareBufferManager.html#Ogre_1_1GLHardwareBufferManagera4">createVertexDeclaration</a> (void)</td></tr>
40
41<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a vertex declaration, may be overridden by certain rendering APIs.  <a href="#Ogre_1_1GLHardwareBufferManagera4"></a><br><br></td></tr>
42<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1GLHardwareBufferManager.html#Ogre_1_1GLHardwareBufferManagera5">destroyVertexDeclaration</a> (<a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a> *decl)</td></tr>
43
44<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroys a vertex declaration, may be overridden by certain rendering APIs.  <a href="#Ogre_1_1GLHardwareBufferManagera5"></a><br><br></td></tr>
45<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="classOgre_1_1VertexBufferBinding.html">VertexBufferBinding</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagera6">createVertexBufferBinding</a> (void)</td></tr>
46
47<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new <a class="el" href="classOgre_1_1VertexBufferBinding.html">VertexBufferBinding</a>.  <a href="#Ogre_1_1HardwareBufferManagera6"></a><br><br></td></tr>
48<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagera7">destroyVertexBufferBinding</a> (<a class="el" href="classOgre_1_1VertexBufferBinding.html">VertexBufferBinding</a> *binding)</td></tr>
49
50<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroys a <a class="el" href="classOgre_1_1VertexBufferBinding.html">VertexBufferBinding</a>.  <a href="#Ogre_1_1HardwareBufferManagera7"></a><br><br></td></tr>
51<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagera8">registerVertexBufferSourceAndCopy</a> (const <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> &amp;sourceBuffer, const <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> &amp;copy)</td></tr>
52
53<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Registers a vertex buffer as a copy of another.  <a href="#Ogre_1_1HardwareBufferManagera8"></a><br><br></td></tr>
54<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagera9">allocateVertexBufferCopy</a> (const <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> &amp;sourceBuffer, <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerw2">BufferLicenseType</a> licenseType, <a class="el" href="classOgre_1_1HardwareBufferLicensee.html">HardwareBufferLicensee</a> *licensee, bool copyData=false)</td></tr>
55
56<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocates a copy of a given vertex buffer.  <a href="#Ogre_1_1HardwareBufferManagera9"></a><br><br></td></tr>
57<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagera10">releaseVertexBufferCopy</a> (const <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> &amp;bufferCopy)</td></tr>
58
59<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Manually release a vertex buffer copy for others to subsequently use.  <a href="#Ogre_1_1HardwareBufferManagera10"></a><br><br></td></tr>
60<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagera11">_releaseBufferCopies</a> (void)</td></tr>
61
62<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal method for releasing all temporary buffers which have been allocated using BLT_AUTOMATIC_RELEASE; is called by OGRE.  <a href="#Ogre_1_1HardwareBufferManagera11"></a><br><br></td></tr>
63<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagera12">_forceReleaseBufferCopies</a> (const <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> &amp;sourceBuffer)</td></tr>
64
65<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal method that forces the release of copies of a given buffer.  <a href="#Ogre_1_1HardwareBufferManagera12"></a><br><br></td></tr>
66<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagera13">_forceReleaseBufferCopies</a> (<a class="el" href="classOgre_1_1HardwareVertexBuffer.html">HardwareVertexBuffer</a> *sourceBuffer)</td></tr>
67
68<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal method that forces the release of copies of a given buffer.  <a href="#Ogre_1_1HardwareBufferManagera13"></a><br><br></td></tr>
69<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagera14">_notifyVertexBufferDestroyed</a> (<a class="el" href="classOgre_1_1HardwareVertexBuffer.html">HardwareVertexBuffer</a> *buf)</td></tr>
70
71<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Notification that a hardware vertex buffer has been destroyed.  <a href="#Ogre_1_1HardwareBufferManagera14"></a><br><br></td></tr>
72<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagera15">_notifyIndexBufferDestroyed</a> (<a class="el" href="classOgre_1_1HardwareIndexBuffer.html">HardwareIndexBuffer</a> *buf)</td></tr>
73
74<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Notification that a hardware index buffer has been destroyed.  <a href="#Ogre_1_1HardwareBufferManagera15"></a><br><br></td></tr>
75<tr><td colspan=2><br><h2>Static Public Member Functions</h2></td></tr>
76<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="OgreGLPrerequisites_8h.html#a41">GLenum</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1GLHardwareBufferManager.html#Ogre_1_1GLHardwareBufferManagere0">getGLUsage</a> (unsigned int usage)</td></tr>
77
78<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Utility function to get the correct GL usage based on HBU's.  <a href="#Ogre_1_1GLHardwareBufferManagere0"></a><br><br></td></tr>
79<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="OgreGLPrerequisites_8h.html#a41">GLenum</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1GLHardwareBufferManager.html#Ogre_1_1GLHardwareBufferManagere1">getGLType</a> (unsigned int type)</td></tr>
80
81<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Utility function to get the correct GL type based on VET's.  <a href="#Ogre_1_1GLHardwareBufferManagere1"></a><br><br></td></tr>
82<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareBufferManager.html">HardwareBufferManager</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagere0">getSingleton</a> (void)</td></tr>
83
84<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Override standard <a class="el" href="classOgre_1_1Singleton.html">Singleton</a> retrieval.  <a href="#Ogre_1_1HardwareBufferManagere0"></a><br><br></td></tr>
85<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareBufferManager.html">HardwareBufferManager</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagere1">getSingletonPtr</a> (void)</td></tr>
86
87<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Override standard <a class="el" href="classOgre_1_1Singleton.html">Singleton</a> retrieval.  <a href="#Ogre_1_1HardwareBufferManagere1"></a><br><br></td></tr>
88<tr><td colspan=2><br><h2>Protected Types</h2></td></tr>
89<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::list&lt; <a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a> * &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx0">VertexDeclarationList</a></td></tr>
90
91<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::list&lt; <a class="el" href="classOgre_1_1VertexBufferBinding.html">VertexBufferBinding</a> * &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx1">VertexBufferBindingList</a></td></tr>
92
93<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::vector&lt; <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx2">FreeTemporaryVertexBufferList</a></td></tr>
94
95<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">List of free temporary vertex buffers.  <a href="#Ogre_1_1HardwareBufferManagerx2"></a><br><br></td></tr>
96<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::map&lt; <a class="el" href="classOgre_1_1HardwareVertexBuffer.html">HardwareVertexBuffer</a> *,<br>
97 <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx2">FreeTemporaryVertexBufferList</a> * &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx3">FreeTemporaryVertexBufferMap</a></td></tr>
98
99<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Map from original buffer to list of temporary buffers.  <a href="#Ogre_1_1HardwareBufferManagerx3"></a><br><br></td></tr>
100<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::vector&lt; VertexBufferLicense &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx4">TemporaryVertexBufferLicenseList</a></td></tr>
101
102<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">List of currently licensed temp buffers.  <a href="#Ogre_1_1HardwareBufferManagerx4"></a><br><br></td></tr>
103<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::set&lt; <a class="el" href="classOgre_1_1HardwareVertexBuffer.html">HardwareVertexBuffer</a> * &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx5">VertexBufferList</a></td></tr>
104
105<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::set&lt; <a class="el" href="classOgre_1_1HardwareIndexBuffer.html">HardwareIndexBuffer</a> * &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx6">IndexBufferList</a></td></tr>
106
107<tr><td colspan=2><br><h2>Protected Member Functions</h2></td></tr>
108<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerb0">destroyAllDeclarations</a> (void)</td></tr>
109
110<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerb1">destroyAllBindings</a> (void)</td></tr>
111
112<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerb2">makeBufferCopy</a> (const <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> &amp;source, <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11">HardwareBuffer::Usage</a> usage, bool useShadowBuffer)</td></tr>
113
114<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new buffer as a copy of the source, does not copy data.  <a href="#Ogre_1_1HardwareBufferManagerb2"></a><br><br></td></tr>
115<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
116<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx0">VertexDeclarationList</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerp0">mVertexDeclarations</a></td></tr>
117
118<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx1">VertexBufferBindingList</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerp1">mVertexBufferBindings</a></td></tr>
119
120<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx3">FreeTemporaryVertexBufferMap</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerp2">mFreeTempVertexBufferMap</a></td></tr>
121
122<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Map of current available temp buffers.  <a href="#Ogre_1_1HardwareBufferManagerp2"></a><br><br></td></tr>
123<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx4">TemporaryVertexBufferLicenseList</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerp3">mTempVertexBufferLicenses</a></td></tr>
124
125<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">List of currently licensed temp buffers.  <a href="#Ogre_1_1HardwareBufferManagerp3"></a><br><br></td></tr>
126<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx5">VertexBufferList</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerp4">mVertexBuffers</a></td></tr>
127
128<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx6">IndexBufferList</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerp5">mIndexBuffers</a></td></tr>
129
130<tr><td colspan=2><br><h2>Static Protected Attributes</h2></td></tr>
131<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareBufferManager.html">HardwareBufferManager</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Singleton.html#Ogre_1_1Singletont0">ms_Singleton</a></td></tr>
132
133</table>
134<hr><a name="_details"></a><h2>Detailed Description</h2>
135Implementation of <a class="el" href="classOgre_1_1HardwareBufferManager.html">HardwareBufferManager</a> for OpenGL.
136<p>
137
138<p>
139Definition at line <a class="el" href="OgreGLHardwareBufferManager_8h-source.html#l00034">34</a> of file <a class="el" href="OgreGLHardwareBufferManager_8h-source.html">OgreGLHardwareBufferManager.h</a>.<hr><h2>Member Typedef Documentation</h2>
140<a class="anchor" name="Ogre_1_1HardwareBufferManagerx2" doxytag="Ogre::GLHardwareBufferManager::FreeTemporaryVertexBufferList" ></a><p>
141<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
142  <tr>
143    <td class="mdRow">
144      <table cellpadding="0" cellspacing="0" border="0">
145        <tr>
146          <td class="md" nowrap valign="top"> typedef std::vector&lt;<a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a>&gt; <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx2">Ogre::HardwareBufferManager::FreeTemporaryVertexBufferList</a><code> [protected, inherited]</code>
147      </table>
148    </td>
149  </tr>
150</table>
151<table cellspacing=5 cellpadding=0 border=0>
152  <tr>
153    <td>
154      &nbsp;
155    </td>
156    <td>
157
158<p>
159List of free temporary vertex buffers.
160<p>
161
162<p>
163Definition at line <a class="el" href="OgreHardwareBufferManager_8h-source.html#l00130">130</a> of file <a class="el" href="OgreHardwareBufferManager_8h-source.html">OgreHardwareBufferManager.h</a>.    </td>
164  </tr>
165</table>
166<a class="anchor" name="Ogre_1_1HardwareBufferManagerx3" doxytag="Ogre::GLHardwareBufferManager::FreeTemporaryVertexBufferMap" ></a><p>
167<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
168  <tr>
169    <td class="mdRow">
170      <table cellpadding="0" cellspacing="0" border="0">
171        <tr>
172          <td class="md" nowrap valign="top"> typedef std::map&lt;<a class="el" href="classOgre_1_1HardwareVertexBuffer.html">HardwareVertexBuffer</a>*, <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx2">FreeTemporaryVertexBufferList</a>*&gt; <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx3">Ogre::HardwareBufferManager::FreeTemporaryVertexBufferMap</a><code> [protected, inherited]</code>
173      </table>
174    </td>
175  </tr>
176</table>
177<table cellspacing=5 cellpadding=0 border=0>
178  <tr>
179    <td>
180      &nbsp;
181    </td>
182    <td>
183
184<p>
185Map from original buffer to list of temporary buffers.
186<p>
187
188<p>
189Definition at line <a class="el" href="OgreHardwareBufferManager_8h-source.html#l00132">132</a> of file <a class="el" href="OgreHardwareBufferManager_8h-source.html">OgreHardwareBufferManager.h</a>.    </td>
190  </tr>
191</table>
192<a class="anchor" name="Ogre_1_1HardwareBufferManagerx6" doxytag="Ogre::GLHardwareBufferManager::IndexBufferList" ></a><p>
193<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
194  <tr>
195    <td class="mdRow">
196      <table cellpadding="0" cellspacing="0" border="0">
197        <tr>
198          <td class="md" nowrap valign="top"> typedef std::set&lt;<a class="el" href="classOgre_1_1HardwareIndexBuffer.html">HardwareIndexBuffer</a>*&gt; <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx6">Ogre::HardwareBufferManager::IndexBufferList</a><code> [protected, inherited]</code>
199      </table>
200    </td>
201  </tr>
202</table>
203<table cellspacing=5 cellpadding=0 border=0>
204  <tr>
205    <td>
206      &nbsp;
207    </td>
208    <td>
209
210<p>
211
212<p>
213Definition at line <a class="el" href="OgreHardwareBufferManager_8h-source.html#l00141">141</a> of file <a class="el" href="OgreHardwareBufferManager_8h-source.html">OgreHardwareBufferManager.h</a>.    </td>
214  </tr>
215</table>
216<a class="anchor" name="Ogre_1_1HardwareBufferManagerx4" doxytag="Ogre::GLHardwareBufferManager::TemporaryVertexBufferLicenseList" ></a><p>
217<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
218  <tr>
219    <td class="mdRow">
220      <table cellpadding="0" cellspacing="0" border="0">
221        <tr>
222          <td class="md" nowrap valign="top"> typedef std::vector&lt;VertexBufferLicense&gt; <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx4">Ogre::HardwareBufferManager::TemporaryVertexBufferLicenseList</a><code> [protected, inherited]</code>
223      </table>
224    </td>
225  </tr>
226</table>
227<table cellspacing=5 cellpadding=0 border=0>
228  <tr>
229    <td>
230      &nbsp;
231    </td>
232    <td>
233
234<p>
235List of currently licensed temp buffers.
236<p>
237
238<p>
239Definition at line <a class="el" href="OgreHardwareBufferManager_8h-source.html#l00136">136</a> of file <a class="el" href="OgreHardwareBufferManager_8h-source.html">OgreHardwareBufferManager.h</a>.    </td>
240  </tr>
241</table>
242<a class="anchor" name="Ogre_1_1HardwareBufferManagerx1" doxytag="Ogre::GLHardwareBufferManager::VertexBufferBindingList" ></a><p>
243<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
244  <tr>
245    <td class="mdRow">
246      <table cellpadding="0" cellspacing="0" border="0">
247        <tr>
248          <td class="md" nowrap valign="top"> typedef std::list&lt;<a class="el" href="classOgre_1_1VertexBufferBinding.html">VertexBufferBinding</a>*&gt; <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx1">Ogre::HardwareBufferManager::VertexBufferBindingList</a><code> [protected, inherited]</code>
249      </table>
250    </td>
251  </tr>
252</table>
253<table cellspacing=5 cellpadding=0 border=0>
254  <tr>
255    <td>
256      &nbsp;
257    </td>
258    <td>
259
260<p>
261
262<p>
263Definition at line <a class="el" href="OgreHardwareBufferManager_8h-source.html#l00092">92</a> of file <a class="el" href="OgreHardwareBufferManager_8h-source.html">OgreHardwareBufferManager.h</a>.    </td>
264  </tr>
265</table>
266<a class="anchor" name="Ogre_1_1HardwareBufferManagerx5" doxytag="Ogre::GLHardwareBufferManager::VertexBufferList" ></a><p>
267<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
268  <tr>
269    <td class="mdRow">
270      <table cellpadding="0" cellspacing="0" border="0">
271        <tr>
272          <td class="md" nowrap valign="top"> typedef std::set&lt;<a class="el" href="classOgre_1_1HardwareVertexBuffer.html">HardwareVertexBuffer</a>*&gt; <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx5">Ogre::HardwareBufferManager::VertexBufferList</a><code> [protected, inherited]</code>
273      </table>
274    </td>
275  </tr>
276</table>
277<table cellspacing=5 cellpadding=0 border=0>
278  <tr>
279    <td>
280      &nbsp;
281    </td>
282    <td>
283
284<p>
285
286<p>
287Definition at line <a class="el" href="OgreHardwareBufferManager_8h-source.html#l00140">140</a> of file <a class="el" href="OgreHardwareBufferManager_8h-source.html">OgreHardwareBufferManager.h</a>.    </td>
288  </tr>
289</table>
290<a class="anchor" name="Ogre_1_1HardwareBufferManagerx0" doxytag="Ogre::GLHardwareBufferManager::VertexDeclarationList" ></a><p>
291<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
292  <tr>
293    <td class="mdRow">
294      <table cellpadding="0" cellspacing="0" border="0">
295        <tr>
296          <td class="md" nowrap valign="top"> typedef std::list&lt;<a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a>*&gt; <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx0">Ogre::HardwareBufferManager::VertexDeclarationList</a><code> [protected, inherited]</code>
297      </table>
298    </td>
299  </tr>
300</table>
301<table cellspacing=5 cellpadding=0 border=0>
302  <tr>
303    <td>
304      &nbsp;
305    </td>
306    <td>
307
308<p>
309
310<p>
311Definition at line <a class="el" href="OgreHardwareBufferManager_8h-source.html#l00091">91</a> of file <a class="el" href="OgreHardwareBufferManager_8h-source.html">OgreHardwareBufferManager.h</a>.    </td>
312  </tr>
313</table>
314<hr><h2>Member Enumeration Documentation</h2>
315<a class="anchor" name="Ogre_1_1HardwareBufferManagerw2" doxytag="Ogre::GLHardwareBufferManager::BufferLicenseType" ></a><p>
316<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
317  <tr>
318    <td class="mdRow">
319      <table cellpadding="0" cellspacing="0" border="0">
320        <tr>
321          <td class="md" nowrap valign="top"> enum <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerw2">Ogre::HardwareBufferManager::BufferLicenseType</a><code> [inherited]</code>
322      </table>
323    </td>
324  </tr>
325</table>
326<table cellspacing=5 cellpadding=0 border=0>
327  <tr>
328    <td>
329      &nbsp;
330    </td>
331    <td>
332
333<p>
334<dl compact><dt><b>Enumeration values: </b></dt><dd>
335<table border=0 cellspacing=2 cellpadding=0>
336<tr><td valign=top><em><a class="anchor" name="Ogre_1_1HardwareBufferManagerw2Ogre_1_1HardwareBufferManagerw0" doxytag="BLT_MANUAL_RELEASE" ></a>BLT_MANUAL_RELEASE</em>&nbsp;</td><td>
337Licensee will only release buffer when it says so. </td></tr>
338<tr><td valign=top><em><a class="anchor" name="Ogre_1_1HardwareBufferManagerw2Ogre_1_1HardwareBufferManagerw1" doxytag="BLT_AUTOMATIC_RELEASE" ></a>BLT_AUTOMATIC_RELEASE</em>&nbsp;</td><td>
339Licensee can have license revoked. </td></tr>
340</table>
341</dl>
342
343<p>
344Definition at line <a class="el" href="OgreHardwareBufferManager_8h-source.html#l00103">103</a> of file <a class="el" href="OgreHardwareBufferManager_8h-source.html">OgreHardwareBufferManager.h</a>.    </td>
345  </tr>
346</table>
347<hr><h2>Constructor &amp; Destructor Documentation</h2>
348<a class="anchor" name="Ogre_1_1GLHardwareBufferManagera0" doxytag="Ogre::GLHardwareBufferManager::GLHardwareBufferManager" ></a><p>
349<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
350  <tr>
351    <td class="mdRow">
352      <table cellpadding="0" cellspacing="0" border="0">
353        <tr>
354          <td class="md" nowrap valign="top"> Ogre::GLHardwareBufferManager::GLHardwareBufferManager </td>
355          <td class="md" valign="top">(&nbsp;</td>
356          <td class="mdname1" valign="top" nowrap>          </td>
357          <td class="md" valign="top">&nbsp;)&nbsp;</td>
358          <td class="md" nowrap></td>
359        </tr>
360
361      </table>
362    </td>
363  </tr>
364</table>
365<table cellspacing=5 cellpadding=0 border=0>
366  <tr>
367    <td>
368      &nbsp;
369    </td>
370    <td>
371
372<p>
373    </td>
374  </tr>
375</table>
376<a class="anchor" name="Ogre_1_1GLHardwareBufferManagera1" doxytag="Ogre::GLHardwareBufferManager::~GLHardwareBufferManager" ></a><p>
377<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
378  <tr>
379    <td class="mdRow">
380      <table cellpadding="0" cellspacing="0" border="0">
381        <tr>
382          <td class="md" nowrap valign="top"> Ogre::GLHardwareBufferManager::~<a class="el" href="classOgre_1_1GLHardwareBufferManager.html">GLHardwareBufferManager</a> </td>
383          <td class="md" valign="top">(&nbsp;</td>
384          <td class="mdname1" valign="top" nowrap>          </td>
385          <td class="md" valign="top">&nbsp;)&nbsp;</td>
386          <td class="md" nowrap></td>
387        </tr>
388
389      </table>
390    </td>
391  </tr>
392</table>
393<table cellspacing=5 cellpadding=0 border=0>
394  <tr>
395    <td>
396      &nbsp;
397    </td>
398    <td>
399
400<p>
401    </td>
402  </tr>
403</table>
404<hr><h2>Member Function Documentation</h2>
405<a class="anchor" name="Ogre_1_1HardwareBufferManagera13" doxytag="Ogre::GLHardwareBufferManager::_forceReleaseBufferCopies" ></a><p>
406<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
407  <tr>
408    <td class="mdRow">
409      <table cellpadding="0" cellspacing="0" border="0">
410        <tr>
411          <td class="md" nowrap valign="top"> void Ogre::HardwareBufferManager::_forceReleaseBufferCopies </td>
412          <td class="md" valign="top">(&nbsp;</td>
413          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1HardwareVertexBuffer.html">HardwareVertexBuffer</a> *&nbsp;</td>
414          <td class="mdname1" valign="top" nowrap> <em>sourceBuffer</em>          </td>
415          <td class="md" valign="top">&nbsp;)&nbsp;</td>
416          <td class="md" nowrap><code> [inherited]</code></td>
417        </tr>
418
419      </table>
420    </td>
421  </tr>
422</table>
423<table cellspacing=5 cellpadding=0 border=0>
424  <tr>
425    <td>
426      &nbsp;
427    </td>
428    <td>
429
430<p>
431Internal method that forces the release of copies of a given buffer.
432<p>
433<dl compact><dt><b>Remarks:</b></dt><dd>This usually means that the buffer which the copies are based on has been changed in some fundamental way, and the owner of the original wishes to make that known so that new copies will reflect the changes. </dd></dl>
434<dl compact><dt><b>Parameters:</b></dt><dd>
435  <table border="0" cellspacing="2" cellpadding="0">
436    <tr><td valign=top><em>sourceBuffer</em>&nbsp;</td><td>the source buffer as a pointer. Any buffer copies created from the source buffer are deleted. </td></tr>
437  </table>
438</dl>
439    </td>
440  </tr>
441</table>
442<a class="anchor" name="Ogre_1_1HardwareBufferManagera12" doxytag="Ogre::GLHardwareBufferManager::_forceReleaseBufferCopies" ></a><p>
443<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
444  <tr>
445    <td class="mdRow">
446      <table cellpadding="0" cellspacing="0" border="0">
447        <tr>
448          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBufferManager::_forceReleaseBufferCopies </td>
449          <td class="md" valign="top">(&nbsp;</td>
450          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> &amp;&nbsp;</td>
451          <td class="mdname1" valign="top" nowrap> <em>sourceBuffer</em>          </td>
452          <td class="md" valign="top">&nbsp;)&nbsp;</td>
453          <td class="md" nowrap><code> [virtual, inherited]</code></td>
454        </tr>
455
456      </table>
457    </td>
458  </tr>
459</table>
460<table cellspacing=5 cellpadding=0 border=0>
461  <tr>
462    <td>
463      &nbsp;
464    </td>
465    <td>
466
467<p>
468Internal method that forces the release of copies of a given buffer.
469<p>
470<dl compact><dt><b>Remarks:</b></dt><dd>This usually means that the buffer which the copies are based on has been changed in some fundamental way, and the owner of the original wishes to make that known so that new copies will reflect the changes. </dd></dl>
471<dl compact><dt><b>Parameters:</b></dt><dd>
472  <table border="0" cellspacing="2" cellpadding="0">
473    <tr><td valign=top><em>sourceBuffer</em>&nbsp;</td><td>the source buffer as a shared pointer. Any buffer copies created from the source buffer are deleted. </td></tr>
474  </table>
475</dl>
476
477<p>
478Definition at line <a class="el" href="OgreHardwareBufferManager_8h-source.html#l00268">268</a> of file <a class="el" href="OgreHardwareBufferManager_8h-source.html">OgreHardwareBufferManager.h</a>.
479<p>
480References <a class="el" href="OgreSharedPtr_8h-source.html#l00094">Ogre::SharedPtr&lt; HardwareVertexBuffer &gt;::get()</a>.    </td>
481  </tr>
482</table>
483<a class="anchor" name="Ogre_1_1HardwareBufferManagera15" doxytag="Ogre::GLHardwareBufferManager::_notifyIndexBufferDestroyed" ></a><p>
484<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
485  <tr>
486    <td class="mdRow">
487      <table cellpadding="0" cellspacing="0" border="0">
488        <tr>
489          <td class="md" nowrap valign="top"> void Ogre::HardwareBufferManager::_notifyIndexBufferDestroyed </td>
490          <td class="md" valign="top">(&nbsp;</td>
491          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1HardwareIndexBuffer.html">HardwareIndexBuffer</a> *&nbsp;</td>
492          <td class="mdname1" valign="top" nowrap> <em>buf</em>          </td>
493          <td class="md" valign="top">&nbsp;)&nbsp;</td>
494          <td class="md" nowrap><code> [inherited]</code></td>
495        </tr>
496
497      </table>
498    </td>
499  </tr>
500</table>
501<table cellspacing=5 cellpadding=0 border=0>
502  <tr>
503    <td>
504      &nbsp;
505    </td>
506    <td>
507
508<p>
509Notification that a hardware index buffer has been destroyed.
510<p>
511    </td>
512  </tr>
513</table>
514<a class="anchor" name="Ogre_1_1HardwareBufferManagera14" doxytag="Ogre::GLHardwareBufferManager::_notifyVertexBufferDestroyed" ></a><p>
515<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
516  <tr>
517    <td class="mdRow">
518      <table cellpadding="0" cellspacing="0" border="0">
519        <tr>
520          <td class="md" nowrap valign="top"> void Ogre::HardwareBufferManager::_notifyVertexBufferDestroyed </td>
521          <td class="md" valign="top">(&nbsp;</td>
522          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1HardwareVertexBuffer.html">HardwareVertexBuffer</a> *&nbsp;</td>
523          <td class="mdname1" valign="top" nowrap> <em>buf</em>          </td>
524          <td class="md" valign="top">&nbsp;)&nbsp;</td>
525          <td class="md" nowrap><code> [inherited]</code></td>
526        </tr>
527
528      </table>
529    </td>
530  </tr>
531</table>
532<table cellspacing=5 cellpadding=0 border=0>
533  <tr>
534    <td>
535      &nbsp;
536    </td>
537    <td>
538
539<p>
540Notification that a hardware vertex buffer has been destroyed.
541<p>
542    </td>
543  </tr>
544</table>
545<a class="anchor" name="Ogre_1_1HardwareBufferManagera11" doxytag="Ogre::GLHardwareBufferManager::_releaseBufferCopies" ></a><p>
546<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
547  <tr>
548    <td class="mdRow">
549      <table cellpadding="0" cellspacing="0" border="0">
550        <tr>
551          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBufferManager::_releaseBufferCopies </td>
552          <td class="md" valign="top">(&nbsp;</td>
553          <td class="md" nowrap valign="top">void&nbsp;</td>
554          <td class="mdname1" valign="top" nowrap>          </td>
555          <td class="md" valign="top">&nbsp;)&nbsp;</td>
556          <td class="md" nowrap><code> [virtual, inherited]</code></td>
557        </tr>
558
559      </table>
560    </td>
561  </tr>
562</table>
563<table cellspacing=5 cellpadding=0 border=0>
564  <tr>
565    <td>
566      &nbsp;
567    </td>
568    <td>
569
570<p>
571Internal method for releasing all temporary buffers which have been allocated using BLT_AUTOMATIC_RELEASE; is called by OGRE.
572<p>
573    </td>
574  </tr>
575</table>
576<a class="anchor" name="Ogre_1_1HardwareBufferManagera9" doxytag="Ogre::GLHardwareBufferManager::allocateVertexBufferCopy" ></a><p>
577<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
578  <tr>
579    <td class="mdRow">
580      <table cellpadding="0" cellspacing="0" border="0">
581        <tr>
582          <td class="md" nowrap valign="top"> virtual <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> Ogre::HardwareBufferManager::allocateVertexBufferCopy </td>
583          <td class="md" valign="top">(&nbsp;</td>
584          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> &amp;&nbsp;</td>
585          <td class="mdname" nowrap> <em>sourceBuffer</em>, </td>
586        </tr>
587        <tr>
588          <td class="md" nowrap align="right"></td>
589          <td></td>
590          <td class="md" nowrap><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerw2">BufferLicenseType</a>&nbsp;</td>
591          <td class="mdname" nowrap> <em>licenseType</em>, </td>
592        </tr>
593        <tr>
594          <td class="md" nowrap align="right"></td>
595          <td></td>
596          <td class="md" nowrap><a class="el" href="classOgre_1_1HardwareBufferLicensee.html">HardwareBufferLicensee</a> *&nbsp;</td>
597          <td class="mdname" nowrap> <em>licensee</em>, </td>
598        </tr>
599        <tr>
600          <td class="md" nowrap align="right"></td>
601          <td></td>
602          <td class="md" nowrap>bool&nbsp;</td>
603          <td class="mdname" nowrap> <em>copyData</em> = false</td>
604        </tr>
605        <tr>
606          <td></td>
607          <td class="md">)&nbsp;</td>
608          <td class="md" colspan="2"><code> [virtual, inherited]</code></td>
609        </tr>
610
611      </table>
612    </td>
613  </tr>
614</table>
615<table cellspacing=5 cellpadding=0 border=0>
616  <tr>
617    <td>
618      &nbsp;
619    </td>
620    <td>
621
622<p>
623Allocates a copy of a given vertex buffer.
624<p>
625<dl compact><dt><b>Remarks:</b></dt><dd>This method allocates a temporary copy of an existing vertex buffer. This buffer is subsequently stored and can be made available for other purposes later without incurring the cost of construction / destruction. </dd></dl>
626<dl compact><dt><b>Parameters:</b></dt><dd>
627  <table border="0" cellspacing="2" cellpadding="0">
628    <tr><td valign=top><em>sourceBuffer</em>&nbsp;</td><td>The source buffer to use as a copy </td></tr>
629    <tr><td valign=top><em>licenseType</em>&nbsp;</td><td>The type of license required on this buffer - automatic release causes this class to release licenses every frame so that they can be reallocated anew. </td></tr>
630    <tr><td valign=top><em>licensee</em>&nbsp;</td><td>Pointer back to the class requesting the copy, which must implement HardwareBufferLicense in order to be notified when the license expires. </td></tr>
631    <tr><td valign=top><em>copyData</em>&nbsp;</td><td>If true, the current data is copied as well as the structure of the buffer </td></tr>
632  </table>
633</dl>
634    </td>
635  </tr>
636</table>
637<a class="anchor" name="Ogre_1_1GLHardwareBufferManagera3" doxytag="Ogre::GLHardwareBufferManager::createIndexBuffer" ></a><p>
638<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
639  <tr>
640    <td class="mdRow">
641      <table cellpadding="0" cellspacing="0" border="0">
642        <tr>
643          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareIndexBufferSharedPtr.html">HardwareIndexBufferSharedPtr</a> Ogre::GLHardwareBufferManager::createIndexBuffer </td>
644          <td class="md" valign="top">(&nbsp;</td>
645          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1HardwareIndexBuffer.html#Ogre_1_1HardwareIndexBufferw2">HardwareIndexBuffer::IndexType</a>&nbsp;</td>
646          <td class="mdname" nowrap> <em>itype</em>, </td>
647        </tr>
648        <tr>
649          <td class="md" nowrap align="right"></td>
650          <td></td>
651          <td class="md" nowrap>size_t&nbsp;</td>
652          <td class="mdname" nowrap> <em>numIndexes</em>, </td>
653        </tr>
654        <tr>
655          <td class="md" nowrap align="right"></td>
656          <td></td>
657          <td class="md" nowrap><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11">HardwareBuffer::Usage</a>&nbsp;</td>
658          <td class="mdname" nowrap> <em>usage</em>, </td>
659        </tr>
660        <tr>
661          <td class="md" nowrap align="right"></td>
662          <td></td>
663          <td class="md" nowrap>bool&nbsp;</td>
664          <td class="mdname" nowrap> <em>useShadowBuffer</em> = false</td>
665        </tr>
666        <tr>
667          <td></td>
668          <td class="md">)&nbsp;</td>
669          <td class="md" colspan="2"><code> [virtual]</code></td>
670        </tr>
671
672      </table>
673    </td>
674  </tr>
675</table>
676<table cellspacing=5 cellpadding=0 border=0>
677  <tr>
678    <td>
679      &nbsp;
680    </td>
681    <td>
682
683<p>
684Create a hardware vertex buffer.
685<p>
686
687<p>
688Implements <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagera3">Ogre::HardwareBufferManager</a>.    </td>
689  </tr>
690</table>
691<a class="anchor" name="Ogre_1_1GLHardwareBufferManagera2" doxytag="Ogre::GLHardwareBufferManager::createVertexBuffer" ></a><p>
692<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
693  <tr>
694    <td class="mdRow">
695      <table cellpadding="0" cellspacing="0" border="0">
696        <tr>
697          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> Ogre::GLHardwareBufferManager::createVertexBuffer </td>
698          <td class="md" valign="top">(&nbsp;</td>
699          <td class="md" nowrap valign="top">size_t&nbsp;</td>
700          <td class="mdname" nowrap> <em>vertexSize</em>, </td>
701        </tr>
702        <tr>
703          <td class="md" nowrap align="right"></td>
704          <td></td>
705          <td class="md" nowrap>size_t&nbsp;</td>
706          <td class="mdname" nowrap> <em>numVerts</em>, </td>
707        </tr>
708        <tr>
709          <td class="md" nowrap align="right"></td>
710          <td></td>
711          <td class="md" nowrap><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11">HardwareBuffer::Usage</a>&nbsp;</td>
712          <td class="mdname" nowrap> <em>usage</em>, </td>
713        </tr>
714        <tr>
715          <td class="md" nowrap align="right"></td>
716          <td></td>
717          <td class="md" nowrap>bool&nbsp;</td>
718          <td class="mdname" nowrap> <em>useShadowBuffer</em> = false</td>
719        </tr>
720        <tr>
721          <td></td>
722          <td class="md">)&nbsp;</td>
723          <td class="md" colspan="2"><code> [virtual]</code></td>
724        </tr>
725
726      </table>
727    </td>
728  </tr>
729</table>
730<table cellspacing=5 cellpadding=0 border=0>
731  <tr>
732    <td>
733      &nbsp;
734    </td>
735    <td>
736
737<p>
738Creates a vertex buffer.
739<p>
740
741<p>
742Implements <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagera2">Ogre::HardwareBufferManager</a>.    </td>
743  </tr>
744</table>
745<a class="anchor" name="Ogre_1_1HardwareBufferManagera6" doxytag="Ogre::GLHardwareBufferManager::createVertexBufferBinding" ></a><p>
746<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
747  <tr>
748    <td class="mdRow">
749      <table cellpadding="0" cellspacing="0" border="0">
750        <tr>
751          <td class="md" nowrap valign="top"> virtual <a class="el" href="classOgre_1_1VertexBufferBinding.html">VertexBufferBinding</a>* Ogre::HardwareBufferManager::createVertexBufferBinding </td>
752          <td class="md" valign="top">(&nbsp;</td>
753          <td class="md" nowrap valign="top">void&nbsp;</td>
754          <td class="mdname1" valign="top" nowrap>          </td>
755          <td class="md" valign="top">&nbsp;)&nbsp;</td>
756          <td class="md" nowrap><code> [virtual, inherited]</code></td>
757        </tr>
758
759      </table>
760    </td>
761  </tr>
762</table>
763<table cellspacing=5 cellpadding=0 border=0>
764  <tr>
765    <td>
766      &nbsp;
767    </td>
768    <td>
769
770<p>
771Creates a new <a class="el" href="classOgre_1_1VertexBufferBinding.html">VertexBufferBinding</a>.
772<p>
773    </td>
774  </tr>
775</table>
776<a class="anchor" name="Ogre_1_1GLHardwareBufferManagera4" doxytag="Ogre::GLHardwareBufferManager::createVertexDeclaration" ></a><p>
777<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
778  <tr>
779    <td class="mdRow">
780      <table cellpadding="0" cellspacing="0" border="0">
781        <tr>
782          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a>* Ogre::GLHardwareBufferManager::createVertexDeclaration </td>
783          <td class="md" valign="top">(&nbsp;</td>
784          <td class="md" nowrap valign="top">void&nbsp;</td>
785          <td class="mdname1" valign="top" nowrap>          </td>
786          <td class="md" valign="top">&nbsp;)&nbsp;</td>
787          <td class="md" nowrap><code> [virtual]</code></td>
788        </tr>
789
790      </table>
791    </td>
792  </tr>
793</table>
794<table cellspacing=5 cellpadding=0 border=0>
795  <tr>
796    <td>
797      &nbsp;
798    </td>
799    <td>
800
801<p>
802Creates a vertex declaration, may be overridden by certain rendering APIs.
803<p>
804
805<p>
806Reimplemented from <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagera4">Ogre::HardwareBufferManager</a>.    </td>
807  </tr>
808</table>
809<a class="anchor" name="Ogre_1_1HardwareBufferManagerb1" doxytag="Ogre::GLHardwareBufferManager::destroyAllBindings" ></a><p>
810<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
811  <tr>
812    <td class="mdRow">
813      <table cellpadding="0" cellspacing="0" border="0">
814        <tr>
815          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBufferManager::destroyAllBindings </td>
816          <td class="md" valign="top">(&nbsp;</td>
817          <td class="md" nowrap valign="top">void&nbsp;</td>
818          <td class="mdname1" valign="top" nowrap>          </td>
819          <td class="md" valign="top">&nbsp;)&nbsp;</td>
820          <td class="md" nowrap><code> [protected, virtual, inherited]</code></td>
821        </tr>
822
823      </table>
824    </td>
825  </tr>
826</table>
827<table cellspacing=5 cellpadding=0 border=0>
828  <tr>
829    <td>
830      &nbsp;
831    </td>
832    <td>
833
834<p>
835    </td>
836  </tr>
837</table>
838<a class="anchor" name="Ogre_1_1HardwareBufferManagerb0" doxytag="Ogre::GLHardwareBufferManager::destroyAllDeclarations" ></a><p>
839<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
840  <tr>
841    <td class="mdRow">
842      <table cellpadding="0" cellspacing="0" border="0">
843        <tr>
844          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBufferManager::destroyAllDeclarations </td>
845          <td class="md" valign="top">(&nbsp;</td>
846          <td class="md" nowrap valign="top">void&nbsp;</td>
847          <td class="mdname1" valign="top" nowrap>          </td>
848          <td class="md" valign="top">&nbsp;)&nbsp;</td>
849          <td class="md" nowrap><code> [protected, virtual, inherited]</code></td>
850        </tr>
851
852      </table>
853    </td>
854  </tr>
855</table>
856<table cellspacing=5 cellpadding=0 border=0>
857  <tr>
858    <td>
859      &nbsp;
860    </td>
861    <td>
862
863<p>
864
865<p>
866Reimplemented in <a class="el" href="classOgre_1_1D3D9HardwareBufferManager.html#Ogre_1_1D3D9HardwareBufferManagerb0">Ogre::D3D9HardwareBufferManager</a>.    </td>
867  </tr>
868</table>
869<a class="anchor" name="Ogre_1_1HardwareBufferManagera7" doxytag="Ogre::GLHardwareBufferManager::destroyVertexBufferBinding" ></a><p>
870<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
871  <tr>
872    <td class="mdRow">
873      <table cellpadding="0" cellspacing="0" border="0">
874        <tr>
875          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBufferManager::destroyVertexBufferBinding </td>
876          <td class="md" valign="top">(&nbsp;</td>
877          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1VertexBufferBinding.html">VertexBufferBinding</a> *&nbsp;</td>
878          <td class="mdname1" valign="top" nowrap> <em>binding</em>          </td>
879          <td class="md" valign="top">&nbsp;)&nbsp;</td>
880          <td class="md" nowrap><code> [virtual, inherited]</code></td>
881        </tr>
882
883      </table>
884    </td>
885  </tr>
886</table>
887<table cellspacing=5 cellpadding=0 border=0>
888  <tr>
889    <td>
890      &nbsp;
891    </td>
892    <td>
893
894<p>
895Destroys a <a class="el" href="classOgre_1_1VertexBufferBinding.html">VertexBufferBinding</a>.
896<p>
897    </td>
898  </tr>
899</table>
900<a class="anchor" name="Ogre_1_1GLHardwareBufferManagera5" doxytag="Ogre::GLHardwareBufferManager::destroyVertexDeclaration" ></a><p>
901<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
902  <tr>
903    <td class="mdRow">
904      <table cellpadding="0" cellspacing="0" border="0">
905        <tr>
906          <td class="md" nowrap valign="top"> void Ogre::GLHardwareBufferManager::destroyVertexDeclaration </td>
907          <td class="md" valign="top">(&nbsp;</td>
908          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a> *&nbsp;</td>
909          <td class="mdname1" valign="top" nowrap> <em>decl</em>          </td>
910          <td class="md" valign="top">&nbsp;)&nbsp;</td>
911          <td class="md" nowrap><code> [virtual]</code></td>
912        </tr>
913
914      </table>
915    </td>
916  </tr>
917</table>
918<table cellspacing=5 cellpadding=0 border=0>
919  <tr>
920    <td>
921      &nbsp;
922    </td>
923    <td>
924
925<p>
926Destroys a vertex declaration, may be overridden by certain rendering APIs.
927<p>
928
929<p>
930Reimplemented from <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagera5">Ogre::HardwareBufferManager</a>.    </td>
931  </tr>
932</table>
933<a class="anchor" name="Ogre_1_1GLHardwareBufferManagere1" doxytag="Ogre::GLHardwareBufferManager::getGLType" ></a><p>
934<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
935  <tr>
936    <td class="mdRow">
937      <table cellpadding="0" cellspacing="0" border="0">
938        <tr>
939          <td class="md" nowrap valign="top"> <a class="el" href="OgreGLPrerequisites_8h.html#a41">GLenum</a> Ogre::GLHardwareBufferManager::getGLType </td>
940          <td class="md" valign="top">(&nbsp;</td>
941          <td class="md" nowrap valign="top">unsigned int&nbsp;</td>
942          <td class="mdname1" valign="top" nowrap> <em>type</em>          </td>
943          <td class="md" valign="top">&nbsp;)&nbsp;</td>
944          <td class="md" nowrap><code> [static]</code></td>
945        </tr>
946
947      </table>
948    </td>
949  </tr>
950</table>
951<table cellspacing=5 cellpadding=0 border=0>
952  <tr>
953    <td>
954      &nbsp;
955    </td>
956    <td>
957
958<p>
959Utility function to get the correct GL type based on VET's.
960<p>
961    </td>
962  </tr>
963</table>
964<a class="anchor" name="Ogre_1_1GLHardwareBufferManagere0" doxytag="Ogre::GLHardwareBufferManager::getGLUsage" ></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"> <a class="el" href="OgreGLPrerequisites_8h.html#a41">GLenum</a> Ogre::GLHardwareBufferManager::getGLUsage </td>
971          <td class="md" valign="top">(&nbsp;</td>
972          <td class="md" nowrap valign="top">unsigned int&nbsp;</td>
973          <td class="mdname1" valign="top" nowrap> <em>usage</em>          </td>
974          <td class="md" valign="top">&nbsp;)&nbsp;</td>
975          <td class="md" nowrap><code> [static]</code></td>
976        </tr>
977
978      </table>
979    </td>
980  </tr>
981</table>
982<table cellspacing=5 cellpadding=0 border=0>
983  <tr>
984    <td>
985      &nbsp;
986    </td>
987    <td>
988
989<p>
990Utility function to get the correct GL usage based on HBU's.
991<p>
992    </td>
993  </tr>
994</table>
995<a class="anchor" name="Ogre_1_1HardwareBufferManagere0" doxytag="Ogre::GLHardwareBufferManager::getSingleton" ></a><p>
996<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
997  <tr>
998    <td class="mdRow">
999      <table cellpadding="0" cellspacing="0" border="0">
1000        <tr>
1001          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareBufferManager.html">HardwareBufferManager</a>&amp; Ogre::HardwareBufferManager::getSingleton </td>
1002          <td class="md" valign="top">(&nbsp;</td>
1003          <td class="md" nowrap valign="top">void&nbsp;</td>
1004          <td class="mdname1" valign="top" nowrap>          </td>
1005          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1006          <td class="md" nowrap><code> [static, inherited]</code></td>
1007        </tr>
1008
1009      </table>
1010    </td>
1011  </tr>
1012</table>
1013<table cellspacing=5 cellpadding=0 border=0>
1014  <tr>
1015    <td>
1016      &nbsp;
1017    </td>
1018    <td>
1019
1020<p>
1021Override standard <a class="el" href="classOgre_1_1Singleton.html">Singleton</a> retrieval.
1022<p>
1023<dl compact><dt><b>Remarks:</b></dt><dd>Why do we do this? Well, it's because the <a class="el" href="classOgre_1_1Singleton.html">Singleton</a> implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the <a class="el" href="classOgre_1_1Singleton.html">Singleton</a> template to work, but we actually only want it compiled into the implementation of the class based on the <a class="el" href="classOgre_1_1Singleton.html">Singleton</a>, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. </dd></dl>
1024<dl compact><dt><b></b></dt><dd>This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. </dd></dl>
1025
1026<p>
1027Reimplemented from <a class="el" href="classOgre_1_1Singleton.html#Ogre_1_1Singletone0">Ogre::Singleton&lt; HardwareBufferManager &gt;</a>.    </td>
1028  </tr>
1029</table>
1030<a class="anchor" name="Ogre_1_1HardwareBufferManagere1" doxytag="Ogre::GLHardwareBufferManager::getSingletonPtr" ></a><p>
1031<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1032  <tr>
1033    <td class="mdRow">
1034      <table cellpadding="0" cellspacing="0" border="0">
1035        <tr>
1036          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareBufferManager.html">HardwareBufferManager</a>* Ogre::HardwareBufferManager::getSingletonPtr </td>
1037          <td class="md" valign="top">(&nbsp;</td>
1038          <td class="md" nowrap valign="top">void&nbsp;</td>
1039          <td class="mdname1" valign="top" nowrap>          </td>
1040          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1041          <td class="md" nowrap><code> [static, inherited]</code></td>
1042        </tr>
1043
1044      </table>
1045    </td>
1046  </tr>
1047</table>
1048<table cellspacing=5 cellpadding=0 border=0>
1049  <tr>
1050    <td>
1051      &nbsp;
1052    </td>
1053    <td>
1054
1055<p>
1056Override standard <a class="el" href="classOgre_1_1Singleton.html">Singleton</a> retrieval.
1057<p>
1058<dl compact><dt><b>Remarks:</b></dt><dd>Why do we do this? Well, it's because the <a class="el" href="classOgre_1_1Singleton.html">Singleton</a> implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the <a class="el" href="classOgre_1_1Singleton.html">Singleton</a> template to work, but we actually only want it compiled into the implementation of the class based on the <a class="el" href="classOgre_1_1Singleton.html">Singleton</a>, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. </dd></dl>
1059<dl compact><dt><b></b></dt><dd>This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. </dd></dl>
1060
1061<p>
1062Reimplemented from <a class="el" href="classOgre_1_1Singleton.html#Ogre_1_1Singletone1">Ogre::Singleton&lt; HardwareBufferManager &gt;</a>.    </td>
1063  </tr>
1064</table>
1065<a class="anchor" name="Ogre_1_1HardwareBufferManagerb2" doxytag="Ogre::GLHardwareBufferManager::makeBufferCopy" ></a><p>
1066<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1067  <tr>
1068    <td class="mdRow">
1069      <table cellpadding="0" cellspacing="0" border="0">
1070        <tr>
1071          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> Ogre::HardwareBufferManager::makeBufferCopy </td>
1072          <td class="md" valign="top">(&nbsp;</td>
1073          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> &amp;&nbsp;</td>
1074          <td class="mdname" nowrap> <em>source</em>, </td>
1075        </tr>
1076        <tr>
1077          <td class="md" nowrap align="right"></td>
1078          <td></td>
1079          <td class="md" nowrap><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11">HardwareBuffer::Usage</a>&nbsp;</td>
1080          <td class="mdname" nowrap> <em>usage</em>, </td>
1081        </tr>
1082        <tr>
1083          <td class="md" nowrap align="right"></td>
1084          <td></td>
1085          <td class="md" nowrap>bool&nbsp;</td>
1086          <td class="mdname" nowrap> <em>useShadowBuffer</em></td>
1087        </tr>
1088        <tr>
1089          <td></td>
1090          <td class="md">)&nbsp;</td>
1091          <td class="md" colspan="2"><code> [protected, inherited]</code></td>
1092        </tr>
1093
1094      </table>
1095    </td>
1096  </tr>
1097</table>
1098<table cellspacing=5 cellpadding=0 border=0>
1099  <tr>
1100    <td>
1101      &nbsp;
1102    </td>
1103    <td>
1104
1105<p>
1106Creates a new buffer as a copy of the source, does not copy data.
1107<p>
1108    </td>
1109  </tr>
1110</table>
1111<a class="anchor" name="Ogre_1_1HardwareBufferManagera8" doxytag="Ogre::GLHardwareBufferManager::registerVertexBufferSourceAndCopy" ></a><p>
1112<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1113  <tr>
1114    <td class="mdRow">
1115      <table cellpadding="0" cellspacing="0" border="0">
1116        <tr>
1117          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBufferManager::registerVertexBufferSourceAndCopy </td>
1118          <td class="md" valign="top">(&nbsp;</td>
1119          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> &amp;&nbsp;</td>
1120          <td class="mdname" nowrap> <em>sourceBuffer</em>, </td>
1121        </tr>
1122        <tr>
1123          <td class="md" nowrap align="right"></td>
1124          <td></td>
1125          <td class="md" nowrap>const <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> &amp;&nbsp;</td>
1126          <td class="mdname" nowrap> <em>copy</em></td>
1127        </tr>
1128        <tr>
1129          <td></td>
1130          <td class="md">)&nbsp;</td>
1131          <td class="md" colspan="2"><code> [virtual, inherited]</code></td>
1132        </tr>
1133
1134      </table>
1135    </td>
1136  </tr>
1137</table>
1138<table cellspacing=5 cellpadding=0 border=0>
1139  <tr>
1140    <td>
1141      &nbsp;
1142    </td>
1143    <td>
1144
1145<p>
1146Registers a vertex buffer as a copy of another.
1147<p>
1148<dl compact><dt><b>Remarks:</b></dt><dd>This is useful for registering an existing buffer as a temporary buffer which can be allocated just like a copy.</dd></dl>
1149    </td>
1150  </tr>
1151</table>
1152<a class="anchor" name="Ogre_1_1HardwareBufferManagera10" doxytag="Ogre::GLHardwareBufferManager::releaseVertexBufferCopy" ></a><p>
1153<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1154  <tr>
1155    <td class="mdRow">
1156      <table cellpadding="0" cellspacing="0" border="0">
1157        <tr>
1158          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBufferManager::releaseVertexBufferCopy </td>
1159          <td class="md" valign="top">(&nbsp;</td>
1160          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> &amp;&nbsp;</td>
1161          <td class="mdname1" valign="top" nowrap> <em>bufferCopy</em>          </td>
1162          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1163          <td class="md" nowrap><code> [virtual, inherited]</code></td>
1164        </tr>
1165
1166      </table>
1167    </td>
1168  </tr>
1169</table>
1170<table cellspacing=5 cellpadding=0 border=0>
1171  <tr>
1172    <td>
1173      &nbsp;
1174    </td>
1175    <td>
1176
1177<p>
1178Manually release a vertex buffer copy for others to subsequently use.
1179<p>
1180<dl compact><dt><b>Remarks:</b></dt><dd>Only required if the original call to allocateVertexBufferCopy included a licenseType of BLT_MANUAL_RELEASE. </dd></dl>
1181<dl compact><dt><b>Parameters:</b></dt><dd>
1182  <table border="0" cellspacing="2" cellpadding="0">
1183    <tr><td valign=top><em>bufferCopy</em>&nbsp;</td><td>The buffer copy. The caller is expected to delete or at least no longer use this reference, since another user may well begin to modify the contents of the buffer. </td></tr>
1184  </table>
1185</dl>
1186    </td>
1187  </tr>
1188</table>
1189<hr><h2>Member Data Documentation</h2>
1190<a class="anchor" name="Ogre_1_1HardwareBufferManagerp2" doxytag="Ogre::GLHardwareBufferManager::mFreeTempVertexBufferMap" ></a><p>
1191<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1192  <tr>
1193    <td class="mdRow">
1194      <table cellpadding="0" cellspacing="0" border="0">
1195        <tr>
1196          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx3">FreeTemporaryVertexBufferMap</a> <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerp2">Ogre::HardwareBufferManager::mFreeTempVertexBufferMap</a><code> [protected, inherited]</code>
1197      </table>
1198    </td>
1199  </tr>
1200</table>
1201<table cellspacing=5 cellpadding=0 border=0>
1202  <tr>
1203    <td>
1204      &nbsp;
1205    </td>
1206    <td>
1207
1208<p>
1209Map of current available temp buffers.
1210<p>
1211
1212<p>
1213Definition at line <a class="el" href="OgreHardwareBufferManager_8h-source.html#l00134">134</a> of file <a class="el" href="OgreHardwareBufferManager_8h-source.html">OgreHardwareBufferManager.h</a>.    </td>
1214  </tr>
1215</table>
1216<a class="anchor" name="Ogre_1_1HardwareBufferManagerp5" doxytag="Ogre::GLHardwareBufferManager::mIndexBuffers" ></a><p>
1217<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1218  <tr>
1219    <td class="mdRow">
1220      <table cellpadding="0" cellspacing="0" border="0">
1221        <tr>
1222          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx6">IndexBufferList</a> <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerp5">Ogre::HardwareBufferManager::mIndexBuffers</a><code> [protected, inherited]</code>
1223      </table>
1224    </td>
1225  </tr>
1226</table>
1227<table cellspacing=5 cellpadding=0 border=0>
1228  <tr>
1229    <td>
1230      &nbsp;
1231    </td>
1232    <td>
1233
1234<p>
1235
1236<p>
1237Definition at line <a class="el" href="OgreHardwareBufferManager_8h-source.html#l00143">143</a> of file <a class="el" href="OgreHardwareBufferManager_8h-source.html">OgreHardwareBufferManager.h</a>.    </td>
1238  </tr>
1239</table>
1240<a class="anchor" name="Ogre_1_1Singletont0" doxytag="Ogre::GLHardwareBufferManager::ms_Singleton" ></a><p>
1241<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1242  <tr>
1243    <td class="mdRow">
1244      <table cellpadding="0" cellspacing="0" border="0">
1245        <tr>
1246          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareBufferManager.html">HardwareBufferManager</a> * <a class="el" href="classOgre_1_1Singleton.html">Ogre::Singleton</a>&lt; <a class="el" href="classOgre_1_1HardwareBufferManager.html">HardwareBufferManager</a>  &gt;::<a class="el" href="classOgre_1_1Singleton.html#Ogre_1_1Singletont0">ms_Singleton</a><code> [static, protected, inherited]</code>
1247      </table>
1248    </td>
1249  </tr>
1250</table>
1251<table cellspacing=5 cellpadding=0 border=0>
1252  <tr>
1253    <td>
1254      &nbsp;
1255    </td>
1256    <td>
1257
1258<p>
1259
1260<p>
1261Definition at line <a class="el" href="OgreSingleton_8h-source.html#l00054">54</a> of file <a class="el" href="OgreSingleton_8h-source.html">OgreSingleton.h</a>.    </td>
1262  </tr>
1263</table>
1264<a class="anchor" name="Ogre_1_1HardwareBufferManagerp3" doxytag="Ogre::GLHardwareBufferManager::mTempVertexBufferLicenses" ></a><p>
1265<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1266  <tr>
1267    <td class="mdRow">
1268      <table cellpadding="0" cellspacing="0" border="0">
1269        <tr>
1270          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx4">TemporaryVertexBufferLicenseList</a> <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerp3">Ogre::HardwareBufferManager::mTempVertexBufferLicenses</a><code> [protected, inherited]</code>
1271      </table>
1272    </td>
1273  </tr>
1274</table>
1275<table cellspacing=5 cellpadding=0 border=0>
1276  <tr>
1277    <td>
1278      &nbsp;
1279    </td>
1280    <td>
1281
1282<p>
1283List of currently licensed temp buffers.
1284<p>
1285
1286<p>
1287Definition at line <a class="el" href="OgreHardwareBufferManager_8h-source.html#l00138">138</a> of file <a class="el" href="OgreHardwareBufferManager_8h-source.html">OgreHardwareBufferManager.h</a>.    </td>
1288  </tr>
1289</table>
1290<a class="anchor" name="Ogre_1_1HardwareBufferManagerp1" doxytag="Ogre::GLHardwareBufferManager::mVertexBufferBindings" ></a><p>
1291<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1292  <tr>
1293    <td class="mdRow">
1294      <table cellpadding="0" cellspacing="0" border="0">
1295        <tr>
1296          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx1">VertexBufferBindingList</a> <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerp1">Ogre::HardwareBufferManager::mVertexBufferBindings</a><code> [protected, inherited]</code>
1297      </table>
1298    </td>
1299  </tr>
1300</table>
1301<table cellspacing=5 cellpadding=0 border=0>
1302  <tr>
1303    <td>
1304      &nbsp;
1305    </td>
1306    <td>
1307
1308<p>
1309
1310<p>
1311Definition at line <a class="el" href="OgreHardwareBufferManager_8h-source.html#l00095">95</a> of file <a class="el" href="OgreHardwareBufferManager_8h-source.html">OgreHardwareBufferManager.h</a>.    </td>
1312  </tr>
1313</table>
1314<a class="anchor" name="Ogre_1_1HardwareBufferManagerp4" doxytag="Ogre::GLHardwareBufferManager::mVertexBuffers" ></a><p>
1315<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1316  <tr>
1317    <td class="mdRow">
1318      <table cellpadding="0" cellspacing="0" border="0">
1319        <tr>
1320          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx5">VertexBufferList</a> <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerp4">Ogre::HardwareBufferManager::mVertexBuffers</a><code> [protected, inherited]</code>
1321      </table>
1322    </td>
1323  </tr>
1324</table>
1325<table cellspacing=5 cellpadding=0 border=0>
1326  <tr>
1327    <td>
1328      &nbsp;
1329    </td>
1330    <td>
1331
1332<p>
1333
1334<p>
1335Definition at line <a class="el" href="OgreHardwareBufferManager_8h-source.html#l00142">142</a> of file <a class="el" href="OgreHardwareBufferManager_8h-source.html">OgreHardwareBufferManager.h</a>.    </td>
1336  </tr>
1337</table>
1338<a class="anchor" name="Ogre_1_1HardwareBufferManagerp0" doxytag="Ogre::GLHardwareBufferManager::mVertexDeclarations" ></a><p>
1339<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1340  <tr>
1341    <td class="mdRow">
1342      <table cellpadding="0" cellspacing="0" border="0">
1343        <tr>
1344          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx0">VertexDeclarationList</a> <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerp0">Ogre::HardwareBufferManager::mVertexDeclarations</a><code> [protected, inherited]</code>
1345      </table>
1346    </td>
1347  </tr>
1348</table>
1349<table cellspacing=5 cellpadding=0 border=0>
1350  <tr>
1351    <td>
1352      &nbsp;
1353    </td>
1354    <td>
1355
1356<p>
1357
1358<p>
1359Definition at line <a class="el" href="OgreHardwareBufferManager_8h-source.html#l00094">94</a> of file <a class="el" href="OgreHardwareBufferManager_8h-source.html">OgreHardwareBufferManager.h</a>.    </td>
1360  </tr>
1361</table>
1362<hr>The documentation for this class was generated from the following file:<ul>
1363<li><a class="el" href="OgreGLHardwareBufferManager_8h-source.html">OgreGLHardwareBufferManager.h</a></ul>
1364<hr>
1365<p>
1366Copyright &copy; 2000-2005 by The OGRE Team<br />
1367<!--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/>
1368This 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/>
1369                <!--/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#">
1370                <Work rdf:about="">
1371                        <license rdf:resource="http://creativecommons.org/licenses/by-sa/2.5/" />
1372        <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
1373                </Work>
1374                <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> -->
1375
1376Last modified Sun Feb 12 13:10:09 2006
1377</p>
1378</body>
1379</html>
Note: See TracBrowser for help on using the repository browser.