//CDOFShrinkShader - [2020-04-13 11:57:46]
#ifndef _CDOFSHRINKSHADER_H_
#define _CDOFSHRINKSHADER_H_

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

/*
001CF98C CDOFShrinkShader::CDOFShrinkShader()
001CF998 CDOFShrinkShader::~CDOFShrinkShader()
0018A23C CDOFShrinkShader::SetDepth(CFTTTexParam)
0018A250 CDOFShrinkShader::SetDepthTexMode(EDOFShrinkShader_DepthTexMode)
0018A262 CDOFShrinkShader::SetDOFRowDelta(float const*)
0018A26E CDOFShrinkShader::SetDOFEqWorld(float const*)
0018A27A CDOFShrinkShader::SetDepthParams(CFTTVector32x4 const&)
0018A286 CDOFShrinkShader::SetNear(EDOFShrinkShader_Near)
001CF99C CDOFShrinkShader::CreateMat()
*/

enum EDOFShrinkShader_Near {
  EDOFShrinkShader_Near_0,
  EDOFShrinkShader_Near_1,
  EDOFShrinkShader_Near_2,
  EDOFShrinkShader_Near_3,
  EDOFShrinkShader_Near_4,
  EDOFShrinkShader_Near_5,
};

enum EDOFShrinkShader_DepthTexMode {
  EDOFShrinkShader_DepthTexMode_0,
  EDOFShrinkShader_DepthTexMode_1,
  EDOFShrinkShader_DepthTexMode_2,
  EDOFShrinkShader_DepthTexMode_3,
  EDOFShrinkShader_DepthTexMode_4,
  EDOFShrinkShader_DepthTexMode_5,
};

class CDOFShrinkShader : public CFTTUberShader {
public:
  CDOFShrinkShader();                                         //001CF98C
  ~CDOFShrinkShader();                                        //001CF998
  void SetDepth(CFTTTexParam aTexParam);                      //0018A23C
  void SetDepthTexMode(EDOFShrinkShader_DepthTexMode eMode);  //0018A250
  void SetDOFRowDelta(float const*);                          //0018A262
  void SetDOFEqWorld(float const*);                           //0018A26E
  void SetDepthParams(CFTTVector32x4 const&);                 //0018A27A
  void SetNear(EDOFShrinkShader_Near);                        //0018A286
  ushort CreateMat();                                         //001CF99C

  static CDOFShrinkShader s_tInstance;  //0047B6F0
};

#endif  //_CDOFSHRINKSHADER_H_