summaryrefslogtreecommitdiff
path: root/source/renderer/renderer.h
blob: 806d832dfcd6c9e0d8e7a65a5609b3d4f03c112f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#pragma once

u32 gl_shader_program(char *vs, char *fs);
u32 gl_shader_program_from_path(const char *vspath, const char *fspath);

// ==================== QUADS ====================
u32 gl_setup_colored_quad(u32 sp);
void gl_draw_colored_quad(
	GLRenderer* renderer,
	Vec3 position,
	Vec2 size,
	Vec3 color
    );

// batched renderer
void gl_setup_colored_quad_optimized(
	GLRenderer* renderer, 
	u32 sp
	);
void gl_draw_colored_quad_optimised(
	GLRenderer* renderer,
	Vec3 position,
	Vec2 size,
	Vec3 color
	);
void gl_cq_flush(GLRenderer *renderer);

// ==================== LINE ====================
void gl_setup_colored_line(GLRenderer *renderer, u32 sp);
void gl_draw_colored_line(
	GLRenderer *renderer,
	Vec3 start,
	Vec3 end,
	Vec2 size,
	Vec3 color
	);
void gl_line_flush(GLRenderer *renderer);

// ==================== FONT RENDERING ====================
void gl_setup_text(TextState *uistate);
void gl_render_text(GLRenderer *renderer, Vec2 position, Vec2 color, r32 size);
void gl_text_flush(GLRenderer *renderer, u32 render_count);