Files
Leviathan/Client/Game/engine/TerrainEngine/TerrainCustomTexturePrimitive.h
T
2026-06-01 12:46:52 +02:00

44 lines
1.2 KiB
C++

#pragma once
#include "KPrimitive.h"
class CTerrainCustomTexturePrimitive : public K3DPrimitive
{
public:
CTerrainCustomTexturePrimitive(K3DVertexBuffer* pVertexBuffer,K3DIndexBuffer* pIndexBuffer, K3DVertex vtWorldTransform )
: m_pVB( pVertexBuffer )
, m_spIB( pIndexBuffer )
, m_bIsValid(false)
{
m_type = KPRIMITIVE_TERRAIN;
//K3DMatrixIdentity( m_matWorldTransform );
//m_matWorldTransform.SetPosVector( vtWorldTransform );
m_RootMat.SetPosVector( vtWorldTransform );
}
void SetValid( bool bIsValid ) { m_bIsValid = bIsValid; }
bool IsValid() const { return m_bIsValid; }
virtual void Render( KViewportObject *viewport, class K3DRenderDevice *dev, bool bUseAccum = true )
{
//dev->SetTransform( K3DRenderDevice::TS_WORLD, &m_matWorldTransform );
dev->SetTransform( K3DRenderDevice::TS_WORLD, &m_RootMat );
dev->SetTexture( 2, NULL );
dev->SetTexture( 3, NULL );
dev->SetVertexShader(VTXDECLARATION_TERRAIN, TECHNIQUE_TERRAINSHADOW);
dev->DrawIndexedTriangleVB_VS( m_pVB, m_spIB );
}
protected:
//K3DMatrix m_matWorldTransform;
K3DVertexBuffer* m_pVB;
// K3DVertexBufferSPtr m_spVB;
K3DIndexBufferSPtr m_spIB;
bool m_bIsValid;
};