#ifndef _SHADERMANAGERCLASS_H_ #define _SHADERMANAGERCLASS_H_ // Inclure les en-tĂȘtes nĂ©cessaires #include #include #include #include "texture_shader_class.h" #include "normal_map_shader_class.h" #include "multi_texture_shader_class.h" #include "translate_shader_class.h" #include "alpha_map_shader_class.h" #include "spec_map_shader_class.h" #include "transparent_shader_class.h" #include "light_shader_class.h" #include "light_map_shader_class.h" #include "refraction_shader_class.h" #include "water_shader_class.h" #include "celshade_class.h" #include "depth_shader_class.h" #include "skybox_shader_class.h" #include "sunlight_shader_class.h" #include "depth_shader_class.h" using namespace DirectX; class shader_manager_class { public: shader_manager_class(); shader_manager_class(const shader_manager_class&); ~shader_manager_class(); bool initialize(ID3D11Device*, HWND); void shutdown(); bool render_texture_shader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*); bool render_normal_map_shader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, ID3D11ShaderResourceView*, XMFLOAT3, XMFLOAT4); bool render_multitexture_shader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, ID3D11ShaderResourceView*); bool render_translate_shader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, float); bool render_alpha_map_shader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, ID3D11ShaderResourceView*, ID3D11ShaderResourceView*); bool render_spec_map_shader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, ID3D11ShaderResourceView*, ID3D11ShaderResourceView*, XMFLOAT3, XMFLOAT4, XMFLOAT3, XMFLOAT4, float); bool render_transparent_shader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, float); bool renderlight_shader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, XMFLOAT4[], XMFLOAT4[], XMFLOAT4[]); bool renderlight_map_shader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, ID3D11ShaderResourceView*); bool render_refraction_shader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, XMFLOAT3, XMFLOAT4[], XMFLOAT4[], XMFLOAT4[], XMFLOAT4); bool render_water_shader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, ID3D11ShaderResourceView*, ID3D11ShaderResourceView*, float, float); bool render_cel_shading_shader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, XMFLOAT4, XMFLOAT4, XMFLOAT3, float); bool render_sunlight_shader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, XMFLOAT4, XMFLOAT4, XMFLOAT3, float); bool render_skybox_shader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, XMFLOAT4, XMFLOAT4, XMFLOAT3, float); bool render_depth_shader( ID3D11DeviceContext* context, int indexCount, XMMATRIX worldMatrix, XMMATRIX viewMatrix, XMMATRIX projectionMatrix, ID3D11ShaderResourceView* texture ); private: texture_shader_class* texture_shader_; normal_map_shader_class* normal_map_shader_; multi_texture_shader_class* multitexture_shader_; translate_shader_class* translate_shader_; alpha_map_shader_class* alpha_map_shader_; spec_map_shader_class* spec_map_shader_; transparent_shader_class* transparent_shader_; light_shader_class* light_shader_; light_map_shader_class* light_map_shader_; refraction_shader_class* refraction_shader_; water_shader_class* water_shader_; celshade_class* cel_shading_shader_; sunlight_shader_class* sunlight_shader_; skybox_shader_class* skybox_shader_; depth_shader_class* depth_shader_; }; #endif