//CGlareOccShader - [2020-04-13 11:57:46]
#ifndef _CGLAREOCCSHADER_H_
#define _CGLAREOCCSHADER_H_

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

/*
001CFB14 CGlareOccShader::CGlareOccShader()
001CFB20 CGlareOccShader::~CGlareOccShader()
00189B02 CGlareOccShader::SetDepthTexMode(EGlareOccShader_DepthTexMode)
00189B14 CGlareOccShader::SetRemappedWorldViewMatrixZ(CFTTVector32x4 const&)
00189B20 CGlareOccShader::SetGlareTex(CFTTTexParam)
00189B34 CGlareOccShader::SetDepthTex(CFTTTexParam)
00189B48 CGlareOccShader::SetClipspaceRemapAdd(CFTTVector32 const&)
00189B54 CGlareOccShader::SetClipspaceRemapMul(CFTTVector32 const&)
001CFB24 CGlareOccShader::CreateMat()
*/

enum EGlareOccShader_DepthTexMode {
  EGlareOccShader_DepthTexMode_0,
  EGlareOccShader_DepthTexMode_1,
  EGlareOccShader_DepthTexMode_2,
  EGlareOccShader_DepthTexMode_3,
  EGlareOccShader_DepthTexMode_4,
  EGlareOccShader_DepthTexMode_5,
};

class CGlareOccShader : public CFTTUberShader {
public:
  CGlareOccShader();                                        //001CFB14
  ~CGlareOccShader();                                       //001CFB20
  void SetDepthTexMode(EGlareOccShader_DepthTexMode);       //00189B02
  void SetRemappedWorldViewMatrixZ(CFTTVector32x4 const&);  //00189B14
  void SetGlareTex(CFTTTexParam);                           //00189B20
  void SetDepthTex(CFTTTexParam);                           //00189B34
  void SetClipspaceRemapAdd(CFTTVector32 const&);           //00189B48
  void SetClipspaceRemapMul(CFTTVector32 const&);           //00189B54
  ushort CreateMat();                                       //001CFB24

  static CGlareOccShader s_tInstance; //0008C6F8
};

#endif  //_CGLAREOCCSHADER_H_