]> git.tdb.fi Git - libs/gl.git/blobdiff - source/materials/renderpass.h
Rearrange material-related state management in RenderPass
[libs/gl.git] / source / materials / renderpass.h
index 8a69ad12afcc5397739781e91242a8f79cfecc59..b5b9cfb5af107149f1b01e930193aedae33539ec 100644 (file)
@@ -24,12 +24,16 @@ class RenderPass
 public:
        class Loader: public DataFile::CollectionObjectLoader<RenderPass>
        {
+       private:
+               static ActionMap shared_actions;
+
        public:
                Loader(RenderPass &);
                Loader(RenderPass &, Collection &);
 
        private:
-               void init();
+               virtual void init_actions();
+               virtual void finish();
 
                static std::string get_shader_name(const std::string &);
 
@@ -80,9 +84,8 @@ public:
        RenderPass();
 
 private:
-       void finalize_material(DataFile::Collection *);
        void maybe_create_material_shader(DataFile::Collection *);
-       void ensure_private_shader_data();
+       void set_material_textures();
 
 public:
        void set_shader_program(const Program *, const ProgramData *);