summaryrefslogtreecommitdiff
path: root/src/render/gl_2d.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/render/gl_2d.h')
-rw-r--r--src/render/gl_2d.h39
1 files changed, 32 insertions, 7 deletions
diff --git a/src/render/gl_2d.h b/src/render/gl_2d.h
index 9830516..25dbd4d 100644
--- a/src/render/gl_2d.h
+++ b/src/render/gl_2d.h
@@ -1,21 +1,24 @@
#pragma once
#include "gl.h"
+#include "gl_batch.h"
+using GL_BATCH2D = GL_BATCH<VERTEX>;
extern GL_SHADER_PROGRAM* gl_2d_init( GL_DATA* gl, VEC2 screensize, const char* shadername );
-void gl_polygon( GL_SHADER_PROGRAM* gl2d, VERTEX* vertices, U32 vertices_count );
-void gl_textured_polygon(
- GL_SHADER_PROGRAM* gl2d,
- VERTEX* vertices,
- U32 vertices_count,
- GL_TEX2D* tex
-);
+extern void gl_2d_batch_setup( GL_BATCH2D* batch );
extern void gl_2d_line( GL_SHADER_PROGRAM* gl2d, VEC2 start, VEC2 end, CLR col );
extern void gl_2d_rect( GL_SHADER_PROGRAM* gl2d, VEC2 origin, VEC2 dimensions, CLR col );
extern void gl_2d_frect( GL_SHADER_PROGRAM* gl2d, VEC2 origin, VEC2 dimensions, CLR col );
extern void gl_2d_circle( GL_SHADER_PROGRAM* gl2d, VEC2 origin, F32 radius, CLR col, U32 res = 48 );
extern void gl_2d_fcircle( GL_SHADER_PROGRAM* gl2d, VEC2 origin, F32 radius, CLR col, U32 res = 48 );
+extern void gl_2d_polygon( GL_SHADER_PROGRAM* gl2d, VERTEX* vertices, U32 vertices_count );
+extern void gl_2d_textured_polygon(
+ GL_SHADER_PROGRAM* gl2d,
+ VERTEX* vertices,
+ U32 vertices_count,
+ GL_TEX2D* tex
+);
extern void gl_2d_textured_frect(
GL_SHADER_PROGRAM* gl2d,
VEC2 origin,
@@ -25,3 +28,25 @@ extern void gl_2d_textured_frect(
VEC2* uv = 0,
F32 rotation = 0.F
);
+
+extern void gl_2d_line( GL_BATCH2D* batch, VEC2 start, VEC2 end, CLR col );
+extern void gl_2d_rect( GL_BATCH2D* batch, VEC2 origin, VEC2 dimensions, CLR col );
+extern void gl_2d_frect( GL_BATCH2D* batch, VEC2 origin, VEC2 dimensions, CLR col );
+extern void gl_2d_circle( GL_BATCH2D* batch, VEC2 origin, F32 radius, CLR col, U32 res = 48 );
+extern void gl_2d_fcircle( GL_BATCH2D* batch, VEC2 origin, F32 radius, CLR col, U32 res = 48 );
+extern void gl_2d_polygon( GL_BATCH2D* batch, VERTEX* vertices, U32 vertices_count );
+extern void gl_2d_textured_polygon(
+ GL_BATCH2D* batch,
+ VERTEX* vertices,
+ U32 vertices_count,
+ GL_TEX2D* tex
+);
+extern void gl_2d_textured_frect(
+ GL_BATCH2D* batch,
+ VEC2 origin,
+ VEC2 dim,
+ GL_TEX2D* texture,
+ CLR col = { 1.f, 1.f, 1.f, 1.f },
+ VEC2* uv = 0,
+ F32 rotation = 0.F
+);