summaryrefslogtreecommitdiff
path: root/src/render/normalopenglgraphics.h
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2013-12-28 23:06:17 +0300
committerAndrei Karas <akaras@inbox.ru>2013-12-29 14:55:33 +0300
commitc9f8bba932022ffd90031713c51861587f86b244 (patch)
treedb2184f1a1ac5649792c5ac57415bfa71a2c307a /src/render/normalopenglgraphics.h
parent9bc564d99774045fa0c10f253dd54b223416bc34 (diff)
downloadplus-c9f8bba932022ffd90031713c51861587f86b244.tar.gz
plus-c9f8bba932022ffd90031713c51861587f86b244.tar.bz2
plus-c9f8bba932022ffd90031713c51861587f86b244.tar.xz
plus-c9f8bba932022ffd90031713c51861587f86b244.zip
Add cached draw methods into renderers.
Diffstat (limited to 'src/render/normalopenglgraphics.h')
-rw-r--r--src/render/normalopenglgraphics.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/render/normalopenglgraphics.h b/src/render/normalopenglgraphics.h
index a62a97df7..73457ef0d 100644
--- a/src/render/normalopenglgraphics.h
+++ b/src/render/normalopenglgraphics.h
@@ -160,12 +160,16 @@ class NormalOpenGLGraphics final : public Graphics
inline void drawQuadArrayfi(const int size);
+ inline void drawQuadArrayfiCached(const int size);
+
inline void drawQuadArrayfi(const GLint *const intVertArray,
const GLfloat *const floatTexArray,
const int size);
inline void drawQuadArrayii(const int size);
+ inline void drawQuadArrayiiCached(const int size);
+
inline void drawQuadArrayii(const GLint *const intVertArray,
const GLint *const intTexArray,
const int size);
@@ -200,6 +204,15 @@ class NormalOpenGLGraphics final : public Graphics
const int width, const int height,
const bool useColor) override final;
+ void drawImageCached(const Image *const image,
+ int x, int y) override final;
+
+ void drawPatternCached(const Image *const image,
+ const int x, const int y,
+ const int w, const int h) override final;
+
+ void completeCache() override final;
+
#ifdef DEBUG_DRAW_CALLS
unsigned int getDrawCalls() const
{ return mLastDrawCalls; }
@@ -229,10 +242,16 @@ class NormalOpenGLGraphics final : public Graphics
GLfloat *mFloatTexArray;
GLint *mIntTexArray;
GLint *mIntVertArray;
+ GLfloat *mFloatTexArrayCached;
+ GLint *mIntTexArrayCached;
+ GLint *mIntVertArrayCached;
+ float mAlphaCached;
+ int mVpCached;
bool mTexture;
bool mIsByteColor;
gcn::Color mByteColor;
+ GLuint mImageCached;
float mFloatColor;
int mMaxVertices;
bool mColorAlpha;