67 lines
3.5 KiB
C++
67 lines
3.5 KiB
C++
#ifndef _SHADERMANAGERCLASS_H_
|
|
#define _SHADERMANAGERCLASS_H_
|
|
|
|
// Inclure les en-têtes nécessaires
|
|
#include <d3d11.h>
|
|
#include <DirectXMath.h>
|
|
#include <vector>
|
|
#include "textureshaderclass.h"
|
|
#include "normalmapshaderclass.h"
|
|
#include "multitextureshaderclass.h"
|
|
#include "translateshaderclass.h"
|
|
#include "alphamapshaderclass.h"
|
|
#include "specmapshaderclass.h"
|
|
#include "transparentshaderclass.h"
|
|
#include "lightshaderclass.h"
|
|
#include "lightmapshaderclass.h"
|
|
#include "refractionshaderclass.h"
|
|
#include "watershaderclass.h"
|
|
#include "celshadingshader.h"
|
|
#include "SkyboxShaderClass.h"
|
|
#include "sunlightshaderclass.h"
|
|
|
|
using namespace DirectX;
|
|
|
|
class ShaderManagerClass
|
|
{
|
|
public:
|
|
ShaderManagerClass();
|
|
ShaderManagerClass(const ShaderManagerClass&);
|
|
~ShaderManagerClass();
|
|
|
|
bool Initialize(ID3D11Device*, HWND);
|
|
void Shutdown();
|
|
|
|
bool RenderTextureShader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*);
|
|
bool RenderNormalMapShader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, ID3D11ShaderResourceView*, XMFLOAT3, XMFLOAT4);
|
|
bool RenderMultitextureShader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, ID3D11ShaderResourceView*);
|
|
bool RenderTranslateShader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, float);
|
|
bool RenderAlphaMapShader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, ID3D11ShaderResourceView*, ID3D11ShaderResourceView*);
|
|
bool RenderSpecMapShader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, ID3D11ShaderResourceView*, ID3D11ShaderResourceView*, XMFLOAT3, XMFLOAT4, XMFLOAT3, XMFLOAT4, float);
|
|
bool RenderTransparentShader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, float);
|
|
bool RenderlightShader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, XMFLOAT4[], XMFLOAT4[], XMFLOAT4[]);
|
|
bool RenderlightMapShader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, ID3D11ShaderResourceView*);
|
|
bool RenderRefractionShader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, XMFLOAT3, XMFLOAT4[], XMFLOAT4[], XMFLOAT4[], XMFLOAT4);
|
|
bool RenderWaterShader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, ID3D11ShaderResourceView*, ID3D11ShaderResourceView*, float, float);
|
|
bool RenderCelShadingShader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, XMFLOAT4, XMFLOAT4, XMFLOAT3, float);
|
|
bool RenderSunlightShader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, XMFLOAT4, XMFLOAT4, XMFLOAT3, float);
|
|
bool RenderSkyboxShader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, XMFLOAT4, XMFLOAT4, XMFLOAT3, float);
|
|
|
|
private:
|
|
TextureShaderClass* m_TextureShader;
|
|
NormalMapShaderClass* m_NormalMapShader;
|
|
MultiTextureShaderClass* m_MultitextureShader;
|
|
TranslateShaderClass* m_TranslateShader;
|
|
AlphaMapShaderClass* m_AlphaMapShader;
|
|
SpecMapShaderClass* m_SpecMapShader;
|
|
TransparentShaderClass* m_TransparentShader;
|
|
LightShaderClass* m_LightShader;
|
|
LightMapShaderClass* m_LightMapShader;
|
|
RefractionShaderClass* m_RefractionShader;
|
|
WaterShaderClass* m_WaterShader;
|
|
CelshadeClass* m_CelShadingShader;
|
|
SunlightShaderClass* m_SunlightShader;
|
|
SkyboxShaderClass* m_SkyboxShader;
|
|
};
|
|
|
|
#endif |