]> git.tdb.fi Git - libs/gl.git/blobdiff - source/core/vertexsetup.h
Move all OpenGL-specific code to a separate directory
[libs/gl.git] / source / core / vertexsetup.h
index beade58ed3daeb9b4421193a3b5d97524c8265c1..7daef8845ac03688c570af5c40ff10f8a80324dc 100644 (file)
@@ -3,6 +3,7 @@
 
 #include "datatype.h"
 #include "vertexformat.h"
+#include "vertexsetup_backend.h"
 
 namespace Msp {
 namespace GL {
@@ -14,9 +15,9 @@ class VertexArray;
 Combines a VertexArray with an index buffer.  This wraps OpenGL's vertex array
 objects.  Intended for internal use.
 */
-class VertexSetup
+class VertexSetup: public VertexSetupBackend
 {
-       friend class PipelineState;
+       friend VertexSetupBackend;
 
 private:
        enum ComponentMask
@@ -26,7 +27,6 @@ private:
                INDEX_BUFFER = 4
        };
 
-       unsigned id;
        mutable unsigned dirty;
        const VertexArray *vertex_array;
        VertexFormat vertex_format;
@@ -37,7 +37,6 @@ private:
 
 public:
        VertexSetup();
-       ~VertexSetup();
 
        void set_format(const VertexFormat &);
        void set_format_instanced(const VertexFormat &, const VertexFormat &);
@@ -52,16 +51,14 @@ public:
 
 private:
        static bool verify_format(const VertexFormat &);
-       static void require_format(const VertexFormat &, bool);
        void update() const;
-       void update_vertex_array(const VertexArray &, unsigned, unsigned, bool) const;
 
 public:
        void refresh() const { if(dirty) update(); }
 
        void unload();
 
-       void set_debug_name(const std::string &);
+       using VertexSetupBackend::set_debug_name;
 };
 
 } // namespace GL