//CStadiumShader - [2020-04-13 11:57:47]
#ifndef _CSTADIUMSHADER_H_
#define _CSTADIUMSHADER_H_

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

/*
001D1370 CStadiumShader::CStadiumShader()
001D137C CStadiumShader::~CStadiumShader()
0018F900 CStadiumShader::SetShadowMap(EStadiumShader_ShadowMap eShadowMap)
001ABDE4 CStadiumShader::SetLightDir(CFTTVector32 const& pVector32)
001ABDF0 CStadiumShader::SetShadowMapTex(CFTTTexParam aTexParam)
001ABE04 CStadiumShader::SetShadowMapProj01(CFTTMatrix32 const& pMatrix32)
001ABE10 CStadiumShader::SetGlow(CFTTVector32 const& pVector32)
001ABE1C CStadiumShader::SetGlow(EStadiumShader_Glow eGlow)
001AC03C CStadiumShader::SetDiffuse(CFTTTexParam aTexParam, int a2)
001D1380 CStadiumShader::CreateMat(CFTTTexParam aTexParam)
*/


enum EStadiumShader_ShadowMap {
  EStadiumShader_ShadowMap_0,
  EStadiumShader_ShadowMap_1,
  EStadiumShader_ShadowMap_2,
  EStadiumShader_ShadowMap_3,
  EStadiumShader_ShadowMap_4,
  EStadiumShader_ShadowMap_5,
};


enum EStadiumShader_Glow {
  EStadiumShader_Glow_0,
  EStadiumShader_Glow_1,
  EStadiumShader_Glow_2,
  EStadiumShader_Glow_3,
  EStadiumShader_Glow_4,
  EStadiumShader_Glow_5,
};

class CStadiumShader : public CFTTUberShader {
public:
  CStadiumShader();                                        //001D1370
  ~CStadiumShader();                                       //001D137C
  void SetShadowMap(EStadiumShader_ShadowMap eShadowMap);  //0018F900
  void SetLightDir(CFTTVector32 const& pVector32);         //001ABDE4
  void SetShadowMapTex(CFTTTexParam aTexParam);            //001ABDF0
  void SetShadowMapProj01(CFTTMatrix32 const& pMatrix32);  //001ABE04
  void SetGlow(CFTTVector32 const& pVector32);             //001ABE10
  void SetGlow(EStadiumShader_Glow eGlow);                 //001ABE1C
  void SetDiffuse(CFTTTexParam aTexParam, int a2);         //001AC03C
  short CreateMat(CFTTTexParam aTexParam);                 //001D1380

  static CStadiumShader s_tInstance;
};

#endif  //_CSTADIUMSHADER_H_