Skip to content

Commit

Permalink
Use constants instead of defines
Browse files Browse the repository at this point in the history
  • Loading branch information
massile committed Nov 15, 2016
1 parent a4f96e2 commit 901e4f6
Show file tree
Hide file tree
Showing 7 changed files with 51 additions and 50 deletions.
50 changes: 25 additions & 25 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,31 +14,31 @@ find_package(OpenGL REQUIRED)
find_library(SOIL_LIBRARY SOIL REQUIRED)

add_library(FlowEngine STATIC
src/Engine2D/graphics/shader.cpp src/Engine2D/graphics/shader.h
src/Engine2D/utils/fileutils.h
src/Engine2D/graphics/window.cpp src/Engine2D/graphics/window.h
src/Engine2D/graphics/buffer/vertexBuffer.h src/Engine2D/graphics/buffer/vertexBuffer.cpp
src/Engine2D/graphics/buffer/vertexArray.h src/Engine2D/graphics/buffer/vertexArray.cpp
src/Engine2D/graphics/buffer/indexBuffer.h src/Engine2D/graphics/buffer/indexBuffer.cpp
src/Engine2D/graphics/sprite.h src/Engine2D/graphics/sprite.cpp
src/Engine2D/graphics/renderer2d.h src/Engine2D/graphics/renderer2d.cpp
src/Engine2D/graphics/renderable2d.h src/Engine2D/graphics/renderable2d.cpp
src/Engine2D/graphics/batchRenderer2d.h src/Engine2D/graphics/batchRenderer2d.cpp
src/Engine2D/graphics/layers/layer.h src/Engine2D/graphics/layers/layer.cpp
src/Engine2D/graphics/layers/group.h src/Engine2D/graphics/layers/group.cpp
src/Engine2D/graphics/texture.h src/Engine2D/graphics/texture.cpp
src/Engine2D/flow.h src/Engine2D/flow.cpp
src/Engine2D/graphics/textureManager.cpp src/Engine2D/graphics/textureManager.h
src/Engine2D/graphics/mask.h src/Engine2D/utils/math.h
src/Engine2D/factories/MeshFactory.cpp src/Engine2D/factories/MeshFactory.h
src/Engine2D/graphics/frameBuffer.cpp src/Engine2D/graphics/frameBuffer.h
src/Engine2D/graphics/PostEffect.cpp src/Engine2D/graphics/PostEffect.h
src/Engine2D/graphics/PostEffectPass.cpp src/Engine2D/graphics/PostEffectPass.h
src/Engine2D/events/Event.cpp src/Engine2D/events/Event.h
src/Engine2D/events/IEventListener.h src/Engine2D/events/KeyEvent.cpp src/Engine2D/events/KeyEvent.h
src/Engine2D/events/KeyEvent.cpp src/Engine2D/events/KeyEvent.h
src/Engine2D/events/MouseEvent.cpp src/Engine2D/events/MouseEvent.h
src/Engine2D/api/API.cpp src/Engine2D/api/API.h)
src/graphics/shader.cpp src/graphics/shader.h
src/utils/fileutils.h
src/graphics/window.cpp src/graphics/window.h
src/graphics/buffer/vertexBuffer.h src/graphics/buffer/vertexBuffer.cpp
src/graphics/buffer/vertexArray.h src/graphics/buffer/vertexArray.cpp
src/graphics/buffer/indexBuffer.h src/graphics/buffer/indexBuffer.cpp
src/graphics/sprite.h src/graphics/sprite.cpp
src/graphics/renderer2d.h src/graphics/renderer2d.cpp
src/graphics/renderable2d.h src/graphics/renderable2d.cpp
src/graphics/batchRenderer2d.h src/graphics/batchRenderer2d.cpp
src/graphics/layers/layer.h src/graphics/layers/layer.cpp
src/graphics/layers/group.h src/graphics/layers/group.cpp
src/graphics/texture.h src/graphics/texture.cpp
src/flow.h src/flow.cpp
src/graphics/textureManager.cpp src/graphics/textureManager.h
src/graphics/mask.h src/utils/math.h
src/factories/MeshFactory.cpp src/factories/MeshFactory.h
src/graphics/frameBuffer.cpp src/graphics/frameBuffer.h
src/graphics/PostEffect.cpp src/graphics/PostEffect.h
src/graphics/PostEffectPass.cpp src/graphics/PostEffectPass.h
src/events/Event.cpp src/events/Event.h
src/events/IEventListener.h src/events/KeyEvent.cpp src/events/KeyEvent.h
src/events/KeyEvent.cpp src/events/KeyEvent.h
src/events/MouseEvent.cpp src/events/MouseEvent.h
src/api/API.cpp src/api/API.h)

add_definitions(-Dinterface=class)

Expand Down
6 changes: 3 additions & 3 deletions src/factories/MeshFactory.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,13 @@ namespace FlowEngine { namespace Graphics {

vertexArray->bind();
API::bindBuffer(GL_ARRAY_BUFFER, bufferID);
API::setBufferData(GL_ARRAY_BUFFER, RENDERER_SPRITE_SIZE, quad, GL_STATIC_DRAW);
API::setBufferData(GL_ARRAY_BUFFER, Renderer2D::SPRITE_BYTE_SIZE, quad, GL_STATIC_DRAW);

API::enableVertexAttribute(POSITION);
API::enableVertexAttribute(UV);

API::setVertexAttributePointer(POSITION, 3, GL_FLOAT, false, RENDERER_VERTEX_SIZE, offsetof(VertexData, position));
API::setVertexAttributePointer(UV, 2, GL_FLOAT, false, RENDERER_VERTEX_SIZE, offsetof(VertexData, uv));
API::setVertexAttributePointer(POSITION, 3, GL_FLOAT, false, Renderer2D::VERTEX_BYTE_SIZE, offsetof(VertexData, position));
API::setVertexAttributePointer(UV, 2, GL_FLOAT, false, Renderer2D::VERTEX_BYTE_SIZE, offsetof(VertexData, uv));
API::unbindBuffers(GL_ARRAY_BUFFER);
vertexArray->unbind();

Expand Down
6 changes: 3 additions & 3 deletions src/graphics/batchRenderer2d.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ namespace FlowEngine { namespace Graphics {
mScreenQuad(MeshFactory::generateQuad(0, 0, screenSize.x, screenSize.y)),
mPostEffectBuffer(new FrameBuffer(screenSize.x, screenSize.y))
{
mVBO->resize(RENDERER_BUFFER_SIZE);
mVBO->resize(Renderer2D::MAX_VERTEX_BUFFER_BYTE_SIZE);

mVBO->setAttribute<glm::vec3>(POSITION);
mVBO->setAttribute<uint>(COLOR, 4, true);
Expand All @@ -21,7 +21,7 @@ namespace FlowEngine { namespace Graphics {

mVAO->addBuffer(mVBO);

std::vector<GLuint> indices(RENDERER_INDICES_SIZE);
std::vector<GLuint> indices(Renderer2D::MAX_INDICES_BYTE_SIZE);
for(int i=0, offset=0; i < indices.size(); i+=6, offset+=4)
{
indices[i] = offset;
Expand Down Expand Up @@ -73,7 +73,7 @@ namespace FlowEngine { namespace Graphics {
if (!found) {
mTextureSlots.push_back(textureID);
textureSlot = mTextureSlots.size();
if (textureSlot >= RENDERER_MAX_TEXTURES) {
if (textureSlot >= Renderer2D::MAX_TEXTURES) {
end();
flush();
begin();
Expand Down
7 changes: 0 additions & 7 deletions src/graphics/batchRenderer2d.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,6 @@

namespace FlowEngine { namespace Graphics {

#define RENDERER_MAX_SPRITES 60000
#define RENDERER_MAX_TEXTURES 31
#define RENDERER_VERTEX_SIZE sizeof(VertexData)
#define RENDERER_SPRITE_SIZE RENDERER_VERTEX_SIZE * 4
#define RENDERER_BUFFER_SIZE RENDERER_SPRITE_SIZE * RENDERER_MAX_SPRITES
#define RENDERER_INDICES_SIZE RENDERER_MAX_SPRITES * 6

class BatchRenderer2D : public Renderer2D
{
private:
Expand Down
4 changes: 2 additions & 2 deletions src/graphics/layers/layer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ namespace FlowEngine { namespace Graphics {
mShader->uniform("pr_matrix", mProjectionMatrix);

std::vector<int> texIds;
for(int i=0; i<RENDERER_MAX_TEXTURES+1; i++)
for(int i=0; i<Renderer2D::MAX_TEXTURES+1; i++)
texIds.push_back(i);
mShader->uniform("textures", texIds.data(), RENDERER_MAX_TEXTURES+1);
mShader->uniform("textures", texIds.data(), Renderer2D::MAX_TEXTURES+1);
mShader->disable();
}

Expand Down
10 changes: 0 additions & 10 deletions src/graphics/renderable2d.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,6 @@

namespace FlowEngine { namespace Graphics {

struct VertexData
{
glm::vec3 position;
uint color;
glm::vec2 uv;
glm::vec2 maskUv;
float tid;
float mid;
};

class Renderable2D
{
protected:
Expand Down
18 changes: 18 additions & 0 deletions src/graphics/renderer2d.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,26 @@
namespace FlowEngine { namespace Graphics {

class Renderable2D;
struct VertexData
{
glm::vec3 position;
uint color;
glm::vec2 uv;
glm::vec2 maskUv;
float tid;
float mid;
};

class Renderer2D
{
public:
static const uint VERTEX_BYTE_SIZE = sizeof(VertexData);
static const uint SPRITE_BYTE_SIZE = VERTEX_BYTE_SIZE * 4;

static const uint MAX_SPRITES = 60000;
static const uint MAX_TEXTURES = 31;
static const uint MAX_VERTEX_BUFFER_BYTE_SIZE = SPRITE_BYTE_SIZE * MAX_SPRITES;
static const uint MAX_INDICES_BYTE_SIZE = MAX_SPRITES * 6;
protected:
std::vector<glm::mat4> mTransformationStack;
const glm::mat4* mTransformationBack;
Expand Down

0 comments on commit 901e4f6

Please sign in to comment.