Main Page   Class Hierarchy   Compound List   File List   Compound Members  

D3DVertexBuffer.h

00001 
00002 #ifndef __D3D8VERTEXBUFFER_H_
00003 #define __D3D8VERTEXBUFFER_H_
00004 
00005 
00006 #include <windows.h>
00007 #include <d3d8.h>
00008 #include <d3dx8.h>
00009 
00010 #include "..\vbInterface.h"
00011 
00016 struct CUSTOM_VERTEX {
00017 
00018         D3DXVECTOR3 vecPos;  
00019         DWORD           dwColor; 
00020         FLOAT       u, v;    
00021 };
00022 
00023 //(v1.3)
00024 //modified the D3DFVF parameters for our vertex format
00025 //#define D3DFVF_CUSTOM_VERTEX ( D3DFVF_XYZ | D3DFVF_DIFFUSE )
00026 #define D3DFVF_CUSTOM_VERTEX ( D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_TEX1 )
00027 
00033 class D3DVertexBuffer : public vbInterface {
00034 
00035 protected:
00036 
00037         UINT m_iVertexSize;              
00038         UINT m_iVertexLimit;             
00039         UINT  m_iVerticesInBuffer;       
00040         BOOL m_bIsLocked;                
00041         CUSTOM_VERTEX *m_pVertices;      
00042         LPDIRECT3DVERTEXBUFFER8 m_lpVB;  
00044         LPDIRECT3DDEVICE8 m_lpD3DDevice; 
00048 public:
00052         D3DVertexBuffer();
00053         
00057         ~D3DVertexBuffer();
00058 
00068         HRESULT createVB(int, VOID*);
00069 
00076         void destroyVB(void);
00077 
00085         HRESULT lockVB(void);
00086 
00095         void unlockVB(void);
00096 
00111         void addTriToVB(D3DXVECTOR3 pos,
00112                 FLOAT r, FLOAT g, FLOAT b, FLOAT a);
00113 
00121     void flushVB(void);
00122 
00134         void addTriToVB(D3DXVECTOR3, FLOAT, FLOAT, FLOAT, FLOAT, D3DXVECTOR2);
00135 
00136 
00137 
00138 };
00139 
00140 #endif

Generated on Thu Jul 3 07:23:27 2003 for GameFramework by doxygen 1.3.1