]> git.tdb.fi Git - libs/gl.git/blobdiff - source/render/object.h
Mark constant data as const
[libs/gl.git] / source / render / object.h
index 48e3045930559fd354af6d868a935100a2fab09d..ca41ffac0a2f086633dcb7153046b08ef1554d3d 100644 (file)
@@ -2,7 +2,6 @@
 #define MSP_GL_OBJECT_H_
 
 #include <vector>
-#include "bindable.h"
 #include "renderable.h"
 #include "renderpass.h"
 #include "resourceobserver.h"
@@ -66,15 +65,15 @@ public:
 private:
        struct LevelOfDetail
        {
-               RefPtr<const Mesh> mesh;
-               RefPtr<const Technique> technique;
+               const Mesh *mesh;
+               const Technique *technique;
        };
 
        std::vector<LevelOfDetail> lods;
        Geometry::BoundingSphere<float, 3> bounding_sphere;
        bool lod0_watched;
 
-       static Matrix identity_matrix;
+       static const Matrix identity_matrix;
 
 public:
        Object();
@@ -110,18 +109,18 @@ public:
        virtual const Matrix *get_matrix() const { return &identity_matrix; }
        virtual const Geometry::BoundingSphere<float, 3> *get_bounding_sphere() const { return &bounding_sphere; }
 
-       virtual void render(Renderer &, const Tag & = Tag()) const;
+       virtual void render(Renderer &, Tag = Tag()) const;
 
        /** Renders an instance of the object.  The instance's hook functions are
        called before and after drawing the mesh. */
-       virtual void render(Renderer &, const ObjectInstance &, const Tag & = Tag()) const;
+       virtual void render(Renderer &, const ObjectInstance &, Tag = Tag()) const;
 
 protected:
-       virtual void setup_render(Renderer &, const Tag &) const { }
-       virtual void finish_render(Renderer &, const Tag &) const { }
+       virtual void setup_render(Renderer &, Tag) const { }
+       virtual void finish_render(Renderer &, Tag) const { }
 
 private:
-       const RenderPass *get_pass(const Tag &, unsigned) const;
+       const RenderPass *get_pass(Tag, unsigned) const;
 
        virtual void resource_loaded(Resource &);
        virtual void resource_removed(Resource &);