]> git.tdb.fi Git - libs/gl.git/blobdiff - source/materials/rendermethod.h
Add instancing support to standard shaders and RenderMethod
[libs/gl.git] / source / materials / rendermethod.h
index 9d9ae6725437161355c605250bb00128d95c26f9..8fd289fe47c4a6638c7bc25e3e9fa6dc7e25bc7e 100644 (file)
@@ -85,10 +85,11 @@ private:
        const Material *material = 0;
        std::string material_slot;
        std::vector<TextureSlot> textures;
-       CullMode face_cull = CULL_BACK;
+       CullMode face_cull = NO_CULL;
        Blend blend;
        bool receive_shadows = false;
        bool image_based_lighting = false;
+       bool instancing = false;
 
        void maybe_create_material_shader();
        void set_material_textures();
@@ -126,6 +127,12 @@ public:
 
        bool get_image_based_lighting() const { return image_based_lighting; }
 
+       /** Toggles instanced rendering.  Only affects shaders created from
+       materials.  Should be used with InstanceArray. */
+       void set_instancing(bool);
+
+       bool get_instancing() const { return instancing; }
+
        void apply(Renderer &) const;
 
        void set_debug_name(const std::string &);