namespace Msp {
namespace GL {
-class Texturing;
-
class Material
{
private:
public:
virtual ~Material() { }
- virtual const Program *create_compatible_shader(DataFile::Collection &) const;
+ virtual const Program *create_compatible_shader(const std::map<std::string, int> & = std::map<std::string, int>()) const;
protected:
virtual void fill_program_info(std::string &, std::map<std::string, int> &) const = 0;
/** Returns the uniforms for the material. */
const ProgramData &get_shader_data() const { return shdata; }
-protected:
- DEPRECATED void attach_texture_to(const Texture *, Texturing &, ProgramData &, const std::string &) const;
-public:
- DEPRECATED virtual void attach_textures_to(Texturing &, ProgramData &) const = 0;
-
virtual const Tag *get_texture_tags() const = 0;
virtual const Texture *get_texture(Tag) const = 0;
- const Sampler *get_sampler() const { return sampler; }
+ virtual const Sampler *get_sampler(Tag) const { return sampler; }
+
+ void set_debug_name(const std::string &);
template<typename T>
static void register_type(const std::string &);