X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fshader.h;h=811f33080d8453091da09889f1e8831730d813fc;hb=d4938554818aa71aceb0d360f33c6cfd42f67008;hp=579cef635b346998c01bc2299fc86ac0c5147ec4;hpb=03ab6aa24c7ca041eeff78f87df245828942e872;p=minetest.git diff --git a/src/shader.h b/src/shader.h index 579cef635..811f33080 100644 --- a/src/shader.h +++ b/src/shader.h @@ -46,9 +46,15 @@ std::string getShaderPath(const std::string &name_of_shader, struct ShaderInfo { std::string name; + video::E_MATERIAL_TYPE base_material; video::E_MATERIAL_TYPE material; + u8 drawtype; + u8 material_type; + s32 user_data; - ShaderInfo(): name(""), material(video::EMT_SOLID) {} + ShaderInfo(): name(""), base_material(video::EMT_SOLID), + material(video::EMT_SOLID), + drawtype(0), material_type(0) {} virtual ~ShaderInfo() {} }; @@ -77,11 +83,11 @@ class IShaderSource public: IShaderSource(){} virtual ~IShaderSource(){} - virtual u32 getShaderId(const std::string &name){return 0;} - virtual u32 getShaderIdDirect(const std::string &name){return 0;} - virtual std::string getShaderName(u32 id){return "";} - virtual ShaderInfo getShader(u32 id){return ShaderInfo();} - virtual ShaderInfo getShader(const std::string &name){return ShaderInfo();} + virtual u32 getShaderIdDirect(const std::string &name, + const u8 material_type, const u8 drawtype){return 0;} + virtual ShaderInfo getShaderInfo(u32 id){return ShaderInfo();} + virtual u32 getShader(const std::string &name, + const u8 material_type, const u8 drawtype){return 0;} }; class IWritableShaderSource : public IShaderSource @@ -89,11 +95,11 @@ class IWritableShaderSource : public IShaderSource public: IWritableShaderSource(){} virtual ~IWritableShaderSource(){} - virtual u32 getShaderId(const std::string &name){return 0;} - virtual u32 getShaderIdDirect(const std::string &name){return 0;} - virtual std::string getShaderName(u32 id){return "";} - virtual ShaderInfo getShader(u32 id){return ShaderInfo();} - virtual ShaderInfo getShader(const std::string &name){return ShaderInfo();} + virtual u32 getShaderIdDirect(const std::string &name, + const u8 material_type, const u8 drawtype){return 0;} + virtual ShaderInfo getShaderInfo(u32 id){return ShaderInfo();} + virtual u32 getShader(const std::string &name, + const u8 material_type, const u8 drawtype){return 0;} virtual void processQueue()=0; virtual void insertSourceShader(const std::string &name_of_shader,