// CBlurVShader - [2020-04-13 11:57:46]
#ifndef _CBLURVSHADER_H_
#define _CBLURVSHADER_H_

#include "common.h"
#include "CFTTUberShader.h"

/*
001CF654 CBlurVShader::CBlurVShader()
001CF660 CBlurVShader::~CBlurVShader()
0014A170 CBlurVShader::SetBlurParams(CFTTVector32x4 const&,int)
0014A17A CBlurVShader::SetTex01(CFTTTexParam,int)
0014A192 CBlurVShader::SetMode(EBlurVShader_Mode,int)
001CF664 CBlurVShader::CreateMat(EBlurVShader_Mode,CFTTVector32x4 const&,CFTTTexParam,EBlurVShader_BlendMode)
*/

enum EBlurVShader_Mode {
  EBlurVShader_Mode_0,
  EBlurVShader_Mode_1,
  EBlurVShader_Mode_2,
  EBlurVShader_Mode_3,
  EBlurVShader_Mode_4,
  EBlurVShader_Mode_5,
};

enum EBlurVShader_BlendMode {
  EBlurVShader_BlendMode_0,
  EBlurVShader_BlendMode_1,
  EBlurVShader_BlendMode_2,
  EBlurVShader_BlendMode_3,
  EBlurVShader_BlendMode_4,
  EBlurVShader_BlendMode_5,
};

class CBlurVShader : public CFTTUberShader {
public:
  CBlurVShader();   // 001CF654
  ~CBlurVShader();  // 001CF660

  void SetBlurParams(CFTTVector32x4 const&, int);  // 0014A170
  void SetTex01(CFTTTexParam, int);                // 0014A17A
  void SetMode(EBlurVShader_Mode, int);            // 0014A192
  ushort CreateMat(EBlurVShader_Mode,
                   CFTTVector32x4 const&,
                   CFTTTexParam,
                   EBlurVShader_BlendMode);  // 001CF664

  static CBlurVShader s_tInstance;
};

#endif  //_CBLURVSHADER_H_