GFXGLStateCache
Engine/source/gfx/gl/gfxGLStateCache.h
GFXGLStateCache store OpenGL state to avoid performance penalities of glGet* calls GL_TEXTURE_1D/2D/3D, GL_FRAMEBUFFER, GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER.
Classes:
Protected Attributes
mTextureUnits [GFX_TEXTURE_STAGE_COUNT]
Public Functions
getCacheBinded(GLenum biding)
setCacheActiveTexture(U32 unit)
after glActiveTexture
setCacheBinded(GLenum biding, GLuint handle)
after opengl object binded
setCacheBindedTex(U32 texUnit, GLenum biding, GLuint handle)
after glBindTexture
setCacheVertexAttribActive(U32 activeMask)
for cache glEnableVertexAttribArray / glDisableVertexAttribArray
Detailed Description
GFXGLStateCache store OpenGL state to avoid performance penalities of glGet* calls GL_TEXTURE_1D/2D/3D, GL_FRAMEBUFFER, GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER.
Protected Attributes
GLuint mActiveTexture
GLuint mBindedFBO_R
GLuint mBindedFBO_W
GLuint mBindedIBO
GLuint mBindedVBO
TextureUnit mTextureUnits [GFX_TEXTURE_STAGE_COUNT]
U32 mVertexAttribActive
Public Functions
GFXGLStateCache()
getCacheActiveTexture()
getCacheBinded(GLenum biding)
getCacheVertexAttribActive()
setCacheActiveTexture(U32 unit)
after glActiveTexture
setCacheBinded(GLenum biding, GLuint handle)
after opengl object binded
setCacheBindedTex(U32 texUnit, GLenum biding, GLuint handle)
after glBindTexture
setCacheVertexAttribActive(U32 activeMask)
for cache glEnableVertexAttribArray / glDisableVertexAttribArray