#include "stdafx.h" #include "KSeqSpeedGrass.h" #include "KViewport.h" #include "GrassColonyInfo.h" #include "TerrainSpeedGrass.h" //이게 무슨 일일까? K3DRenderDevice* KSeqSpeedGrass::m_pDev = NULL; float KSeqSpeedGrass::m_fAccumTime = 0.0f; float KSeqSpeedGrass::m_fFadeDist = 100.0f; float KSeqSpeedGrass::m_fFadeLength = 37.5f; KSeqSpeedGrass::KSeqSpeedGrass() { m_vtPos = K3DVector( 0.0f, 0.0f, 0.0f ); K3DMatrixIdentity( m_matWorld ); } KSeqSpeedGrass::~KSeqSpeedGrass() { Clear(); } void KSeqSpeedGrass::Clear() { SAFE_DELETE_VECTOR( m_vPrimitive ); } int KSeqSpeedGrass::Process( DWORD dwTime ) { int process_state = (m_bIsPlaying) ? (SEQINFO_PLAYING) : (SEQINFO_STOPPED); return process_state; } void KSeqSpeedGrass::Render( KViewportObject *viewport, DWORD flag, const K3DMatrix * pAttachMat ) { size_t unPrCount = m_vPrimitive.size(); for( size_t i = 0; i < unPrCount; i++ ) { viewport->Register( m_vPrimitive.at( i ), KRenderObject::RENDEREFX_SPEEDGRASS ); } } bool KSeqSpeedGrass::Load( CTerrainSpeedGrass* pSpeedGrass, GrassColonyInfo* pGrassColonyInfo ) { bool bSuccess = true; SAFE_DELETE_VECTOR( m_vPrimitive ); // size_t unColonyCount = pGrassContainer->GetInfoCount(); // for( size_t i = 0; i < unColonyCount; i++ ) { KPrimitiveSpeedGrass* pPr = new KPrimitiveSpeedGrass; bSuccess = pPr->Load( m_pDev, pSpeedGrass, pGrassColonyInfo ); if( !bSuccess ) { SAFE_DELETE( pPr ); return bSuccess; } m_vPrimitive.push_back( pPr ); } return bSuccess; } void KSeqSpeedGrass::SetFadeDist( float fDist ) { m_fFadeDist = fDist; CSpeedGrassRT::SetLodParams( m_fFadeDist, m_fFadeLength ); } void KSeqSpeedGrass::SetFadeLength( float fLength ) { m_fFadeLength = fLength; CSpeedGrassRT::SetLodParams( m_fFadeDist, m_fFadeLength ); } float KSeqSpeedGrass::GetFadeDist() { return m_fFadeDist; } float KSeqSpeedGrass::GetFadeLength() { return m_fFadeLength; }