]> git.tdb.fi Git - libs/gl.git/blobdiff - source/basicmaterial.h
Remove the deprecated ProgramBuilder class
[libs/gl.git] / source / basicmaterial.h
index 9b7eab074ed5df6c43cc6b5afaa99a7d6a5eb219..95259f476b233198856c49a42391049f54f6b0b5 100644 (file)
@@ -9,7 +9,7 @@ namespace GL {
 class BasicMaterial: public Material
 {
 public:
-       class Loader: public DataFile::DerivedObjectLoader<BasicMaterial, Material::LoaderBase<BasicMaterial> >
+       class Loader: public DataFile::DerivedObjectLoader<BasicMaterial, Material::PropertyLoader<BasicMaterial> >
        {
        private:
                static ActionMap shared_actions;
@@ -29,11 +29,16 @@ private:
        Property<Vector3> normal;
        Property<Color> emission;
        Property<float> reflectivity;
+       bool receive_shadows;
 
 public:
        BasicMaterial();
 
-       void attach_textures_to(Texturing &, ProgramData &) const;
+protected:
+       virtual std::string create_program_source() const;
+
+public:
+       virtual void attach_textures_to(Texturing &, ProgramData &) const;
 
        void set_diffuse(const Color &);
        void set_diffuse_map(const Texture *);
@@ -46,6 +51,7 @@ public:
        void set_shininess_map(const Texture *);
        void set_reflectivity(float);
        void set_reflectivity_map(const Texture *);
+       void set_receive_shadows(bool);
 };
 
 } // namespace GL