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

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

adding ogre 1.2 and dependencies

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>virtual <a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagera4">createVertexDeclaration</a> (void)</td></tr>
40
41<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new vertex declaration.  <a href="#Ogre_1_1HardwareBufferManagera4"></a><br><br></td></tr>
42<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_1HardwareBufferManagera5">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.  <a href="#Ogre_1_1HardwareBufferManagera5"></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">touchVertexBufferCopy</a> (const <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> &amp;bufferCopy)</td></tr>
61
62<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tell engine that the vertex buffer copy intent to reuse.  <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">_freeUnusedBufferCopies</a> (void)</td></tr>
64
65<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free all unused vertex buffer copies.  <a href="#Ogre_1_1HardwareBufferManagera12"></a><br><br></td></tr>
66<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_1HardwareBufferManagera13">_releaseBufferCopies</a> (bool forceFreeUnused=false)</td></tr>
67
68<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_1HardwareBufferManagera13"></a><br><br></td></tr>
69<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_1HardwareBufferManagera14">_forceReleaseBufferCopies</a> (const <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> &amp;sourceBuffer)</td></tr>
70
71<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_1HardwareBufferManagera14"></a><br><br></td></tr>
72<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_1HardwareBufferManagera15">_forceReleaseBufferCopies</a> (<a class="el" href="classOgre_1_1HardwareVertexBuffer.html">HardwareVertexBuffer</a> *sourceBuffer)</td></tr>
73
74<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_1HardwareBufferManagera15"></a><br><br></td></tr>
75<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_1HardwareBufferManagera16">_notifyVertexBufferDestroyed</a> (<a class="el" href="classOgre_1_1HardwareVertexBuffer.html">HardwareVertexBuffer</a> *buf)</td></tr>
76
77<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Notification that a hardware vertex buffer has been destroyed.  <a href="#Ogre_1_1HardwareBufferManagera16"></a><br><br></td></tr>
78<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_1HardwareBufferManagera17">_notifyIndexBufferDestroyed</a> (<a class="el" href="classOgre_1_1HardwareIndexBuffer.html">HardwareIndexBuffer</a> *buf)</td></tr>
79
80<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Notification that a hardware index buffer has been destroyed.  <a href="#Ogre_1_1HardwareBufferManagera17"></a><br><br></td></tr>
81<tr><td colspan=2><br><h2>Static Public Member Functions</h2></td></tr>
82<tr><td class="memItemLeft" nowrap align=right valign=top>GLenum&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>
83
84<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>
85<tr><td class="memItemLeft" nowrap align=right valign=top>GLenum&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>
86
87<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>
88<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>
89
90<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>
91<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>
92
93<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>
94<tr><td colspan=2><br><h2>Protected Types</h2></td></tr>
95<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_1HardwareBufferManagerx0">VertexBufferList</a></td></tr>
96
97<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">WARNING: The following two members should place before all other members.  <a href="#Ogre_1_1HardwareBufferManagerx0"></a><br><br></td></tr>
98<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_1HardwareBufferManagerx1">IndexBufferList</a></td></tr>
99
100<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::set&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_1HardwareBufferManagerx2">VertexDeclarationList</a></td></tr>
101
102<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::set&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_1HardwareBufferManagerx3">VertexBufferBindingList</a></td></tr>
103
104<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::multimap&lt; <a class="el" href="classOgre_1_1HardwareVertexBuffer.html">HardwareVertexBuffer</a> *,<br>
105 <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_1HardwareBufferManagerx4">FreeTemporaryVertexBufferMap</a></td></tr>
106
107<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Map from original buffer to temporary buffers.  <a href="#Ogre_1_1HardwareBufferManagerx4"></a><br><br></td></tr>
108<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::map&lt; <a class="el" href="classOgre_1_1HardwareVertexBuffer.html">HardwareVertexBuffer</a> *,<br>
109 VertexBufferLicense &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx5">TemporaryVertexBufferLicenseMap</a></td></tr>
110
111<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Map from temporary buffer to details of a license.  <a href="#Ogre_1_1HardwareBufferManagerx5"></a><br><br></td></tr>
112<tr><td colspan=2><br><h2>Protected Member Functions</h2></td></tr>
113<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>
114
115<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal method for destroys all vertex declarations.  <a href="#Ogre_1_1HardwareBufferManagerb0"></a><br><br></td></tr>
116<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>
117
118<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal method for destroys all vertex buffer bindings.  <a href="#Ogre_1_1HardwareBufferManagerb1"></a><br><br></td></tr>
119<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerb2">createVertexDeclarationImpl</a> (void)</td></tr>
120
121<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal method for creates a new vertex declaration, may be overridden by certain rendering APIs.  <a href="#Ogre_1_1HardwareBufferManagerb2"></a><br><br></td></tr>
122<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_1HardwareBufferManagerb3">destroyVertexDeclarationImpl</a> (<a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a> *decl)</td></tr>
123
124<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal method for destroys a vertex declaration, may be overridden by certain rendering APIs.  <a href="#Ogre_1_1HardwareBufferManagerb3"></a><br><br></td></tr>
125<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_1HardwareBufferManagerb4">createVertexBufferBindingImpl</a> (void)</td></tr>
126
127<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal method for creates a new <a class="el" href="classOgre_1_1VertexBufferBinding.html">VertexBufferBinding</a>, may be overridden by certain rendering APIs.  <a href="#Ogre_1_1HardwareBufferManagerb4"></a><br><br></td></tr>
128<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_1HardwareBufferManagerb5">destroyVertexBufferBindingImpl</a> (<a class="el" href="classOgre_1_1VertexBufferBinding.html">VertexBufferBinding</a> *binding)</td></tr>
129
130<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal method for destroys a <a class="el" href="classOgre_1_1VertexBufferBinding.html">VertexBufferBinding</a>, may be overridden by certain rendering APIs.  <a href="#Ogre_1_1HardwareBufferManagerb5"></a><br><br></td></tr>
131<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_1HardwareBufferManagerb6">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>
132
133<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_1HardwareBufferManagerb6"></a><br><br></td></tr>
134<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
135<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx0">VertexBufferList</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerp0">mVertexBuffers</a></td></tr>
136
137<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx1">IndexBufferList</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerp1">mIndexBuffers</a></td></tr>
138
139<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx2">VertexDeclarationList</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerp2">mVertexDeclarations</a></td></tr>
140
141<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx3">VertexBufferBindingList</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerp3">mVertexBufferBindings</a></td></tr>
142
143<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx4">FreeTemporaryVertexBufferMap</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerp4">mFreeTempVertexBufferMap</a></td></tr>
144
145<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Map of current available temp buffers.  <a href="#Ogre_1_1HardwareBufferManagerp4"></a><br><br></td></tr>
146<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx5">TemporaryVertexBufferLicenseMap</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerp5">mTempVertexBufferLicenses</a></td></tr>
147
148<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Map of currently licensed temporary buffers.  <a href="#Ogre_1_1HardwareBufferManagerp5"></a><br><br></td></tr>
149<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerp6">mUnderUsedFrameCount</a></td></tr>
150
151<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of frames elapsed since temporary buffers utilization was above half the available.  <a href="#Ogre_1_1HardwareBufferManagerp6"></a><br><br></td></tr>
152<tr><td colspan=2><br><h2>Static Protected Attributes</h2></td></tr>
153<tr><td class="memItemLeft" nowrap align=right valign=top>const size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagert0">UNDER_USED_FRAME_THRESHOLD</a></td></tr>
154
155<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of frames to wait before free unused temporary buffers.  <a href="#Ogre_1_1HardwareBufferManagert0"></a><br><br></td></tr>
156<tr><td class="memItemLeft" nowrap align=right valign=top>const size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagert1">EXPIRED_DELAY_FRAME_THRESHOLD</a></td></tr>
157
158<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frame delay for BLT_AUTOMATIC_RELEASE temporary buffers.  <a href="#Ogre_1_1HardwareBufferManagert1"></a><br><br></td></tr>
159<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>
160
161</table>
162<hr><a name="_details"></a><h2>Detailed Description</h2>
163Implementation of <a class="el" href="classOgre_1_1HardwareBufferManager.html">HardwareBufferManager</a> for OpenGL.
164<p>
165
166<p>
167Definition 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>
168<a class="anchor" name="Ogre_1_1HardwareBufferManagerx4" doxytag="Ogre::GLHardwareBufferManager::FreeTemporaryVertexBufferMap" ></a><p>
169<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
170  <tr>
171    <td class="mdRow">
172      <table cellpadding="0" cellspacing="0" border="0">
173        <tr>
174          <td class="md" nowrap valign="top"> typedef std::multimap&lt;<a class="el" href="classOgre_1_1HardwareVertexBuffer.html">HardwareVertexBuffer</a>*, <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a>&gt; <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx4">Ogre::HardwareBufferManager::FreeTemporaryVertexBufferMap</a><code> [protected, inherited]</code>
175      </table>
176    </td>
177  </tr>
178</table>
179<table cellspacing=5 cellpadding=0 border=0>
180  <tr>
181    <td>
182      &nbsp;
183    </td>
184    <td>
185
186<p>
187Map from original buffer to temporary buffers.
188<p>
189
190<p>
191Definition at line <a class="el" href="OgreHardwareBufferManager_8h-source.html#l00164">164</a> of file <a class="el" href="OgreHardwareBufferManager_8h-source.html">OgreHardwareBufferManager.h</a>.    </td>
192  </tr>
193</table>
194<a class="anchor" name="Ogre_1_1HardwareBufferManagerx1" doxytag="Ogre::GLHardwareBufferManager::IndexBufferList" ></a><p>
195<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
196  <tr>
197    <td class="mdRow">
198      <table cellpadding="0" cellspacing="0" border="0">
199        <tr>
200          <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_1HardwareBufferManagerx1">Ogre::HardwareBufferManager::IndexBufferList</a><code> [protected, inherited]</code>
201      </table>
202    </td>
203  </tr>
204</table>
205<table cellspacing=5 cellpadding=0 border=0>
206  <tr>
207    <td>
208      &nbsp;
209    </td>
210    <td>
211
212<p>
213
214<p>
215Definition at line <a class="el" href="OgreHardwareBufferManager_8h-source.html#l00102">102</a> of file <a class="el" href="OgreHardwareBufferManager_8h-source.html">OgreHardwareBufferManager.h</a>.    </td>
216  </tr>
217</table>
218<a class="anchor" name="Ogre_1_1HardwareBufferManagerx5" doxytag="Ogre::GLHardwareBufferManager::TemporaryVertexBufferLicenseMap" ></a><p>
219<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
220  <tr>
221    <td class="mdRow">
222      <table cellpadding="0" cellspacing="0" border="0">
223        <tr>
224          <td class="md" nowrap valign="top"> typedef std::map&lt;<a class="el" href="classOgre_1_1HardwareVertexBuffer.html">HardwareVertexBuffer</a>*, VertexBufferLicense&gt; <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx5">Ogre::HardwareBufferManager::TemporaryVertexBufferLicenseMap</a><code> [protected, inherited]</code>
225      </table>
226    </td>
227  </tr>
228</table>
229<table cellspacing=5 cellpadding=0 border=0>
230  <tr>
231    <td>
232      &nbsp;
233    </td>
234    <td>
235
236<p>
237Map from temporary buffer to details of a license.
238<p>
239
240<p>
241Definition at line <a class="el" href="OgreHardwareBufferManager_8h-source.html#l00168">168</a> of file <a class="el" href="OgreHardwareBufferManager_8h-source.html">OgreHardwareBufferManager.h</a>.    </td>
242  </tr>
243</table>
244<a class="anchor" name="Ogre_1_1HardwareBufferManagerx3" doxytag="Ogre::GLHardwareBufferManager::VertexBufferBindingList" ></a><p>
245<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
246  <tr>
247    <td class="mdRow">
248      <table cellpadding="0" cellspacing="0" border="0">
249        <tr>
250          <td class="md" nowrap valign="top"> typedef std::set&lt;<a class="el" href="classOgre_1_1VertexBufferBinding.html">VertexBufferBinding</a>*&gt; <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx3">Ogre::HardwareBufferManager::VertexBufferBindingList</a><code> [protected, inherited]</code>
251      </table>
252    </td>
253  </tr>
254</table>
255<table cellspacing=5 cellpadding=0 border=0>
256  <tr>
257    <td>
258      &nbsp;
259    </td>
260    <td>
261
262<p>
263
264<p>
265Definition at line <a class="el" href="OgreHardwareBufferManager_8h-source.html#l00108">108</a> of file <a class="el" href="OgreHardwareBufferManager_8h-source.html">OgreHardwareBufferManager.h</a>.    </td>
266  </tr>
267</table>
268<a class="anchor" name="Ogre_1_1HardwareBufferManagerx0" doxytag="Ogre::GLHardwareBufferManager::VertexBufferList" ></a><p>
269<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
270  <tr>
271    <td class="mdRow">
272      <table cellpadding="0" cellspacing="0" border="0">
273        <tr>
274          <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_1HardwareBufferManagerx0">Ogre::HardwareBufferManager::VertexBufferList</a><code> [protected, inherited]</code>
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>
287WARNING: The following two members should place before all other members.
288<p>
289Members destruct order is very important here, because destructing other members will cause notify back to this class, and then will access to this two members.
290<p>
291Definition at line <a class="el" href="OgreHardwareBufferManager_8h-source.html#l00101">101</a> of file <a class="el" href="OgreHardwareBufferManager_8h-source.html">OgreHardwareBufferManager.h</a>.    </td>
292  </tr>
293</table>
294<a class="anchor" name="Ogre_1_1HardwareBufferManagerx2" doxytag="Ogre::GLHardwareBufferManager::VertexDeclarationList" ></a><p>
295<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
296  <tr>
297    <td class="mdRow">
298      <table cellpadding="0" cellspacing="0" border="0">
299        <tr>
300          <td class="md" nowrap valign="top"> typedef std::set&lt;<a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a>*&gt; <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx2">Ogre::HardwareBufferManager::VertexDeclarationList</a><code> [protected, inherited]</code>
301      </table>
302    </td>
303  </tr>
304</table>
305<table cellspacing=5 cellpadding=0 border=0>
306  <tr>
307    <td>
308      &nbsp;
309    </td>
310    <td>
311
312<p>
313
314<p>
315Definition at line <a class="el" href="OgreHardwareBufferManager_8h-source.html#l00107">107</a> of file <a class="el" href="OgreHardwareBufferManager_8h-source.html">OgreHardwareBufferManager.h</a>.    </td>
316  </tr>
317</table>
318<hr><h2>Member Enumeration Documentation</h2>
319<a class="anchor" name="Ogre_1_1HardwareBufferManagerw2" doxytag="Ogre::GLHardwareBufferManager::BufferLicenseType" ></a><p>
320<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
321  <tr>
322    <td class="mdRow">
323      <table cellpadding="0" cellspacing="0" border="0">
324        <tr>
325          <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>
326      </table>
327    </td>
328  </tr>
329</table>
330<table cellspacing=5 cellpadding=0 border=0>
331  <tr>
332    <td>
333      &nbsp;
334    </td>
335    <td>
336
337<p>
338<dl compact><dt><b>Enumeration values: </b></dt><dd>
339<table border=0 cellspacing=2 cellpadding=0>
340<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>
341Licensee will only release buffer when it says so. </td></tr>
342<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>
343Licensee can have license revoked. </td></tr>
344</table>
345</dl>
346
347<p>
348Definition 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>
349  </tr>
350</table>
351<hr><h2>Constructor &amp; Destructor Documentation</h2>
352<a class="anchor" name="Ogre_1_1GLHardwareBufferManagera0" doxytag="Ogre::GLHardwareBufferManager::GLHardwareBufferManager" ></a><p>
353<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
354  <tr>
355    <td class="mdRow">
356      <table cellpadding="0" cellspacing="0" border="0">
357        <tr>
358          <td class="md" nowrap valign="top"> Ogre::GLHardwareBufferManager::GLHardwareBufferManager </td>
359          <td class="md" valign="top">(&nbsp;</td>
360          <td class="mdname1" valign="top" nowrap>          </td>
361          <td class="md" valign="top">&nbsp;)&nbsp;</td>
362          <td class="md" nowrap></td>
363        </tr>
364
365      </table>
366    </td>
367  </tr>
368</table>
369<table cellspacing=5 cellpadding=0 border=0>
370  <tr>
371    <td>
372      &nbsp;
373    </td>
374    <td>
375
376<p>
377    </td>
378  </tr>
379</table>
380<a class="anchor" name="Ogre_1_1GLHardwareBufferManagera1" doxytag="Ogre::GLHardwareBufferManager::~GLHardwareBufferManager" ></a><p>
381<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
382  <tr>
383    <td class="mdRow">
384      <table cellpadding="0" cellspacing="0" border="0">
385        <tr>
386          <td class="md" nowrap valign="top"> Ogre::GLHardwareBufferManager::~<a class="el" href="classOgre_1_1GLHardwareBufferManager.html">GLHardwareBufferManager</a> </td>
387          <td class="md" valign="top">(&nbsp;</td>
388          <td class="mdname1" valign="top" nowrap>          </td>
389          <td class="md" valign="top">&nbsp;)&nbsp;</td>
390          <td class="md" nowrap></td>
391        </tr>
392
393      </table>
394    </td>
395  </tr>
396</table>
397<table cellspacing=5 cellpadding=0 border=0>
398  <tr>
399    <td>
400      &nbsp;
401    </td>
402    <td>
403
404<p>
405    </td>
406  </tr>
407</table>
408<hr><h2>Member Function Documentation</h2>
409<a class="anchor" name="Ogre_1_1HardwareBufferManagera15" doxytag="Ogre::GLHardwareBufferManager::_forceReleaseBufferCopies" ></a><p>
410<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
411  <tr>
412    <td class="mdRow">
413      <table cellpadding="0" cellspacing="0" border="0">
414        <tr>
415          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBufferManager::_forceReleaseBufferCopies </td>
416          <td class="md" valign="top">(&nbsp;</td>
417          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1HardwareVertexBuffer.html">HardwareVertexBuffer</a> *&nbsp;</td>
418          <td class="mdname1" valign="top" nowrap> <em>sourceBuffer</em>          </td>
419          <td class="md" valign="top">&nbsp;)&nbsp;</td>
420          <td class="md" nowrap><code> [virtual, inherited]</code></td>
421        </tr>
422
423      </table>
424    </td>
425  </tr>
426</table>
427<table cellspacing=5 cellpadding=0 border=0>
428  <tr>
429    <td>
430      &nbsp;
431    </td>
432    <td>
433
434<p>
435Internal method that forces the release of copies of a given buffer.
436<p>
437<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>
438<dl compact><dt><b>Parameters:</b></dt><dd>
439  <table border="0" cellspacing="2" cellpadding="0">
440    <tr><td valign=top><em>sourceBuffer</em>&nbsp;</td><td>the source buffer as a pointer. <a class="el" href="classOgre_1_1Any.html">Any</a> buffer copies created from the source buffer are deleted. </td></tr>
441  </table>
442</dl>
443    </td>
444  </tr>
445</table>
446<a class="anchor" name="Ogre_1_1HardwareBufferManagera14" doxytag="Ogre::GLHardwareBufferManager::_forceReleaseBufferCopies" ></a><p>
447<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
448  <tr>
449    <td class="mdRow">
450      <table cellpadding="0" cellspacing="0" border="0">
451        <tr>
452          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBufferManager::_forceReleaseBufferCopies </td>
453          <td class="md" valign="top">(&nbsp;</td>
454          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> &amp;&nbsp;</td>
455          <td class="mdname1" valign="top" nowrap> <em>sourceBuffer</em>          </td>
456          <td class="md" valign="top">&nbsp;)&nbsp;</td>
457          <td class="md" nowrap><code> [virtual, inherited]</code></td>
458        </tr>
459
460      </table>
461    </td>
462  </tr>
463</table>
464<table cellspacing=5 cellpadding=0 border=0>
465  <tr>
466    <td>
467      &nbsp;
468    </td>
469    <td>
470
471<p>
472Internal method that forces the release of copies of a given buffer.
473<p>
474<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>
475<dl compact><dt><b>Parameters:</b></dt><dd>
476  <table border="0" cellspacing="2" cellpadding="0">
477    <tr><td valign=top><em>sourceBuffer</em>&nbsp;</td><td>the source buffer as a shared pointer. <a class="el" href="classOgre_1_1Any.html">Any</a> buffer copies created from the source buffer are deleted. </td></tr>
478  </table>
479</dl>
480    </td>
481  </tr>
482</table>
483<a class="anchor" name="Ogre_1_1HardwareBufferManagera12" doxytag="Ogre::GLHardwareBufferManager::_freeUnusedBufferCopies" ></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"> virtual void Ogre::HardwareBufferManager::_freeUnusedBufferCopies </td>
490          <td class="md" valign="top">(&nbsp;</td>
491          <td class="md" nowrap valign="top">void&nbsp;</td>
492          <td class="mdname1" valign="top" nowrap>          </td>
493          <td class="md" valign="top">&nbsp;)&nbsp;</td>
494          <td class="md" nowrap><code> [virtual, 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>
509Free all unused vertex buffer copies.
510<p>
511<dl compact><dt><b>Remarks:</b></dt><dd>This method free all temporary vertex buffers that not in used. In normally, temporary vertex buffers are subsequently stored and can be made available for other purposes later without incurring the cost of construction / destruction. But in some cases you want to free them to save hardware memory (e.g. application was runs in a long time, you might free temporary buffers periodically to avoid memory overload). </dd></dl>
512    </td>
513  </tr>
514</table>
515<a class="anchor" name="Ogre_1_1HardwareBufferManagera17" doxytag="Ogre::GLHardwareBufferManager::_notifyIndexBufferDestroyed" ></a><p>
516<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
517  <tr>
518    <td class="mdRow">
519      <table cellpadding="0" cellspacing="0" border="0">
520        <tr>
521          <td class="md" nowrap valign="top"> void Ogre::HardwareBufferManager::_notifyIndexBufferDestroyed </td>
522          <td class="md" valign="top">(&nbsp;</td>
523          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1HardwareIndexBuffer.html">HardwareIndexBuffer</a> *&nbsp;</td>
524          <td class="mdname1" valign="top" nowrap> <em>buf</em>          </td>
525          <td class="md" valign="top">&nbsp;)&nbsp;</td>
526          <td class="md" nowrap><code> [inherited]</code></td>
527        </tr>
528
529      </table>
530    </td>
531  </tr>
532</table>
533<table cellspacing=5 cellpadding=0 border=0>
534  <tr>
535    <td>
536      &nbsp;
537    </td>
538    <td>
539
540<p>
541Notification that a hardware index buffer has been destroyed.
542<p>
543    </td>
544  </tr>
545</table>
546<a class="anchor" name="Ogre_1_1HardwareBufferManagera16" doxytag="Ogre::GLHardwareBufferManager::_notifyVertexBufferDestroyed" ></a><p>
547<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
548  <tr>
549    <td class="mdRow">
550      <table cellpadding="0" cellspacing="0" border="0">
551        <tr>
552          <td class="md" nowrap valign="top"> void Ogre::HardwareBufferManager::_notifyVertexBufferDestroyed </td>
553          <td class="md" valign="top">(&nbsp;</td>
554          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1HardwareVertexBuffer.html">HardwareVertexBuffer</a> *&nbsp;</td>
555          <td class="mdname1" valign="top" nowrap> <em>buf</em>          </td>
556          <td class="md" valign="top">&nbsp;)&nbsp;</td>
557          <td class="md" nowrap><code> [inherited]</code></td>
558        </tr>
559
560      </table>
561    </td>
562  </tr>
563</table>
564<table cellspacing=5 cellpadding=0 border=0>
565  <tr>
566    <td>
567      &nbsp;
568    </td>
569    <td>
570
571<p>
572Notification that a hardware vertex buffer has been destroyed.
573<p>
574    </td>
575  </tr>
576</table>
577<a class="anchor" name="Ogre_1_1HardwareBufferManagera13" doxytag="Ogre::GLHardwareBufferManager::_releaseBufferCopies" ></a><p>
578<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
579  <tr>
580    <td class="mdRow">
581      <table cellpadding="0" cellspacing="0" border="0">
582        <tr>
583          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBufferManager::_releaseBufferCopies </td>
584          <td class="md" valign="top">(&nbsp;</td>
585          <td class="md" nowrap valign="top">bool&nbsp;</td>
586          <td class="mdname1" valign="top" nowrap> <em>forceFreeUnused</em> = false          </td>
587          <td class="md" valign="top">&nbsp;)&nbsp;</td>
588          <td class="md" nowrap><code> [virtual, inherited]</code></td>
589        </tr>
590
591      </table>
592    </td>
593  </tr>
594</table>
595<table cellspacing=5 cellpadding=0 border=0>
596  <tr>
597    <td>
598      &nbsp;
599    </td>
600    <td>
601
602<p>
603Internal method for releasing all temporary buffers which have been allocated using BLT_AUTOMATIC_RELEASE; is called by OGRE.
604<p>
605<dl compact><dt><b>Parameters:</b></dt><dd>
606  <table border="0" cellspacing="2" cellpadding="0">
607    <tr><td valign=top><em>forceFreeUnused</em>&nbsp;</td><td>If true, free all unused temporary buffers. If false, auto detect and free all unused temporary buffers based on temporary buffers utilization. </td></tr>
608  </table>
609</dl>
610    </td>
611  </tr>
612</table>
613<a class="anchor" name="Ogre_1_1HardwareBufferManagera9" doxytag="Ogre::GLHardwareBufferManager::allocateVertexBufferCopy" ></a><p>
614<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
615  <tr>
616    <td class="mdRow">
617      <table cellpadding="0" cellspacing="0" border="0">
618        <tr>
619          <td class="md" nowrap valign="top"> virtual <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> Ogre::HardwareBufferManager::allocateVertexBufferCopy </td>
620          <td class="md" valign="top">(&nbsp;</td>
621          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> &amp;&nbsp;</td>
622          <td class="mdname" nowrap> <em>sourceBuffer</em>, </td>
623        </tr>
624        <tr>
625          <td class="md" nowrap align="right"></td>
626          <td></td>
627          <td class="md" nowrap><a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerw2">BufferLicenseType</a>&nbsp;</td>
628          <td class="mdname" nowrap> <em>licenseType</em>, </td>
629        </tr>
630        <tr>
631          <td class="md" nowrap align="right"></td>
632          <td></td>
633          <td class="md" nowrap><a class="el" href="classOgre_1_1HardwareBufferLicensee.html">HardwareBufferLicensee</a> *&nbsp;</td>
634          <td class="mdname" nowrap> <em>licensee</em>, </td>
635        </tr>
636        <tr>
637          <td class="md" nowrap align="right"></td>
638          <td></td>
639          <td class="md" nowrap>bool&nbsp;</td>
640          <td class="mdname" nowrap> <em>copyData</em> = false</td>
641        </tr>
642        <tr>
643          <td></td>
644          <td class="md">)&nbsp;</td>
645          <td class="md" colspan="2"><code> [virtual, inherited]</code></td>
646        </tr>
647
648      </table>
649    </td>
650  </tr>
651</table>
652<table cellspacing=5 cellpadding=0 border=0>
653  <tr>
654    <td>
655      &nbsp;
656    </td>
657    <td>
658
659<p>
660Allocates a copy of a given vertex buffer.
661<p>
662<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>
663<dl compact><dt><b>Parameters:</b></dt><dd>
664  <table border="0" cellspacing="2" cellpadding="0">
665    <tr><td valign=top><em>sourceBuffer</em>&nbsp;</td><td>The source buffer to use as a copy </td></tr>
666    <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>
667    <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>
668    <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>
669  </table>
670</dl>
671    </td>
672  </tr>
673</table>
674<a class="anchor" name="Ogre_1_1GLHardwareBufferManagera3" doxytag="Ogre::GLHardwareBufferManager::createIndexBuffer" ></a><p>
675<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
676  <tr>
677    <td class="mdRow">
678      <table cellpadding="0" cellspacing="0" border="0">
679        <tr>
680          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareIndexBufferSharedPtr.html">HardwareIndexBufferSharedPtr</a> Ogre::GLHardwareBufferManager::createIndexBuffer </td>
681          <td class="md" valign="top">(&nbsp;</td>
682          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1HardwareIndexBuffer.html#Ogre_1_1HardwareIndexBufferw2">HardwareIndexBuffer::IndexType</a>&nbsp;</td>
683          <td class="mdname" nowrap> <em>itype</em>, </td>
684        </tr>
685        <tr>
686          <td class="md" nowrap align="right"></td>
687          <td></td>
688          <td class="md" nowrap>size_t&nbsp;</td>
689          <td class="mdname" nowrap> <em>numIndexes</em>, </td>
690        </tr>
691        <tr>
692          <td class="md" nowrap align="right"></td>
693          <td></td>
694          <td class="md" nowrap><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11">HardwareBuffer::Usage</a>&nbsp;</td>
695          <td class="mdname" nowrap> <em>usage</em>, </td>
696        </tr>
697        <tr>
698          <td class="md" nowrap align="right"></td>
699          <td></td>
700          <td class="md" nowrap>bool&nbsp;</td>
701          <td class="mdname" nowrap> <em>useShadowBuffer</em> = false</td>
702        </tr>
703        <tr>
704          <td></td>
705          <td class="md">)&nbsp;</td>
706          <td class="md" colspan="2"><code> [virtual]</code></td>
707        </tr>
708
709      </table>
710    </td>
711  </tr>
712</table>
713<table cellspacing=5 cellpadding=0 border=0>
714  <tr>
715    <td>
716      &nbsp;
717    </td>
718    <td>
719
720<p>
721Create a hardware vertex buffer.
722<p>
723
724<p>
725Implements <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagera3">Ogre::HardwareBufferManager</a>.    </td>
726  </tr>
727</table>
728<a class="anchor" name="Ogre_1_1GLHardwareBufferManagera2" doxytag="Ogre::GLHardwareBufferManager::createVertexBuffer" ></a><p>
729<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
730  <tr>
731    <td class="mdRow">
732      <table cellpadding="0" cellspacing="0" border="0">
733        <tr>
734          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> Ogre::GLHardwareBufferManager::createVertexBuffer </td>
735          <td class="md" valign="top">(&nbsp;</td>
736          <td class="md" nowrap valign="top">size_t&nbsp;</td>
737          <td class="mdname" nowrap> <em>vertexSize</em>, </td>
738        </tr>
739        <tr>
740          <td class="md" nowrap align="right"></td>
741          <td></td>
742          <td class="md" nowrap>size_t&nbsp;</td>
743          <td class="mdname" nowrap> <em>numVerts</em>, </td>
744        </tr>
745        <tr>
746          <td class="md" nowrap align="right"></td>
747          <td></td>
748          <td class="md" nowrap><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11">HardwareBuffer::Usage</a>&nbsp;</td>
749          <td class="mdname" nowrap> <em>usage</em>, </td>
750        </tr>
751        <tr>
752          <td class="md" nowrap align="right"></td>
753          <td></td>
754          <td class="md" nowrap>bool&nbsp;</td>
755          <td class="mdname" nowrap> <em>useShadowBuffer</em> = false</td>
756        </tr>
757        <tr>
758          <td></td>
759          <td class="md">)&nbsp;</td>
760          <td class="md" colspan="2"><code> [virtual]</code></td>
761        </tr>
762
763      </table>
764    </td>
765  </tr>
766</table>
767<table cellspacing=5 cellpadding=0 border=0>
768  <tr>
769    <td>
770      &nbsp;
771    </td>
772    <td>
773
774<p>
775Creates a vertex buffer.
776<p>
777
778<p>
779Implements <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagera2">Ogre::HardwareBufferManager</a>.    </td>
780  </tr>
781</table>
782<a class="anchor" name="Ogre_1_1HardwareBufferManagera6" doxytag="Ogre::GLHardwareBufferManager::createVertexBufferBinding" ></a><p>
783<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
784  <tr>
785    <td class="mdRow">
786      <table cellpadding="0" cellspacing="0" border="0">
787        <tr>
788          <td class="md" nowrap valign="top"> virtual <a class="el" href="classOgre_1_1VertexBufferBinding.html">VertexBufferBinding</a>* Ogre::HardwareBufferManager::createVertexBufferBinding </td>
789          <td class="md" valign="top">(&nbsp;</td>
790          <td class="md" nowrap valign="top">void&nbsp;</td>
791          <td class="mdname1" valign="top" nowrap>          </td>
792          <td class="md" valign="top">&nbsp;)&nbsp;</td>
793          <td class="md" nowrap><code> [virtual, inherited]</code></td>
794        </tr>
795
796      </table>
797    </td>
798  </tr>
799</table>
800<table cellspacing=5 cellpadding=0 border=0>
801  <tr>
802    <td>
803      &nbsp;
804    </td>
805    <td>
806
807<p>
808Creates a new <a class="el" href="classOgre_1_1VertexBufferBinding.html">VertexBufferBinding</a>.
809<p>
810    </td>
811  </tr>
812</table>
813<a class="anchor" name="Ogre_1_1HardwareBufferManagerb4" doxytag="Ogre::GLHardwareBufferManager::createVertexBufferBindingImpl" ></a><p>
814<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
815  <tr>
816    <td class="mdRow">
817      <table cellpadding="0" cellspacing="0" border="0">
818        <tr>
819          <td class="md" nowrap valign="top"> virtual <a class="el" href="classOgre_1_1VertexBufferBinding.html">VertexBufferBinding</a>* Ogre::HardwareBufferManager::createVertexBufferBindingImpl </td>
820          <td class="md" valign="top">(&nbsp;</td>
821          <td class="md" nowrap valign="top">void&nbsp;</td>
822          <td class="mdname1" valign="top" nowrap>          </td>
823          <td class="md" valign="top">&nbsp;)&nbsp;</td>
824          <td class="md" nowrap><code> [protected, virtual, inherited]</code></td>
825        </tr>
826
827      </table>
828    </td>
829  </tr>
830</table>
831<table cellspacing=5 cellpadding=0 border=0>
832  <tr>
833    <td>
834      &nbsp;
835    </td>
836    <td>
837
838<p>
839Internal method for creates a new <a class="el" href="classOgre_1_1VertexBufferBinding.html">VertexBufferBinding</a>, may be overridden by certain rendering APIs.
840<p>
841    </td>
842  </tr>
843</table>
844<a class="anchor" name="Ogre_1_1HardwareBufferManagera4" doxytag="Ogre::GLHardwareBufferManager::createVertexDeclaration" ></a><p>
845<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
846  <tr>
847    <td class="mdRow">
848      <table cellpadding="0" cellspacing="0" border="0">
849        <tr>
850          <td class="md" nowrap valign="top"> virtual <a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a>* Ogre::HardwareBufferManager::createVertexDeclaration </td>
851          <td class="md" valign="top">(&nbsp;</td>
852          <td class="md" nowrap valign="top">void&nbsp;</td>
853          <td class="mdname1" valign="top" nowrap>          </td>
854          <td class="md" valign="top">&nbsp;)&nbsp;</td>
855          <td class="md" nowrap><code> [virtual, inherited]</code></td>
856        </tr>
857
858      </table>
859    </td>
860  </tr>
861</table>
862<table cellspacing=5 cellpadding=0 border=0>
863  <tr>
864    <td>
865      &nbsp;
866    </td>
867    <td>
868
869<p>
870Creates a new vertex declaration.
871<p>
872    </td>
873  </tr>
874</table>
875<a class="anchor" name="Ogre_1_1HardwareBufferManagerb2" doxytag="Ogre::GLHardwareBufferManager::createVertexDeclarationImpl" ></a><p>
876<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
877  <tr>
878    <td class="mdRow">
879      <table cellpadding="0" cellspacing="0" border="0">
880        <tr>
881          <td class="md" nowrap valign="top"> virtual <a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a>* Ogre::HardwareBufferManager::createVertexDeclarationImpl </td>
882          <td class="md" valign="top">(&nbsp;</td>
883          <td class="md" nowrap valign="top">void&nbsp;</td>
884          <td class="mdname1" valign="top" nowrap>          </td>
885          <td class="md" valign="top">&nbsp;)&nbsp;</td>
886          <td class="md" nowrap><code> [protected, virtual, inherited]</code></td>
887        </tr>
888
889      </table>
890    </td>
891  </tr>
892</table>
893<table cellspacing=5 cellpadding=0 border=0>
894  <tr>
895    <td>
896      &nbsp;
897    </td>
898    <td>
899
900<p>
901Internal method for creates a new vertex declaration, may be overridden by certain rendering APIs.
902<p>
903
904<p>
905Reimplemented in <a class="el" href="classOgre_1_1D3D9HardwareBufferManager.html#Ogre_1_1D3D9HardwareBufferManagerb0">Ogre::D3D9HardwareBufferManager</a>.    </td>
906  </tr>
907</table>
908<a class="anchor" name="Ogre_1_1HardwareBufferManagerb1" doxytag="Ogre::GLHardwareBufferManager::destroyAllBindings" ></a><p>
909<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
910  <tr>
911    <td class="mdRow">
912      <table cellpadding="0" cellspacing="0" border="0">
913        <tr>
914          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBufferManager::destroyAllBindings </td>
915          <td class="md" valign="top">(&nbsp;</td>
916          <td class="md" nowrap valign="top">void&nbsp;</td>
917          <td class="mdname1" valign="top" nowrap>          </td>
918          <td class="md" valign="top">&nbsp;)&nbsp;</td>
919          <td class="md" nowrap><code> [protected, virtual, inherited]</code></td>
920        </tr>
921
922      </table>
923    </td>
924  </tr>
925</table>
926<table cellspacing=5 cellpadding=0 border=0>
927  <tr>
928    <td>
929      &nbsp;
930    </td>
931    <td>
932
933<p>
934Internal method for destroys all vertex buffer bindings.
935<p>
936    </td>
937  </tr>
938</table>
939<a class="anchor" name="Ogre_1_1HardwareBufferManagerb0" doxytag="Ogre::GLHardwareBufferManager::destroyAllDeclarations" ></a><p>
940<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
941  <tr>
942    <td class="mdRow">
943      <table cellpadding="0" cellspacing="0" border="0">
944        <tr>
945          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBufferManager::destroyAllDeclarations </td>
946          <td class="md" valign="top">(&nbsp;</td>
947          <td class="md" nowrap valign="top">void&nbsp;</td>
948          <td class="mdname1" valign="top" nowrap>          </td>
949          <td class="md" valign="top">&nbsp;)&nbsp;</td>
950          <td class="md" nowrap><code> [protected, virtual, inherited]</code></td>
951        </tr>
952
953      </table>
954    </td>
955  </tr>
956</table>
957<table cellspacing=5 cellpadding=0 border=0>
958  <tr>
959    <td>
960      &nbsp;
961    </td>
962    <td>
963
964<p>
965Internal method for destroys all vertex declarations.
966<p>
967    </td>
968  </tr>
969</table>
970<a class="anchor" name="Ogre_1_1HardwareBufferManagera7" doxytag="Ogre::GLHardwareBufferManager::destroyVertexBufferBinding" ></a><p>
971<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
972  <tr>
973    <td class="mdRow">
974      <table cellpadding="0" cellspacing="0" border="0">
975        <tr>
976          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBufferManager::destroyVertexBufferBinding </td>
977          <td class="md" valign="top">(&nbsp;</td>
978          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1VertexBufferBinding.html">VertexBufferBinding</a> *&nbsp;</td>
979          <td class="mdname1" valign="top" nowrap> <em>binding</em>          </td>
980          <td class="md" valign="top">&nbsp;)&nbsp;</td>
981          <td class="md" nowrap><code> [virtual, inherited]</code></td>
982        </tr>
983
984      </table>
985    </td>
986  </tr>
987</table>
988<table cellspacing=5 cellpadding=0 border=0>
989  <tr>
990    <td>
991      &nbsp;
992    </td>
993    <td>
994
995<p>
996Destroys a <a class="el" href="classOgre_1_1VertexBufferBinding.html">VertexBufferBinding</a>.
997<p>
998    </td>
999  </tr>
1000</table>
1001<a class="anchor" name="Ogre_1_1HardwareBufferManagerb5" doxytag="Ogre::GLHardwareBufferManager::destroyVertexBufferBindingImpl" ></a><p>
1002<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1003  <tr>
1004    <td class="mdRow">
1005      <table cellpadding="0" cellspacing="0" border="0">
1006        <tr>
1007          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBufferManager::destroyVertexBufferBindingImpl </td>
1008          <td class="md" valign="top">(&nbsp;</td>
1009          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1VertexBufferBinding.html">VertexBufferBinding</a> *&nbsp;</td>
1010          <td class="mdname1" valign="top" nowrap> <em>binding</em>          </td>
1011          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1012          <td class="md" nowrap><code> [protected, virtual, inherited]</code></td>
1013        </tr>
1014
1015      </table>
1016    </td>
1017  </tr>
1018</table>
1019<table cellspacing=5 cellpadding=0 border=0>
1020  <tr>
1021    <td>
1022      &nbsp;
1023    </td>
1024    <td>
1025
1026<p>
1027Internal method for destroys a <a class="el" href="classOgre_1_1VertexBufferBinding.html">VertexBufferBinding</a>, may be overridden by certain rendering APIs.
1028<p>
1029    </td>
1030  </tr>
1031</table>
1032<a class="anchor" name="Ogre_1_1HardwareBufferManagera5" doxytag="Ogre::GLHardwareBufferManager::destroyVertexDeclaration" ></a><p>
1033<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1034  <tr>
1035    <td class="mdRow">
1036      <table cellpadding="0" cellspacing="0" border="0">
1037        <tr>
1038          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBufferManager::destroyVertexDeclaration </td>
1039          <td class="md" valign="top">(&nbsp;</td>
1040          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a> *&nbsp;</td>
1041          <td class="mdname1" valign="top" nowrap> <em>decl</em>          </td>
1042          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1043          <td class="md" nowrap><code> [virtual, inherited]</code></td>
1044        </tr>
1045
1046      </table>
1047    </td>
1048  </tr>
1049</table>
1050<table cellspacing=5 cellpadding=0 border=0>
1051  <tr>
1052    <td>
1053      &nbsp;
1054    </td>
1055    <td>
1056
1057<p>
1058Destroys a vertex declaration.
1059<p>
1060    </td>
1061  </tr>
1062</table>
1063<a class="anchor" name="Ogre_1_1HardwareBufferManagerb3" doxytag="Ogre::GLHardwareBufferManager::destroyVertexDeclarationImpl" ></a><p>
1064<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1065  <tr>
1066    <td class="mdRow">
1067      <table cellpadding="0" cellspacing="0" border="0">
1068        <tr>
1069          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBufferManager::destroyVertexDeclarationImpl </td>
1070          <td class="md" valign="top">(&nbsp;</td>
1071          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a> *&nbsp;</td>
1072          <td class="mdname1" valign="top" nowrap> <em>decl</em>          </td>
1073          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1074          <td class="md" nowrap><code> [protected, virtual, inherited]</code></td>
1075        </tr>
1076
1077      </table>
1078    </td>
1079  </tr>
1080</table>
1081<table cellspacing=5 cellpadding=0 border=0>
1082  <tr>
1083    <td>
1084      &nbsp;
1085    </td>
1086    <td>
1087
1088<p>
1089Internal method for destroys a vertex declaration, may be overridden by certain rendering APIs.
1090<p>
1091
1092<p>
1093Reimplemented in <a class="el" href="classOgre_1_1D3D9HardwareBufferManager.html#Ogre_1_1D3D9HardwareBufferManagerb1">Ogre::D3D9HardwareBufferManager</a>.    </td>
1094  </tr>
1095</table>
1096<a class="anchor" name="Ogre_1_1GLHardwareBufferManagere1" doxytag="Ogre::GLHardwareBufferManager::getGLType" ></a><p>
1097<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1098  <tr>
1099    <td class="mdRow">
1100      <table cellpadding="0" cellspacing="0" border="0">
1101        <tr>
1102          <td class="md" nowrap valign="top"> GLenum Ogre::GLHardwareBufferManager::getGLType </td>
1103          <td class="md" valign="top">(&nbsp;</td>
1104          <td class="md" nowrap valign="top">unsigned int&nbsp;</td>
1105          <td class="mdname1" valign="top" nowrap> <em>type</em>          </td>
1106          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1107          <td class="md" nowrap><code> [static]</code></td>
1108        </tr>
1109
1110      </table>
1111    </td>
1112  </tr>
1113</table>
1114<table cellspacing=5 cellpadding=0 border=0>
1115  <tr>
1116    <td>
1117      &nbsp;
1118    </td>
1119    <td>
1120
1121<p>
1122Utility function to get the correct GL type based on VET's.
1123<p>
1124    </td>
1125  </tr>
1126</table>
1127<a class="anchor" name="Ogre_1_1GLHardwareBufferManagere0" doxytag="Ogre::GLHardwareBufferManager::getGLUsage" ></a><p>
1128<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1129  <tr>
1130    <td class="mdRow">
1131      <table cellpadding="0" cellspacing="0" border="0">
1132        <tr>
1133          <td class="md" nowrap valign="top"> GLenum Ogre::GLHardwareBufferManager::getGLUsage </td>
1134          <td class="md" valign="top">(&nbsp;</td>
1135          <td class="md" nowrap valign="top">unsigned int&nbsp;</td>
1136          <td class="mdname1" valign="top" nowrap> <em>usage</em>          </td>
1137          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1138          <td class="md" nowrap><code> [static]</code></td>
1139        </tr>
1140
1141      </table>
1142    </td>
1143  </tr>
1144</table>
1145<table cellspacing=5 cellpadding=0 border=0>
1146  <tr>
1147    <td>
1148      &nbsp;
1149    </td>
1150    <td>
1151
1152<p>
1153Utility function to get the correct GL usage based on HBU's.
1154<p>
1155    </td>
1156  </tr>
1157</table>
1158<a class="anchor" name="Ogre_1_1HardwareBufferManagere0" doxytag="Ogre::GLHardwareBufferManager::getSingleton" ></a><p>
1159<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1160  <tr>
1161    <td class="mdRow">
1162      <table cellpadding="0" cellspacing="0" border="0">
1163        <tr>
1164          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareBufferManager.html">HardwareBufferManager</a>&amp; Ogre::HardwareBufferManager::getSingleton </td>
1165          <td class="md" valign="top">(&nbsp;</td>
1166          <td class="md" nowrap valign="top">void&nbsp;</td>
1167          <td class="mdname1" valign="top" nowrap>          </td>
1168          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1169          <td class="md" nowrap><code> [static, inherited]</code></td>
1170        </tr>
1171
1172      </table>
1173    </td>
1174  </tr>
1175</table>
1176<table cellspacing=5 cellpadding=0 border=0>
1177  <tr>
1178    <td>
1179      &nbsp;
1180    </td>
1181    <td>
1182
1183<p>
1184Override standard <a class="el" href="classOgre_1_1Singleton.html">Singleton</a> retrieval.
1185<p>
1186<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>
1187<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>
1188
1189<p>
1190Reimplemented from <a class="el" href="classOgre_1_1Singleton.html#Ogre_1_1Singletone0">Ogre::Singleton&lt; HardwareBufferManager &gt;</a>.    </td>
1191  </tr>
1192</table>
1193<a class="anchor" name="Ogre_1_1HardwareBufferManagere1" doxytag="Ogre::GLHardwareBufferManager::getSingletonPtr" ></a><p>
1194<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1195  <tr>
1196    <td class="mdRow">
1197      <table cellpadding="0" cellspacing="0" border="0">
1198        <tr>
1199          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareBufferManager.html">HardwareBufferManager</a>* Ogre::HardwareBufferManager::getSingletonPtr </td>
1200          <td class="md" valign="top">(&nbsp;</td>
1201          <td class="md" nowrap valign="top">void&nbsp;</td>
1202          <td class="mdname1" valign="top" nowrap>          </td>
1203          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1204          <td class="md" nowrap><code> [static, inherited]</code></td>
1205        </tr>
1206
1207      </table>
1208    </td>
1209  </tr>
1210</table>
1211<table cellspacing=5 cellpadding=0 border=0>
1212  <tr>
1213    <td>
1214      &nbsp;
1215    </td>
1216    <td>
1217
1218<p>
1219Override standard <a class="el" href="classOgre_1_1Singleton.html">Singleton</a> retrieval.
1220<p>
1221<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>
1222<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>
1223
1224<p>
1225Reimplemented from <a class="el" href="classOgre_1_1Singleton.html#Ogre_1_1Singletone1">Ogre::Singleton&lt; HardwareBufferManager &gt;</a>.    </td>
1226  </tr>
1227</table>
1228<a class="anchor" name="Ogre_1_1HardwareBufferManagerb6" doxytag="Ogre::GLHardwareBufferManager::makeBufferCopy" ></a><p>
1229<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1230  <tr>
1231    <td class="mdRow">
1232      <table cellpadding="0" cellspacing="0" border="0">
1233        <tr>
1234          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> Ogre::HardwareBufferManager::makeBufferCopy </td>
1235          <td class="md" valign="top">(&nbsp;</td>
1236          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> &amp;&nbsp;</td>
1237          <td class="mdname" nowrap> <em>source</em>, </td>
1238        </tr>
1239        <tr>
1240          <td class="md" nowrap align="right"></td>
1241          <td></td>
1242          <td class="md" nowrap><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11">HardwareBuffer::Usage</a>&nbsp;</td>
1243          <td class="mdname" nowrap> <em>usage</em>, </td>
1244        </tr>
1245        <tr>
1246          <td class="md" nowrap align="right"></td>
1247          <td></td>
1248          <td class="md" nowrap>bool&nbsp;</td>
1249          <td class="mdname" nowrap> <em>useShadowBuffer</em></td>
1250        </tr>
1251        <tr>
1252          <td></td>
1253          <td class="md">)&nbsp;</td>
1254          <td class="md" colspan="2"><code> [protected, inherited]</code></td>
1255        </tr>
1256
1257      </table>
1258    </td>
1259  </tr>
1260</table>
1261<table cellspacing=5 cellpadding=0 border=0>
1262  <tr>
1263    <td>
1264      &nbsp;
1265    </td>
1266    <td>
1267
1268<p>
1269Creates a new buffer as a copy of the source, does not copy data.
1270<p>
1271    </td>
1272  </tr>
1273</table>
1274<a class="anchor" name="Ogre_1_1HardwareBufferManagera8" doxytag="Ogre::GLHardwareBufferManager::registerVertexBufferSourceAndCopy" ></a><p>
1275<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1276  <tr>
1277    <td class="mdRow">
1278      <table cellpadding="0" cellspacing="0" border="0">
1279        <tr>
1280          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBufferManager::registerVertexBufferSourceAndCopy </td>
1281          <td class="md" valign="top">(&nbsp;</td>
1282          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> &amp;&nbsp;</td>
1283          <td class="mdname" nowrap> <em>sourceBuffer</em>, </td>
1284        </tr>
1285        <tr>
1286          <td class="md" nowrap align="right"></td>
1287          <td></td>
1288          <td class="md" nowrap>const <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> &amp;&nbsp;</td>
1289          <td class="mdname" nowrap> <em>copy</em></td>
1290        </tr>
1291        <tr>
1292          <td></td>
1293          <td class="md">)&nbsp;</td>
1294          <td class="md" colspan="2"><code> [virtual, inherited]</code></td>
1295        </tr>
1296
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>
1309Registers a vertex buffer as a copy of another.
1310<p>
1311<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>
1312    </td>
1313  </tr>
1314</table>
1315<a class="anchor" name="Ogre_1_1HardwareBufferManagera10" doxytag="Ogre::GLHardwareBufferManager::releaseVertexBufferCopy" ></a><p>
1316<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1317  <tr>
1318    <td class="mdRow">
1319      <table cellpadding="0" cellspacing="0" border="0">
1320        <tr>
1321          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBufferManager::releaseVertexBufferCopy </td>
1322          <td class="md" valign="top">(&nbsp;</td>
1323          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> &amp;&nbsp;</td>
1324          <td class="mdname1" valign="top" nowrap> <em>bufferCopy</em>          </td>
1325          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1326          <td class="md" nowrap><code> [virtual, inherited]</code></td>
1327        </tr>
1328
1329      </table>
1330    </td>
1331  </tr>
1332</table>
1333<table cellspacing=5 cellpadding=0 border=0>
1334  <tr>
1335    <td>
1336      &nbsp;
1337    </td>
1338    <td>
1339
1340<p>
1341Manually release a vertex buffer copy for others to subsequently use.
1342<p>
1343<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>
1344<dl compact><dt><b>Parameters:</b></dt><dd>
1345  <table border="0" cellspacing="2" cellpadding="0">
1346    <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>
1347  </table>
1348</dl>
1349    </td>
1350  </tr>
1351</table>
1352<a class="anchor" name="Ogre_1_1HardwareBufferManagera11" doxytag="Ogre::GLHardwareBufferManager::touchVertexBufferCopy" ></a><p>
1353<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1354  <tr>
1355    <td class="mdRow">
1356      <table cellpadding="0" cellspacing="0" border="0">
1357        <tr>
1358          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBufferManager::touchVertexBufferCopy </td>
1359          <td class="md" valign="top">(&nbsp;</td>
1360          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> &amp;&nbsp;</td>
1361          <td class="mdname1" valign="top" nowrap> <em>bufferCopy</em>          </td>
1362          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1363          <td class="md" nowrap><code> [virtual, inherited]</code></td>
1364        </tr>
1365
1366      </table>
1367    </td>
1368  </tr>
1369</table>
1370<table cellspacing=5 cellpadding=0 border=0>
1371  <tr>
1372    <td>
1373      &nbsp;
1374    </td>
1375    <td>
1376
1377<p>
1378Tell engine that the vertex buffer copy intent to reuse.
1379<p>
1380<dl compact><dt><b>Remarks:</b></dt><dd><a class="el" href="namespaceOgre.html">Ogre</a> internal keep an expired delay counter of BLT_AUTOMATIC_RELEASE buffers, when the counter count down to zero, it'll release for other purposes later. But you can use this function to reset the counter to the internal configured value, keep the buffer not get released for some frames. </dd></dl>
1381<dl compact><dt><b>Parameters:</b></dt><dd>
1382  <table border="0" cellspacing="2" cellpadding="0">
1383    <tr><td valign=top><em>bufferCopy</em>&nbsp;</td><td>The buffer copy. The caller is expected to keep this buffer copy for use. </td></tr>
1384  </table>
1385</dl>
1386    </td>
1387  </tr>
1388</table>
1389<hr><h2>Member Data Documentation</h2>
1390<a class="anchor" name="Ogre_1_1HardwareBufferManagert1" doxytag="Ogre::GLHardwareBufferManager::EXPIRED_DELAY_FRAME_THRESHOLD" ></a><p>
1391<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1392  <tr>
1393    <td class="mdRow">
1394      <table cellpadding="0" cellspacing="0" border="0">
1395        <tr>
1396          <td class="md" nowrap valign="top"> const size_t <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagert1">Ogre::HardwareBufferManager::EXPIRED_DELAY_FRAME_THRESHOLD</a><code> [static, protected, inherited]</code>
1397      </table>
1398    </td>
1399  </tr>
1400</table>
1401<table cellspacing=5 cellpadding=0 border=0>
1402  <tr>
1403    <td>
1404      &nbsp;
1405    </td>
1406    <td>
1407
1408<p>
1409Frame delay for BLT_AUTOMATIC_RELEASE temporary buffers.
1410<p>
1411
1412<p>
1413Definition at line <a class="el" href="OgreHardwareBufferManager_8h-source.html#l00176">176</a> of file <a class="el" href="OgreHardwareBufferManager_8h-source.html">OgreHardwareBufferManager.h</a>.    </td>
1414  </tr>
1415</table>
1416<a class="anchor" name="Ogre_1_1HardwareBufferManagerp4" doxytag="Ogre::GLHardwareBufferManager::mFreeTempVertexBufferMap" ></a><p>
1417<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1418  <tr>
1419    <td class="mdRow">
1420      <table cellpadding="0" cellspacing="0" border="0">
1421        <tr>
1422          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx4">FreeTemporaryVertexBufferMap</a> <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerp4">Ogre::HardwareBufferManager::mFreeTempVertexBufferMap</a><code> [protected, inherited]</code>
1423      </table>
1424    </td>
1425  </tr>
1426</table>
1427<table cellspacing=5 cellpadding=0 border=0>
1428  <tr>
1429    <td>
1430      &nbsp;
1431    </td>
1432    <td>
1433
1434<p>
1435Map of current available temp buffers.
1436<p>
1437
1438<p>
1439Definition at line <a class="el" href="OgreHardwareBufferManager_8h-source.html#l00166">166</a> of file <a class="el" href="OgreHardwareBufferManager_8h-source.html">OgreHardwareBufferManager.h</a>.    </td>
1440  </tr>
1441</table>
1442<a class="anchor" name="Ogre_1_1HardwareBufferManagerp1" doxytag="Ogre::GLHardwareBufferManager::mIndexBuffers" ></a><p>
1443<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1444  <tr>
1445    <td class="mdRow">
1446      <table cellpadding="0" cellspacing="0" border="0">
1447        <tr>
1448          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx1">IndexBufferList</a> <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerp1">Ogre::HardwareBufferManager::mIndexBuffers</a><code> [protected, inherited]</code>
1449      </table>
1450    </td>
1451  </tr>
1452</table>
1453<table cellspacing=5 cellpadding=0 border=0>
1454  <tr>
1455    <td>
1456      &nbsp;
1457    </td>
1458    <td>
1459
1460<p>
1461
1462<p>
1463Definition at line <a class="el" href="OgreHardwareBufferManager_8h-source.html#l00104">104</a> of file <a class="el" href="OgreHardwareBufferManager_8h-source.html">OgreHardwareBufferManager.h</a>.    </td>
1464  </tr>
1465</table>
1466<a class="anchor" name="Ogre_1_1Singletont0" doxytag="Ogre::GLHardwareBufferManager::ms_Singleton" ></a><p>
1467<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1468  <tr>
1469    <td class="mdRow">
1470      <table cellpadding="0" cellspacing="0" border="0">
1471        <tr>
1472          <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>
1473      </table>
1474    </td>
1475  </tr>
1476</table>
1477<table cellspacing=5 cellpadding=0 border=0>
1478  <tr>
1479    <td>
1480      &nbsp;
1481    </td>
1482    <td>
1483
1484<p>
1485
1486<p>
1487Definition 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>
1488  </tr>
1489</table>
1490<a class="anchor" name="Ogre_1_1HardwareBufferManagerp5" doxytag="Ogre::GLHardwareBufferManager::mTempVertexBufferLicenses" ></a><p>
1491<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1492  <tr>
1493    <td class="mdRow">
1494      <table cellpadding="0" cellspacing="0" border="0">
1495        <tr>
1496          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx5">TemporaryVertexBufferLicenseMap</a> <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerp5">Ogre::HardwareBufferManager::mTempVertexBufferLicenses</a><code> [protected, inherited]</code>
1497      </table>
1498    </td>
1499  </tr>
1500</table>
1501<table cellspacing=5 cellpadding=0 border=0>
1502  <tr>
1503    <td>
1504      &nbsp;
1505    </td>
1506    <td>
1507
1508<p>
1509Map of currently licensed temporary buffers.
1510<p>
1511
1512<p>
1513Definition at line <a class="el" href="OgreHardwareBufferManager_8h-source.html#l00170">170</a> of file <a class="el" href="OgreHardwareBufferManager_8h-source.html">OgreHardwareBufferManager.h</a>.    </td>
1514  </tr>
1515</table>
1516<a class="anchor" name="Ogre_1_1HardwareBufferManagerp6" doxytag="Ogre::GLHardwareBufferManager::mUnderUsedFrameCount" ></a><p>
1517<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1518  <tr>
1519    <td class="mdRow">
1520      <table cellpadding="0" cellspacing="0" border="0">
1521        <tr>
1522          <td class="md" nowrap valign="top"> size_t <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerp6">Ogre::HardwareBufferManager::mUnderUsedFrameCount</a><code> [protected, inherited]</code>
1523      </table>
1524    </td>
1525  </tr>
1526</table>
1527<table cellspacing=5 cellpadding=0 border=0>
1528  <tr>
1529    <td>
1530      &nbsp;
1531    </td>
1532    <td>
1533
1534<p>
1535Number of frames elapsed since temporary buffers utilization was above half the available.
1536<p>
1537
1538<p>
1539Definition at line <a class="el" href="OgreHardwareBufferManager_8h-source.html#l00172">172</a> of file <a class="el" href="OgreHardwareBufferManager_8h-source.html">OgreHardwareBufferManager.h</a>.    </td>
1540  </tr>
1541</table>
1542<a class="anchor" name="Ogre_1_1HardwareBufferManagerp3" doxytag="Ogre::GLHardwareBufferManager::mVertexBufferBindings" ></a><p>
1543<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1544  <tr>
1545    <td class="mdRow">
1546      <table cellpadding="0" cellspacing="0" border="0">
1547        <tr>
1548          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx3">VertexBufferBindingList</a> <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerp3">Ogre::HardwareBufferManager::mVertexBufferBindings</a><code> [protected, inherited]</code>
1549      </table>
1550    </td>
1551  </tr>
1552</table>
1553<table cellspacing=5 cellpadding=0 border=0>
1554  <tr>
1555    <td>
1556      &nbsp;
1557    </td>
1558    <td>
1559
1560<p>
1561
1562<p>
1563Definition at line <a class="el" href="OgreHardwareBufferManager_8h-source.html#l00110">110</a> of file <a class="el" href="OgreHardwareBufferManager_8h-source.html">OgreHardwareBufferManager.h</a>.    </td>
1564  </tr>
1565</table>
1566<a class="anchor" name="Ogre_1_1HardwareBufferManagerp0" doxytag="Ogre::GLHardwareBufferManager::mVertexBuffers" ></a><p>
1567<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1568  <tr>
1569    <td class="mdRow">
1570      <table cellpadding="0" cellspacing="0" border="0">
1571        <tr>
1572          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx0">VertexBufferList</a> <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerp0">Ogre::HardwareBufferManager::mVertexBuffers</a><code> [protected, inherited]</code>
1573      </table>
1574    </td>
1575  </tr>
1576</table>
1577<table cellspacing=5 cellpadding=0 border=0>
1578  <tr>
1579    <td>
1580      &nbsp;
1581    </td>
1582    <td>
1583
1584<p>
1585
1586<p>
1587Definition 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>
1588  </tr>
1589</table>
1590<a class="anchor" name="Ogre_1_1HardwareBufferManagerp2" doxytag="Ogre::GLHardwareBufferManager::mVertexDeclarations" ></a><p>
1591<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1592  <tr>
1593    <td class="mdRow">
1594      <table cellpadding="0" cellspacing="0" border="0">
1595        <tr>
1596          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerx2">VertexDeclarationList</a> <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagerp2">Ogre::HardwareBufferManager::mVertexDeclarations</a><code> [protected, inherited]</code>
1597      </table>
1598    </td>
1599  </tr>
1600</table>
1601<table cellspacing=5 cellpadding=0 border=0>
1602  <tr>
1603    <td>
1604      &nbsp;
1605    </td>
1606    <td>
1607
1608<p>
1609
1610<p>
1611Definition at line <a class="el" href="OgreHardwareBufferManager_8h-source.html#l00109">109</a> of file <a class="el" href="OgreHardwareBufferManager_8h-source.html">OgreHardwareBufferManager.h</a>.    </td>
1612  </tr>
1613</table>
1614<a class="anchor" name="Ogre_1_1HardwareBufferManagert0" doxytag="Ogre::GLHardwareBufferManager::UNDER_USED_FRAME_THRESHOLD" ></a><p>
1615<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1616  <tr>
1617    <td class="mdRow">
1618      <table cellpadding="0" cellspacing="0" border="0">
1619        <tr>
1620          <td class="md" nowrap valign="top"> const size_t <a class="el" href="classOgre_1_1HardwareBufferManager.html#Ogre_1_1HardwareBufferManagert0">Ogre::HardwareBufferManager::UNDER_USED_FRAME_THRESHOLD</a><code> [static, protected, inherited]</code>
1621      </table>
1622    </td>
1623  </tr>
1624</table>
1625<table cellspacing=5 cellpadding=0 border=0>
1626  <tr>
1627    <td>
1628      &nbsp;
1629    </td>
1630    <td>
1631
1632<p>
1633Number of frames to wait before free unused temporary buffers.
1634<p>
1635
1636<p>
1637Definition at line <a class="el" href="OgreHardwareBufferManager_8h-source.html#l00174">174</a> of file <a class="el" href="OgreHardwareBufferManager_8h-source.html">OgreHardwareBufferManager.h</a>.    </td>
1638  </tr>
1639</table>
1640<hr>The documentation for this class was generated from the following file:<ul>
1641<li><a class="el" href="OgreGLHardwareBufferManager_8h-source.html">OgreGLHardwareBufferManager.h</a></ul>
1642<hr>
1643<p>
1644Copyright &copy; 2000-2005 by The OGRE Team<br />
1645<!--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/>
1646This 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/>
1647                <!--/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#">
1648                <Work rdf:about="">
1649                        <license rdf:resource="http://creativecommons.org/licenses/by-sa/2.5/" />
1650        <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
1651                </Work>
1652                <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> -->
1653
1654Last modified Sun Mar 12 14:52:36 2006
1655</p>
1656</body>
1657</html>
Note: See TracBrowser for help on using the repository browser.