]> git.tdb.fi Git - libs/gl.git/blobdiff - source/object.h
Add object-oriented interfaces for the various tests and blending
[libs/gl.git] / source / object.h
index d81c4ade6fa0453aadbd5fd27cb5a212204df36d..0b53d63c6cb6871a58735668fcfca29418caa87f 100644 (file)
@@ -1,7 +1,7 @@
 /* $Id$
 
 This file is part of libmspgl
-Copyright © 2007  Mikko Rasa, Mikkosoft Productions
+Copyright © 2007-2008, 2010  Mikko Rasa, Mikkosoft Productions
 Distributed under the LGPL
 */
 
@@ -9,9 +9,9 @@ Distributed under the LGPL
 #define MSP_GL_OBJECT_H_
 
 #include <vector>
-#include "misc.h"
-#include "objectpass.h"
+#include "bindable.h"
 #include "renderable.h"
+#include "renderpass.h"
 
 namespace Msp {
 namespace GL {
@@ -31,18 +31,23 @@ similar objects.  See class ObjectInstance.
 class Object: public Renderable
 {
 private:
-       std::vector<const Mesh *> meshes;
-       bool own_technique;
-       const Technique *technique;
+       std::vector<Mesh *> meshes;
+       Technique *technique;
+       bool own_mesh:1;
+       bool own_technique:1;
 
 public:
        class Loader: public DataFile::CollectionObjectLoader<Object>
        {
        public:
+               Loader(Object &);
                Loader(Object &, Collection &);
+       private:
+               void init();
 
        private:
                void lod_mesh(unsigned, const std::string &);
+               void mesh();
                void mesh(const std::string &);
                void technique();
        };