]> git.tdb.fi Git - libs/gl.git/commitdiff
Add getters for textures and samplers in RenderMethod
authorMikko Rasa <tdb@tdb.fi>
Fri, 14 Jul 2023 21:08:28 +0000 (00:08 +0300)
committerMikko Rasa <tdb@tdb.fi>
Fri, 14 Jul 2023 21:08:28 +0000 (00:08 +0300)
source/materials/rendermethod.cpp
source/materials/rendermethod.h

index 9e9a477eb91e2ee82a22a44a314538afb27c398a..e489dbe7c2540ab5c1bd114fc7ca3138bf8bd5a6 100644 (file)
@@ -98,6 +98,18 @@ Tag RenderMethod::get_texture_tag(const string &slot) const
        return (i!=textures.end() ? i->tag : Tag());
 }
 
+const Texture *RenderMethod::get_texture(Tag tag) const
+{
+       auto i = find_member(textures, tag, &TextureSlot::tag);
+       return (i!=textures.end() ? i->texture : nullptr);
+}
+
+const Sampler *RenderMethod::get_sampler(Tag tag) const
+{
+       auto i = find_member(textures, tag, &TextureSlot::tag);
+       return (i!=textures.end() ? i->sampler : nullptr);
+}
+
 void RenderMethod::set_face_cull(CullMode fc)
 {
        face_cull = fc;
index d8d8b4c7de167b6ccce4317e34a948ce32336d2e..b3140dd3f5adead4ed40b351023b68654c352c6d 100644 (file)
@@ -111,6 +111,8 @@ public:
        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;
+       const Texture *get_texture(Tag) const;
+       const Sampler *get_sampler(Tag) const;
        void set_face_cull(CullMode);
        CullMode get_face_cull() const { return face_cull; }
        void set_blend(const Blend &);