]> git.lizzy.rs Git - irrlicht.git/blobdiff - source/Irrlicht/OpenGL/Driver.h
Unify drawing functions
[irrlicht.git] / source / Irrlicht / OpenGL / Driver.h
index b73259548b47f4758c5abf28129cdb3aed53dd3c..6cbf7bd2dcbc418d4c6779985a22b322d1d40cc0 100644 (file)
@@ -20,6 +20,7 @@ namespace irr
 {\r
 namespace video\r
 {\r
+       struct VertexType;\r
 \r
        class COpenGL3FixedPipelineRenderer;\r
        class COpenGL3Renderer2D;\r
@@ -329,9 +330,13 @@ namespace video
                //! Same as `CacheHandler->setViewport`, but also sets `ViewPort`\r
                virtual void setViewPortRaw(u32 width, u32 height);\r
 \r
-               void drawQuad(const S3DVertex (&vertices)[4], bool textured);\r
-               void drawQuads(const S3DVertex *vertices, int quad_count, bool textured);\r
-               void drawArrays(GLenum type, const S3DVertex *vertices, int vertex_count, bool textured);\r
+               void drawQuad(const VertexType &vertexType, const S3DVertex (&vertices)[4]);\r
+               void drawArrays(GLenum primitiveType, const VertexType &vertexType, const void *vertices, int vertexCount);\r
+               void drawElements(GLenum primitiveType, const VertexType &vertexType, const void *vertices, const u16 *indices, int indexCount);\r
+               void drawElements(GLenum primitiveType, const VertexType &vertexType, uintptr_t vertices, uintptr_t indices, int indexCount);\r
+\r
+               void beginDraw(const VertexType &vertexType, uintptr_t verticesBase);\r
+               void endDraw(const VertexType &vertexType);\r
 \r
                COpenGL3CacheHandler* CacheHandler;\r
                core::stringw Name;\r