DragonNest/Common/EternityEngine/D3DDevice9/EtCustomMeshStream.h
Cussrro 47f7895977 Revert "修复编码问题"
This reverts commit 9e69c01767.
2024-12-21 10:04:04 +08:00

46 lines
1.2 KiB
C++

#pragma once
class CEtCustomMeshStream
{
public:
CEtCustomMeshStream(void);
virtual ~CEtCustomMeshStream(void);
protected:
EtVertexBuffer *m_pVB;
char *m_pLockedVB;
EtIndexBuffer *m_pIB;
WORD *m_pwLockedIB;
int m_nIndexCount;
int m_nVertexCount;
int m_nStride;
int m_nVertexBufferSize;
int m_nIndexBufferSize;
PrimitiveType m_Type;
public:
void Clear();
void MakeEmpty() { m_nVertexCount = 0; m_nIndexCount = 0; }
int GetVertexCount() { return m_nVertexCount; }
int GetIndexCount() { return m_nIndexCount; }
void SetPrimitiveType( PrimitiveType Type ) { m_Type = Type; }
PrimitiveType GetPrimitiveType() { return m_Type; }
char *LockVB();
void UnlockVB();
bool IsLockedVB() { return m_pLockedVB != NULL; }
void ReleaseVB();
WORD *LockIB();
void UnlockIB();
bool IsLockedIB() { return m_pwLockedIB != NULL; }
void ReleaseIB();
void LoadVertexStream( CStream *pStream, int nVertexCount, int nStride);
void AddVertexStream( CStream *pStream, int nVertexCount, int nStride);
void LoadIndexStream( CStream *pStream, int nIndexCount );
void AddIndexStream( CStream *pStream, int nIndexCount );
void Draw( int nVertexDeclIndex, int nDrawStart = 0, int nDrawCount = 0 );
};