summaryrefslogtreecommitdiff
path: root/src/rendering/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/rendering/include')
-rw-r--r--src/rendering/include/engine/rendering/rendering.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/rendering/include/engine/rendering/rendering.h b/src/rendering/include/engine/rendering/rendering.h
index d6311de..4babe6d 100644
--- a/src/rendering/include/engine/rendering/rendering.h
+++ b/src/rendering/include/engine/rendering/rendering.h
@@ -82,6 +82,28 @@ typedef struct {
ShaderBuffer* buffer;
} RenderObject;
+typedef struct {
+ isize count;
+ // TODO: Add index buffer?
+ f32 *vertices;
+} RenderModel;
+
+typedef struct {
+ // Size and count of models
+ isize msize;
+ isize mcount;
+ // Size and count of vertices
+ isize vsize;
+ isize vcount;
+ // Should we keep track of each added model?
+ // sort of like an array of pointers?
+ // then have a function to update each model?
+ RenderModel *models;
+ u32 vertexbuffer;
+ f32 *vertices;
+ // TODO: Add index buffer?
+} RenderBatch;
+
typedef enum {
Camera_Perspective,
Camera_Orthogonal,
@@ -134,6 +156,7 @@ typedef enum {
RenderDrawCallType_Text,
RenderDrawCallType_Sprite,
RenderDrawCallType_Model,
+ RenderDrawCallType_Batch,
} RenderDrawCallType;
typedef struct {
@@ -151,6 +174,10 @@ typedef struct {
vec3 pos;
f32 scale;
} model;
+ struct {
+ RenderObject* model;
+ isize id;
+ } batch;
} data;
} RenderDrawCall;