Interface to a Big block of AGP memory either throurgh NVVertexArrayRange or ATIVertexObject. More...
#include <driver_opengl_vertex_buffer_hard.h>
Inherited by NL3D::CVertexArrayRangeARB, NL3D::CVertexArrayRangeATI, NL3D::CVertexArrayRangeMapObjectATI, and NL3D::CVertexArrayRangeNVidia.
Public Member Functions | |
| IVertexArrayRange (CDriverGL *drv) | |
| virtual | ~IVertexArrayRange () |
| virtual bool | allocate (uint32 size, CVertexBuffer::TPreferredMemory vbType)=0 |
| allocate a vertex array space. false if error. client must free before re-allocate. | |
| virtual void | free ()=0 |
| free this space. | |
| virtual IVertexBufferHardGL * | createVBHardGL (uint size, CVertexBuffer *vb)=0 |
| create a IVertexBufferHardGL | |
| virtual uint | sizeAllocated () const =0 |
| return the size allocated. 0 if not allocated or failure | |
| virtual void | updateLostBuffers () |
| CDriverGL * | getDriver () const |
Protected Attributes | |
| CDriverGL * | _Driver |
Interface to a Big block of AGP memory either throurgh NVVertexArrayRange or ATIVertexObject.
Definition at line 54 of file driver_opengl_vertex_buffer_hard.h.
| NL3D::IVertexArrayRange::IVertexArrayRange | ( | CDriverGL * | drv | ) |
Definition at line 53 of file driver_opengl_vertex_buffer_hard.cpp.
References _Driver, and H_AUTO_OGL.
| NL3D::IVertexArrayRange::~IVertexArrayRange | ( | ) | [virtual] |
Definition at line 59 of file driver_opengl_vertex_buffer_hard.cpp.
References H_AUTO_OGL.
| virtual bool NL3D::IVertexArrayRange::allocate | ( | uint32 | size, | |
| CVertexBuffer::TPreferredMemory | vbType | |||
| ) | [pure virtual] |
allocate a vertex array space. false if error. client must free before re-allocate.
Implemented in NL3D::CVertexArrayRangeNVidia, NL3D::CVertexArrayRangeATI, NL3D::CVertexArrayRangeMapObjectATI, and NL3D::CVertexArrayRangeARB.
Referenced by NL3D::CDriverGL::initVertexBufferHard().
| virtual IVertexBufferHardGL* NL3D::IVertexArrayRange::createVBHardGL | ( | uint | size, | |
| CVertexBuffer * | vb | |||
| ) | [pure virtual] |
create a IVertexBufferHardGL
Implemented in NL3D::CVertexArrayRangeNVidia, NL3D::CVertexArrayRangeATI, NL3D::CVertexArrayRangeMapObjectATI, and NL3D::CVertexArrayRangeARB.
Referenced by NL3D::CDriverGL::createVertexBufferHard().
| virtual void NL3D::IVertexArrayRange::free | ( | ) | [pure virtual] |
free this space.
Implemented in NL3D::CVertexArrayRangeNVidia, NL3D::CVertexArrayRangeATI, NL3D::CVertexArrayRangeMapObjectATI, and NL3D::CVertexArrayRangeARB.
Referenced by NL3D::CDriverGL::resetVertexArrayRange().
| CDriverGL* NL3D::IVertexArrayRange::getDriver | ( | void | ) | const [inline] |
Definition at line 71 of file driver_opengl_vertex_buffer_hard.h.
References _Driver.
| virtual uint NL3D::IVertexArrayRange::sizeAllocated | ( | ) | const [pure virtual] |
return the size allocated. 0 if not allocated or failure
Implemented in NL3D::CVertexArrayRangeNVidia, NL3D::CVertexArrayRangeATI, NL3D::CVertexArrayRangeMapObjectATI, and NL3D::CVertexArrayRangeARB.
Referenced by NL3D::CDriverGL::getAvailableVertexAGPMemory(), and NL3D::CDriverGL::getAvailableVertexVRAMMemory().
| virtual void NL3D::IVertexArrayRange::updateLostBuffers | ( | ) | [inline, virtual] |
Reimplemented in NL3D::CVertexArrayRangeMapObjectATI, and NL3D::CVertexArrayRangeARB.
Definition at line 69 of file driver_opengl_vertex_buffer_hard.h.
Referenced by NL3D::CDriverGL::swapBuffers().
CDriverGL* NL3D::IVertexArrayRange::_Driver [protected] |
Definition at line 77 of file driver_opengl_vertex_buffer_hard.h.
Referenced by NL3D::CVertexArrayRangeMapObjectATI::allocate(), NL3D::CVertexArrayRangeATI::allocate(), NL3D::CVertexArrayRangeNVidia::allocate(), NL3D::CVertexArrayRangeARB::createVBHardGL(), NL3D::CVertexArrayRangeMapObjectATI::createVBHardGL(), NL3D::CVertexArrayRangeATI::createVBHardGL(), NL3D::CVertexArrayRangeNVidia::createVBHardGL(), NL3D::CVertexArrayRangeARB::disable(), NL3D::CVertexArrayRangeATI::disable(), NL3D::CVertexArrayRangeNVidia::disable(), NL3D::CVertexArrayRangeARB::enable(), NL3D::CVertexArrayRangeATI::enable(), NL3D::CVertexArrayRangeNVidia::enable(), getDriver(), IVertexArrayRange(), NL3D::CVertexArrayRangeARB::updateLostBuffers(), and NL3D::CVertexArrayRangeMapObjectATI::updateLostBuffers().
1.6.1