vb hard using the ATI_map_object_buffer extension. More...
#include <driver_opengl_vertex_buffer_hard.h>
Inherits NL3D::IVertexBufferHardGL.
Public Member Functions | |
| CVertexBufferHardGLMapObjectATI (CDriverGL *drv, CVertexBuffer *vb) | |
| virtual | ~CVertexBufferHardGLMapObjectATI () |
| void | initGL (CVertexArrayRangeMapObjectATI *var, uint vertexObjectID) |
| setup ptrs allocated by createVBHard() | |
| uint | getATIVertexObjectId () const |
| get Handle of the ATI buffer. | |
Implementation | |
| virtual void * | lock () |
| virtual void | unlock () |
| virtual void | unlock (uint start, uint end) |
| virtual void * | getPointer () |
| virtual void | enable () |
| virtual void | disable () |
| virtual void | lockHintStatic (bool staticLock) |
| virtual void | setupVBInfos (CVertexBufferInfo &vb) |
Public Attributes | |
| std::list < CVertexBufferHardGLMapObjectATI * > ::iterator | _IteratorInLostVBList |
| uint | _VertexObjectId |
Private Member Functions | |
| void | invalidate () |
Private Attributes | |
| void * | _VertexPtr |
| CVertexArrayRangeMapObjectATI * | _VertexArrayRange |
| std::vector< uint8 > | _DummyVB |
vb hard using the ATI_map_object_buffer extension.
Buffer are kept separate rather than managed in a heap
Definition at line 416 of file driver_opengl_vertex_buffer_hard.h.
| NL3D::CVertexBufferHardGLMapObjectATI::CVertexBufferHardGLMapObjectATI | ( | CDriverGL * | drv, | |
| CVertexBuffer * | vb | |||
| ) |
Definition at line 899 of file driver_opengl_vertex_buffer_hard.cpp.
References NL3D::IVertexBufferHardGL::ATIMapObjectVB, H_AUTO_OGL, and NL3D::IVertexBufferHardGL::VBType.
| NL3D::CVertexBufferHardGLMapObjectATI::~CVertexBufferHardGLMapObjectATI | ( | ) | [virtual] |
Definition at line 910 of file driver_opengl_vertex_buffer_hard.cpp.
References NL3D::IVertexBufferHardGL::_Invalid, _IteratorInLostVBList, NL3D::CVertexArrayRangeMapObjectATI::_LostVBList, _VertexArrayRange, _VertexObjectId, _VertexPtr, NL3D::CVertexBuffer::getLocation(), H_AUTO_OGL, nglDeleteObjectBufferATI, NL3D::CVertexBuffer::NotResident, and NL3D::IVertexBufferHardGL::VB.
| void NL3D::CVertexBufferHardGLMapObjectATI::disable | ( | ) | [virtual] |
Implements NL3D::IVertexBufferHardGL.
Definition at line 1056 of file driver_opengl_vertex_buffer_hard.cpp.
References NL3D::CDriverGL::_CurrentVertexBufferHard, NL3D::IVertexBufferHardGL::_Driver, and H_AUTO_OGL.
| void NL3D::CVertexBufferHardGLMapObjectATI::enable | ( | ) | [virtual] |
Implements NL3D::IVertexBufferHardGL.
Definition at line 1044 of file driver_opengl_vertex_buffer_hard.cpp.
References NL3D::CDriverGL::_CurrentVertexBufferHard, NL3D::IVertexBufferHardGL::_Driver, and H_AUTO_OGL.
| uint NL3D::CVertexBufferHardGLMapObjectATI::getATIVertexObjectId | ( | ) | const [inline] |
get Handle of the ATI buffer.
Definition at line 444 of file driver_opengl_vertex_buffer_hard.h.
References _VertexObjectId.
Referenced by setupVBInfos().
| void * NL3D::CVertexBufferHardGLMapObjectATI::getPointer | ( | void | ) | [virtual] |
Implements NL3D::IVertexBufferHardGL.
Definition at line 1030 of file driver_opengl_vertex_buffer_hard.cpp.
References _VertexPtr, and H_AUTO_OGL.
| void NL3D::CVertexBufferHardGLMapObjectATI::initGL | ( | CVertexArrayRangeMapObjectATI * | var, | |
| uint | vertexObjectID | |||
| ) |
setup ptrs allocated by createVBHard()
Definition at line 1068 of file driver_opengl_vertex_buffer_hard.cpp.
References _VertexArrayRange, _VertexObjectId, and H_AUTO_OGL.
Referenced by NL3D::CVertexArrayRangeMapObjectATI::createVBHardGL().
| void NL3D::CVertexBufferHardGLMapObjectATI::invalidate | ( | ) | [private] |
Definition at line 993 of file driver_opengl_vertex_buffer_hard.cpp.
References NL3D::IVertexBufferHardGL::_Driver, _DummyVB, NL3D::IVertexBufferHardGL::_Invalid, _IteratorInLostVBList, NL3D::CVertexArrayRangeMapObjectATI::_LostVBList, _VertexArrayRange, NL3D::CVertexBuffer::getNumVertices(), NL3D::CVertexBuffer::getVertexSize(), H_AUTO_OGL, NL3D::CDriverGL::incrementResetCounter(), nlassert, and NL3D::IVertexBufferHardGL::VB.
Referenced by lock().
| void * NL3D::CVertexBufferHardGLMapObjectATI::lock | ( | ) | [virtual] |
Implements NL3D::IVertexBufferHardGL.
Definition at line 934 of file driver_opengl_vertex_buffer_hard.cpp.
References NL3D::IVertexBufferHardGL::_Driver, _DummyVB, NL3D::IVertexBufferHardGL::_Invalid, _IteratorInLostVBList, NL3D::CVertexArrayRangeMapObjectATI::_LostVBList, _VertexArrayRange, _VertexObjectId, _VertexPtr, NL3D::CVertexBuffer::AGPPreferred, NLMISC::contReset(), NL3D::CVertexBuffer::getLocation(), NL3D::CVertexBuffer::getNumVertices(), NL3D::IDriver::getStaticMemoryToVRAM(), NL3D::CVertexArrayRangeMapObjectATI::getVBType(), NL3D::CVertexBuffer::getVertexSize(), GL_DYNAMIC_ATI, GL_STATIC_ATI, H_AUTO_OGL, NL3D::CDriverGL::incrementResetCounter(), invalidate(), nglIsObjectBufferATI, nglMapObjectBufferATI, nglNewObjectBufferATI, nglUnmapObjectBufferATI, nlassert, NL3D::CVertexBuffer::NotResident, NL3D::CVertexBuffer::StaticPreferred, and NL3D::IVertexBufferHardGL::VB.
| void NL3D::CVertexBufferHardGLMapObjectATI::lockHintStatic | ( | bool | staticLock | ) | [virtual] |
Definition at line 1076 of file driver_opengl_vertex_buffer_hard.cpp.
References H_AUTO_OGL.
| void NL3D::CVertexBufferHardGLMapObjectATI::setupVBInfos | ( | CVertexBufferInfo & | vb | ) | [virtual] |
Implements NL3D::IVertexBufferHardGL.
Definition at line 1083 of file driver_opengl_vertex_buffer_hard.cpp.
References getATIVertexObjectId(), H_AUTO_OGL, NL3D::CVertexBufferInfo::HwATI, NL3D::CVertexBufferInfo::VBMode, and NL3D::CVertexBufferInfo::VertexObjectId.
Implements NL3D::IVertexBufferHardGL.
Definition at line 1037 of file driver_opengl_vertex_buffer_hard.cpp.
References H_AUTO_OGL, and unlock().
| void NL3D::CVertexBufferHardGLMapObjectATI::unlock | ( | ) | [virtual] |
Implements NL3D::IVertexBufferHardGL.
Definition at line 1008 of file driver_opengl_vertex_buffer_hard.cpp.
References NL3D::IVertexBufferHardGL::_Invalid, _VertexArrayRange, _VertexObjectId, _VertexPtr, H_AUTO_OGL, and nglUnmapObjectBufferATI.
Referenced by unlock().
std::vector<uint8> NL3D::CVertexBufferHardGLMapObjectATI::_DummyVB [private] |
Definition at line 452 of file driver_opengl_vertex_buffer_hard.h.
Referenced by invalidate(), and lock().
| std::list<CVertexBufferHardGLMapObjectATI *>::iterator NL3D::CVertexBufferHardGLMapObjectATI::_IteratorInLostVBList |
Definition at line 457 of file driver_opengl_vertex_buffer_hard.h.
Referenced by invalidate(), lock(), and ~CVertexBufferHardGLMapObjectATI().
Definition at line 450 of file driver_opengl_vertex_buffer_hard.h.
Referenced by initGL(), invalidate(), lock(), unlock(), and ~CVertexBufferHardGLMapObjectATI().
Definition at line 458 of file driver_opengl_vertex_buffer_hard.h.
Referenced by getATIVertexObjectId(), initGL(), lock(), unlock(), and ~CVertexBufferHardGLMapObjectATI().
void* NL3D::CVertexBufferHardGLMapObjectATI::_VertexPtr [private] |
Definition at line 449 of file driver_opengl_vertex_buffer_hard.h.
Referenced by getPointer(), lock(), unlock(), and ~CVertexBufferHardGLMapObjectATI().
1.6.1