forked from metin2/client
41 lines
808 B
C
41 lines
808 B
C
|
#pragma once
|
||
|
|
||
|
#include "GrpBase.h"
|
||
|
|
||
|
class CGraphicIndexBuffer : public CGraphicBase
|
||
|
{
|
||
|
public:
|
||
|
CGraphicIndexBuffer();
|
||
|
virtual ~CGraphicIndexBuffer();
|
||
|
|
||
|
void Destroy();
|
||
|
bool Create(int idxCount, D3DFORMAT d3dFmt);
|
||
|
bool Create(int faceCount, TFace* faces);
|
||
|
|
||
|
bool CreateDeviceObjects();
|
||
|
void DestroyDeviceObjects();
|
||
|
|
||
|
bool Copy(int bufSize, const void* srcIndices);
|
||
|
|
||
|
bool Lock(void** pretIndices) const;
|
||
|
void Unlock() const;
|
||
|
|
||
|
bool Lock(void** pretIndices);
|
||
|
void Unlock();
|
||
|
|
||
|
void SetIndices(int startIndex=0) const;
|
||
|
|
||
|
LPDIRECT3DINDEXBUFFER8 GetD3DIndexBuffer() const;
|
||
|
|
||
|
int GetIndexCount() const {return m_iidxCount;}
|
||
|
|
||
|
protected:
|
||
|
void Initialize();
|
||
|
|
||
|
protected:
|
||
|
LPDIRECT3DINDEXBUFFER8 m_lpd3dIdxBuf;
|
||
|
DWORD m_dwBufferSize;
|
||
|
D3DFORMAT m_d3dFmt;
|
||
|
int m_iidxCount;
|
||
|
};
|