25 #ifndef __glfBatch_hh__
26 #define __glfBatch_hh__
28 #include "glfRenderTarget.hh"
29 #include "glfViewport.hh"
30 #include "glfTexture.hh"
31 #include "glfDepthBufferMode.hh"
32 #include "glfStencilBufferMode.hh"
33 #include "glfBlendMode.hh"
34 #include "glfShaderProgram.hh"
35 #include "glfVertexBuffer.hh"
36 #include "glfElementBuffer.hh"
37 #include "glfMatrix.hh"
68 void SetTexture(
const glfTexture* texture,
int textureUnit);
70 unsigned int GetMaxUsedTextureIndex();
76 void ReleaseTextures(
unsigned int fromIndex);
125 void SetPrimitiveType(GLenum primitiveType);
132 void SetRange(
int first,
int count);
137 void SetModelViewMatrix(
const glfMatrix* matrix);
142 void SetProjectionMatrix(
const glfMatrix* matrix);
149 void SetTextureMatrix(
const glfMatrix* matrix,
int index);
151 unsigned int GetMaxUsedTextureMatrixIndex()
const;
157 void ReleaseTextureMatrices(
unsigned int fromIndex);
170 static void SetDefaultRenderStates();
172 static int GetMaxSupportedTextureUnits();
173 static int GetMaxSupportedTextureMatrices();
178 void BindRenderStates();
180 GLint MAX_TEXTURE_UNITS_;
181 GLint MAX_TEXTURE_COORDS_;
183 int maxUsedTextureIndex_;
184 int maxUsedTextureMatrixIndex_;
187 std::vector<const glfTexture*> textures_;
195 GLenum primitiveType_;
199 std::vector<const glfMatrix*> textureMatrix_;
204 #endif // __glfBatch_hh__
An element buffer contains vertex indices that form primitives.
Defines the usage of the stencil buffer.
Defines the usage of the depth buffer.
A vertex buffer contains an array of vertices that can be used for rendering.
A batch represents a single Draw call including all parameters (render states).
A shader program composed of several shaders.
Defines the function that blends rendered geometry with its background.
class for setting viewports
A 4x4 matrix in native OpenGL format.
Interface for render targets.