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

51 lines
1.2 KiB
C++

#pragma once
#include "etbaseeffect.h"
class CEtLineEffect;
typedef CSmartPtr< CEtLineEffect > EtLineHandle;
#define MAX_LINE_VERTEX 4
class CEtLineEffect : public CEtBaseEffect
{
public:
CEtLineEffect(void);
virtual ~CEtLineEffect(void);
protected:
float m_fLineWidth;
float m_fLifeTime;
float m_fInverseLifeTime;
float m_fMinSegment;
EtColor m_LineColor;
float m_fUMoveSpeed;
EtTextureHandle m_hTexture;
bool m_bModify;
float m_fCurrentStartTime;
std::vector< EtVector3 > m_vecPosition;
std::vector< EtVector3 > m_vecTangent;
std::vector< EtVector2 > m_vecTime;
bool m_bShow;
static EtMaterialHandle s_hMaterial;
static EtIndexBuffer *s_pCommonIndexBuffer;
float m_fElapsedTime;
public:
void Initialize( EtTextureHandle hTexture, float fLifeTime, float fLineWidth, float fUMoveSpeed );
void SetLineColor( EtColor &LineColor ) { m_LineColor = LineColor; }
void CreateVertexBuffer();
void CopyVertexBuffer();
void AddPoint( EtVector3 &start, EtVector3 &end );
void ModifyStartPoint( EtVector3 &start );
void ModifyEndPoint( EtVector3 &end );
void Show( bool bShow ) {m_bShow=bShow;}
bool IsShow() {return m_bShow;}
virtual void Render( float fElapsedTime );
static void InitializeEffect();
static void FinializeEffect();
};