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

Revision 692, 89.3 KB checked in by mattausch, 19 years ago (diff)

adding ogre 1.2 and dependencies

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