class Loader: public DataFile::CollectionObjectLoader<RenderPass>
{
private:
+ std::string inline_base_name;
+
static ActionMap shared_actions;
public:
Loader(RenderPass &);
Loader(RenderPass &, Collection &);
-
private:
virtual void init_actions();
+
+ public:
+ void set_inline_base_name(const std::string &);
+
+ private:
virtual void finish();
static std::string get_shader_name(const std::string &);
TextureSlot(Tag t): tag(t), texture(0), sampler(0) { }
};
- RefPtr<const Program> shprog;
+ const Program *shprog;
bool shprog_from_material;
RefPtr<ProgramData> shdata;
std::map<Tag, Tag> uniform_slots;
- RefPtr<const Material> material;
+ const Material *material;
std::string material_slot;
std::vector<TextureSlot> textures;
bool back_faces;
public:
void set_shader_program(const Program *, const ProgramData *);
- const Program *get_shader_program() const { return shprog.get(); }
+ const Program *get_shader_program() const { return shprog; }
const ProgramData *get_shader_data() const { return shdata.get(); }
Tag get_slotted_uniform_tag(Tag) const;
void set_material(const Material *);
- const Material *get_material() const { return material.get(); }
+ const Material *get_material() const { return material; }
const std::string &get_material_slot_name() const { return material_slot; }
void set_texture(Tag, const Texture *, const Sampler * = 0);
Tag get_texture_tag(const std::string &) const;