4 #include "../renderables/renderable3d.h" 6 #include "../../utils/glassert.h" 10 #include <glm/gtc/matrix_transform.hpp> 11 #include <glm/gtc/type_ptr.hpp> 12 #include <glm/gtx/string_cast.hpp> 14 namespace fireworks {
namespace graphics {
17 #define RENDERER3D_MAX_PRIMITIVES 2000 18 #define RENDERER3D_VERTEX_SIZE sizeof(VertexData3D) 19 #define RENDERER3D_DEFAULT_FACES 6 20 #define RENDERER3D_PRIMITIVE_SIZE RENDERER3D_VERTEX_SIZE * RENDERER3D_DEFAULT_FACES * 4 21 #define RENDERER3D_BUFFER_SIZE RENDERER3D_PRIMITIVE_SIZE * RENDERER3D_MAX_PRIMITIVES 22 #define RENDERER3D_INDICES_SIZE RENDERER3D_MAX_PRIMITIVES * RENDERER3D_DEFAULT_FACES * 6 34 GLsizei m_IndicesCount;
35 std::vector<GLuint> m_TextureSlots;
37 std::vector<unsigned int> m_IndicesPool;
40 unsigned int indexOffset;
50 void begin()
override;
56 void flush()
override;
Creates Index Buffers.
Definition: indexbuffer.h:11
The vertex structure of a 3D primitive.
Definition: renderable3d.h:16
~BatchRenderer3D()
Definition: batchrenderer3d.cpp:45
void begin() override
Begins the rendering process.
Definition: batchrenderer3d.cpp:51
Renders the 3d renderables in a single draw call using batching.
Definition: batchrenderer3d.h:25
BatchRenderer3D(PerspectiveCamera *camera3D, Shader *shader)
Creates a 3D batch renderer.
Definition: batchrenderer3d.cpp:7
The Class responsible for drawing the basic 3D Renderable objects onto the screen.
Definition: renderable3d.h:66
Definition: audioclip.cpp:3
void submit(const Renderable3D *renderable) override
Submits the data to the render queue.
Definition: batchrenderer3d.cpp:57
The class responsible for creating amazing shaders.
Definition: Shader.h:22
void flush() override
Draws the data processed onto the screen.
Definition: batchrenderer3d.cpp:169
Forward declaration of the graphics::Renderable3D.
Definition: renderer3d.h:16
A perspective camera to view objects in perspective projection.
Definition: perspectivecamera.h:16
void end() override
Ends the submission and prepares the renderer to start drawing.
Definition: batchrenderer3d.cpp:145
void init()
Definition: batchrenderer3d.cpp:23
Shader * shader
The shader with which the entire batch or renderables are rendered with.
Definition: batchrenderer3d.h:29