OSDN Git Service

directx/dx9/shader.hpp: effect: コンストラクタの引数
[roast/roast_ex_windows.git] / roast_ex / include / roast / graphics / directx / dx9 / shader.hpp
index 0dc2cad..b66ad01 100644 (file)
@@ -84,7 +84,11 @@ namespace roast
 
                                ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
                                
-                               class effect : protected iunknown_<d3deffect>
+                               class effect_shared_memory
+                               {
+                               };
+
+                               class effect : protected iunknown_<d3deffect>, public effect_base
                                {
                                public:
                                        enum exception_codes
@@ -165,9 +169,9 @@ namespace roast
                                        template <shader_model_type_e SHADER_MODEL_TYPE, unsigned char SHADER_MAJOR, unsigned char SHADER_MINOR>
                                        effect(device &d, const construct_by_file &f,
                                                const shader_model<SHADER_MODEL_TYPE, SHADER_MAJOR, SHADER_MINOR> &model,
-                                               const ::std::map<::std::string,::std::string> defines,
-                                               DWORD flags,
-                                               LPD3DXEFFECTPOOL effect_pool) : m_dev(d)
+                                               const defines_t defines=defines_t(),
+                                               DWORD flags=0,
+                                               effect_shared_memory effect_pool=effect_shared_memory()) : m_dev(d)
                                        {
                                                _cunstruct_a(
                                                        f.filename.c_str(), defines, include, model.to_string(), hlsl_flags, fx_flags/*, m_dev.get_d3ddevice_ptr()*/,
@@ -177,13 +181,9 @@ namespace roast
                                        template <shader_model_type_e SHADER_MODEL_TYPE, unsigned char SHADER_MAJOR, unsigned char SHADER_MINOR>
                                        effect(device &d, const construct_by_file_lpcstr &f,
                                                const shader_model<SHADER_MODEL_TYPE, SHADER_MAJOR, SHADER_MINOR> &model,
-                                               CONST D3D9_SHADER_MACRO *defines=NULL,
-                                               ID3D9Include *include=NULL,
-                                               ID3D9EffectPool *effect_pool=NULL,
-                                               UINT fx_flags=0,
-                                               UINT hlsl_flags=0,
-                                               ID3DX9ThreadPump *pump=NULL,
-                                               HRESULT *p_hresult=NULL) : m_dev(d)
+                                               const defines_t defines=defines_t(),
+                                               DWORD flags=0,
+                                               effect_shared_memory effect_pool=effect_shared_memory()) : m_dev(d)
                                        {
                                                _cunstruct_a(
                                                        f.filename, defines, include, model.to_string(), hlsl_flags, fx_flags/*, m_dev.get_d3ddevice_ptr()*/,
@@ -192,13 +192,9 @@ namespace roast
                                        template <shader_model_type_e SHADER_MODEL_TYPE, unsigned char SHADER_MAJOR, unsigned char SHADER_MINOR>
                                        effect(device &d, const construct_by_file_lpctstr &f,
                                                const shader_model<SHADER_MODEL_TYPE, SHADER_MAJOR, SHADER_MINOR> &model,
-                                               CONST D3D9_SHADER_MACRO *defines=NULL,
-                                               ID3D9Include *include=NULL,
-                                               ID3D9EffectPool *effect_pool=NULL,
-                                               UINT fx_flags=0,
-                                               UINT hlsl_flags=0,
-                                               ID3DX9ThreadPump *pump=NULL,
-                                               HRESULT *p_hresult=NULL) : m_dev(d)
+                                               const defines_t defines=defines_t(),
+                                               DWORD flags=0,
+                                               effect_shared_memory effect_pool=effect_shared_memory()) : m_dev(d)
                                        {
                                                _cunstruct_aw(
                                                        f.filename, defines, include, model.to_string(), hlsl_flags, fx_flags/*, m_dev.get_d3ddevice_ptr()*/,