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;
|
|
};
|