]> git.tdb.fi Git - libs/gl.git/blobdiff - source/materials/unlitmaterial.cpp
Check the flat qualifier from the correct member
[libs/gl.git] / source / materials / unlitmaterial.cpp
index 9aded2522972250cc76b1efcc3b0a745916b4461..e1979051672481f277b953253589e88925c23716 100644 (file)
@@ -5,11 +5,15 @@ using namespace std;
 namespace Msp {
 namespace GL {
 
-UnlitMaterial::UnlitMaterial():
-       texture(0),
-       vertex_color(false)
+const Tag UnlitMaterial::texture_tags[] =
 {
-       set_tint(Color(1.0f));
+       Tag("color_tex"),
+       Tag()
+};
+
+UnlitMaterial::UnlitMaterial()
+{
+       set_color(Color(1.0f));
 }
 
 void UnlitMaterial::fill_program_info(string &module_name, map<string, int> &spec_values) const
@@ -19,9 +23,12 @@ void UnlitMaterial::fill_program_info(string &module_name, map<string, int> &spe
        spec_values["use_vertex_color"] = vertex_color;
 }
 
-void UnlitMaterial::attach_textures_to(Texturing &texturing, ProgramData &tex_shdata) const
+const Texture *UnlitMaterial::get_texture(Tag tag) const
 {
-       attach_texture_to(texture, texturing, tex_shdata, "texture");
+       if(tag==texture_tags[0])
+               return texture;
+       else
+               return 0;
 }
 
 void UnlitMaterial::set_texture(const Texture *tex)
@@ -29,10 +36,10 @@ void UnlitMaterial::set_texture(const Texture *tex)
        texture = tex;
 }
 
-void UnlitMaterial::set_tint(const Color &t)
+void UnlitMaterial::set_color(const Color &c)
 {
-       tint = t;
-       shdata.uniform("tint", tint);
+       color = c;
+       shdata.uniform("unlit_material.color", color);
 }
 
 void UnlitMaterial::set_vertex_color(bool vc)
@@ -43,12 +50,6 @@ void UnlitMaterial::set_vertex_color(bool vc)
 
 DataFile::Loader::ActionMap UnlitMaterial::Loader::shared_actions;
 
-UnlitMaterial::Loader::Loader(UnlitMaterial &m):
-       DerivedObjectLoader<UnlitMaterial, Material::PropertyLoader<UnlitMaterial> >(m)
-{
-       set_actions(shared_actions);
-}
-
 UnlitMaterial::Loader::Loader(UnlitMaterial &m, Collection &c):
        DerivedObjectLoader<UnlitMaterial, Material::PropertyLoader<UnlitMaterial> >(m, c)
 {
@@ -59,7 +60,7 @@ void UnlitMaterial::Loader::init_actions()
 {
        Material::PropertyLoader<UnlitMaterial>::init_actions();
        add("texture", &Loader::property_texture, &UnlitMaterial::set_texture);
-       add_property("tint", &UnlitMaterial::set_tint, 0, true);
+       add_property("color", &UnlitMaterial::set_color, 0, true);
        add("vertex_color", &UnlitMaterial::vertex_color);
 }