Work only if ARRAY_RANGE_NV is enabled. More...
#include <driver_opengl_vertex_buffer_hard.h>
Inherits NL3D::IVertexBufferHardGL.
Public Member Functions | |
| CVertexBufferHardGLATI (CDriverGL *drv, CVertexBuffer *vb) | |
| virtual | ~CVertexBufferHardGLATI () |
| bool | createRAMMirror (uint memSize) |
| try to create a RAM mirror that 'll contain a copy of the VB. | |
| void | initGL (CVertexArrayRangeATI *var, void *vertexPtr) |
| 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) |
Private Attributes | |
| CVertexArrayRangeATI * | _VertexArrayRange |
| void * | _VertexPtr |
| void * | _RAMMirrorVertexPtr |
| uint | _RAMMirrorVertexSize |
Work only if ARRAY_RANGE_NV is enabled.
Definition at line 308 of file driver_opengl_vertex_buffer_hard.h.
| NL3D::CVertexBufferHardGLATI::CVertexBufferHardGLATI | ( | CDriverGL * | drv, | |
| CVertexBuffer * | vb | |||
| ) |
Definition at line 618 of file driver_opengl_vertex_buffer_hard.cpp.
References _RAMMirrorVertexPtr, _RAMMirrorVertexSize, _VertexArrayRange, _VertexPtr, NL3D::IVertexBufferHardGL::ATIVB, H_AUTO_OGL, and NL3D::IVertexBufferHardGL::VBType.
| NL3D::CVertexBufferHardGLATI::~CVertexBufferHardGLATI | ( | ) | [virtual] |
Definition at line 632 of file driver_opengl_vertex_buffer_hard.cpp.
References _RAMMirrorVertexPtr, _RAMMirrorVertexSize, _VertexArrayRange, _VertexPtr, NL3D::CVertexArrayRangeATI::freeVB(), and H_AUTO_OGL.
try to create a RAM mirror that 'll contain a copy of the VB.
Definition at line 653 of file driver_opengl_vertex_buffer_hard.cpp.
References _RAMMirrorVertexPtr, _RAMMirrorVertexSize, and H_AUTO_OGL.
Referenced by NL3D::CVertexArrayRangeATI::createVBHardGL().
| void NL3D::CVertexBufferHardGLATI::disable | ( | ) | [virtual] |
Implements NL3D::IVertexBufferHardGL.
Definition at line 751 of file driver_opengl_vertex_buffer_hard.cpp.
References NL3D::CDriverGL::_CurrentVertexBufferHard, NL3D::IVertexBufferHardGL::_Driver, _VertexArrayRange, NL3D::CVertexArrayRangeATI::disable(), H_AUTO_OGL, and nlassert.
| void NL3D::CVertexBufferHardGLATI::enable | ( | ) | [virtual] |
Implements NL3D::IVertexBufferHardGL.
Definition at line 738 of file driver_opengl_vertex_buffer_hard.cpp.
References NL3D::CDriverGL::_CurrentVertexBufferHard, NL3D::IVertexBufferHardGL::_Driver, _VertexArrayRange, NL3D::CVertexArrayRangeATI::enable(), H_AUTO_OGL, and nlassert.
| uint NL3D::CVertexBufferHardGLATI::getATIVertexObjectId | ( | ) | const [inline] |
get Handle of the ATI buffer.
Definition at line 340 of file driver_opengl_vertex_buffer_hard.h.
References _VertexArrayRange, and NL3D::CVertexArrayRangeATI::getATIVertexObjectId().
Referenced by setupVBInfos(), and unlock().
| void * NL3D::CVertexBufferHardGLATI::getPointer | ( | void | ) | [virtual] |
Implements NL3D::IVertexBufferHardGL.
Definition at line 731 of file driver_opengl_vertex_buffer_hard.cpp.
References _VertexPtr, H_AUTO_OGL, and NL3D_DRV_ATI_FAKE_MEM_START.
| void NL3D::CVertexBufferHardGLATI::initGL | ( | CVertexArrayRangeATI * | var, | |
| void * | vertexPtr | |||
| ) |
setup ptrs allocated by createVBHard()
Definition at line 676 of file driver_opengl_vertex_buffer_hard.cpp.
References _VertexArrayRange, _VertexPtr, and H_AUTO_OGL.
Referenced by NL3D::CVertexArrayRangeATI::createVBHardGL().
| void * NL3D::CVertexBufferHardGLATI::lock | ( | ) | [virtual] |
Implements NL3D::IVertexBufferHardGL.
Definition at line 685 of file driver_opengl_vertex_buffer_hard.cpp.
References _RAMMirrorVertexPtr, and H_AUTO_OGL.
| void NL3D::CVertexBufferHardGLATI::lockHintStatic | ( | bool | staticLock | ) | [virtual] |
Definition at line 763 of file driver_opengl_vertex_buffer_hard.cpp.
References H_AUTO_OGL.
| void NL3D::CVertexBufferHardGLATI::setupVBInfos | ( | CVertexBufferInfo & | vb | ) | [virtual] |
Implements NL3D::IVertexBufferHardGL.
Definition at line 771 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 704 of file driver_opengl_vertex_buffer_hard.cpp.
References _RAMMirrorVertexPtr, _VertexPtr, getATIVertexObjectId(), NL3D::CVertexBuffer::getNumVertices(), NL3D::CVertexBuffer::getVertexSize(), GL_PRESERVE_ATI, H_AUTO_OGL, nglUpdateObjectBufferATI, NL3D_DRV_ATI_FAKE_MEM_START, unlock(), and NL3D::IVertexBufferHardGL::VB.
| void NL3D::CVertexBufferHardGLATI::unlock | ( | ) | [virtual] |
Implements NL3D::IVertexBufferHardGL.
Definition at line 694 of file driver_opengl_vertex_buffer_hard.cpp.
References _RAMMirrorVertexPtr, _RAMMirrorVertexSize, _VertexPtr, getATIVertexObjectId(), GL_PRESERVE_ATI, H_AUTO_OGL, nglUpdateObjectBufferATI, and NL3D_DRV_ATI_FAKE_MEM_START.
Referenced by unlock().
void* NL3D::CVertexBufferHardGLATI::_RAMMirrorVertexPtr [private] |
Definition at line 347 of file driver_opengl_vertex_buffer_hard.h.
Referenced by createRAMMirror(), CVertexBufferHardGLATI(), lock(), unlock(), and ~CVertexBufferHardGLATI().
Definition at line 348 of file driver_opengl_vertex_buffer_hard.h.
Referenced by createRAMMirror(), CVertexBufferHardGLATI(), unlock(), and ~CVertexBufferHardGLATI().
Definition at line 345 of file driver_opengl_vertex_buffer_hard.h.
Referenced by CVertexBufferHardGLATI(), disable(), enable(), getATIVertexObjectId(), initGL(), and ~CVertexBufferHardGLATI().
void* NL3D::CVertexBufferHardGLATI::_VertexPtr [private] |
Definition at line 346 of file driver_opengl_vertex_buffer_hard.h.
Referenced by CVertexBufferHardGLATI(), getPointer(), initGL(), unlock(), and ~CVertexBufferHardGLATI().
1.6.1