aboutsummaryrefslogtreecommitdiff
path: root/source/Irrlicht/OpenGL/Driver.h
diff options
context:
space:
mode:
authornumzero <numzer0@yandex.ru>2023-02-27 21:56:26 +0300
committernumzero <numzer0@yandex.ru>2023-02-27 23:36:47 +0300
commitc5ce85314829a75ca5172132105e3595e80b3dfe (patch)
treef2a6a350ef35b04022ea49ab38bdaeaf64237007 /source/Irrlicht/OpenGL/Driver.h
parent4fba49691769581457e80e69e0ca3c47e8a4f57c (diff)
downloadirrlicht-c5ce85314829a75ca5172132105e3595e80b3dfe.tar.xz
Unify quad drawing
Diffstat (limited to 'source/Irrlicht/OpenGL/Driver.h')
-rw-r--r--source/Irrlicht/OpenGL/Driver.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/source/Irrlicht/OpenGL/Driver.h b/source/Irrlicht/OpenGL/Driver.h
index 42c2deb..dc29297 100644
--- a/source/Irrlicht/OpenGL/Driver.h
+++ b/source/Irrlicht/OpenGL/Driver.h
@@ -332,6 +332,10 @@ namespace video
//! Same as `CacheHandler->setViewport`, but also sets `ViewPort`
virtual void setViewPortRaw(u32 width, u32 height);
+ void drawQuad(const S3DVertex (&vertices)[4], bool textured);
+ void drawQuads(const S3DVertex *vertices, int quad_count, bool textured);
+ void drawArrays(GLenum type, const S3DVertex *vertices, int vertex_count, bool textured);
+
COpenGL3CacheHandler* CacheHandler;
core::stringw Name;
core::stringc VendorName;
@@ -379,6 +383,9 @@ private:
IContextManager* ContextManager;
+ std::vector<u16> QuadsIndices;
+ void initQuadsIndices(int max_vertex_count = 65536);
+
void debugCb(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message);
static void APIENTRY debugCb(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
};