My Project
DynamicVertexBufferEntityDirectX.h
1 #pragma once
2 #include "AssetEntity.h"
3 #include "DynamicVertexBufferEntity.h"
4 
5 namespace ParaEngine
6 {
12  {
13  private:
14  IDirect3DVertexBuffer9* m_lpVB;
15 
16  public:
20  DWORD m_dwBase;
22  DWORD m_dwNextBase;
24  DWORD m_dwFlush;
26  DWORD m_dwDiscard;
28  uint32 m_nUnitSize;
29 
30  public:
31  uint32 Lock(uint32 nSize, void** pVertices);
32  void Unlock();
33  IDirect3DVertexBuffer9* GetBuffer();
34  DWORD GetBaseVertex();
35 
37  virtual bool IsMemoryBuffer();
38  void* GetBaseVertexPointer();
39 
42 
43  virtual HRESULT RestoreDeviceObjects();
44  virtual HRESULT InvalidateDeviceObjects();
45  };
46 
48 
49 }
uint32 m_nUnitSize
sizeof(custom vertex)
Definition: DynamicVertexBufferEntityDirectX.h:28
different physics engine has different winding order.
Definition: EventBinding.h:32
simple scoped lock function
Definition: mutex.h:12
When use DirectX, this is a real dynamic vertex buffer for rendering dynamic mesh When use OpenGL...
Definition: DynamicVertexBufferEntityDirectX.h:11
DWORD m_dwDataFormat
Definition: DynamicVertexBufferEntityDirectX.h:18
DWORD m_dwBase
current base or start of the unused space
Definition: DynamicVertexBufferEntityDirectX.h:20
virtual bool IsMemoryBuffer()
whether we are using system memory as dynamic vertex buffer.
DWORD m_dwNextBase
current base or start of the unused space
Definition: DynamicVertexBufferEntityDirectX.h:22
DWORD m_dwDiscard
size of the buffer
Definition: DynamicVertexBufferEntityDirectX.h:26
DWORD m_dwFlush
must flush after reaching this size
Definition: DynamicVertexBufferEntityDirectX.h:24
Base class for managed asset entity in ParaEngine.
Definition: AssetEntity.h:25