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

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

adding ogre 1.2 and dependencies

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