|
@@ -44,6 +44,7 @@ destroy_texture: proc(tex: Texture) : _destroy_texture
|
|
|
|
|
|
|
|
set_camera: proc(camera: Maybe(Camera)) : _set_camera
|
|
set_camera: proc(camera: Maybe(Camera)) : _set_camera
|
|
|
set_scissor_rect: proc(scissor_rect: Maybe(Rect)) : _set_scissor_rect
|
|
set_scissor_rect: proc(scissor_rect: Maybe(Rect)) : _set_scissor_rect
|
|
|
|
|
+set_shader: proc(shader: Maybe(Shader)) : _set_shader
|
|
|
|
|
|
|
|
draw_texture: proc(tex: Texture, pos: Vec2, tint := WHITE) : _draw_texture
|
|
draw_texture: proc(tex: Texture, pos: Vec2, tint := WHITE) : _draw_texture
|
|
|
draw_texture_rect: proc(tex: Texture, rect: Rect, pos: Vec2, tint := WHITE) : _draw_texture_rect
|
|
draw_texture_rect: proc(tex: Texture, rect: Rect, pos: Vec2, tint := WHITE) : _draw_texture_rect
|
|
@@ -53,6 +54,20 @@ draw_rect_outline: proc(rect: Rect, thickness: f32, color: Color) : _draw_rectan
|
|
|
draw_circle: proc(center: Vec2, radius: f32, color: Color) : _draw_circle
|
|
draw_circle: proc(center: Vec2, radius: f32, color: Color) : _draw_circle
|
|
|
draw_line: proc(start: Vec2, end: Vec2, thickness: f32, color: Color) : _draw_line
|
|
draw_line: proc(start: Vec2, end: Vec2, thickness: f32, color: Color) : _draw_line
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+load_shader: proc(vertex_shader_filename: string, fragment_shader_filename: string) -> Shader : _load_shader
|
|
|
|
|
+destroy_shader: proc(shader: Shader) : _destroy_shader
|
|
|
|
|
+
|
|
|
|
|
+get_shader_location: proc(shader: Shader, uniform_name: string) -> int : _get_shader_location
|
|
|
|
|
+
|
|
|
|
|
+set_shader_value_f32: proc(shader: Shader, loc: int, val: f32) : _set_shader_value_f32
|
|
|
|
|
+set_shader_value_vec2: proc(shader: Shader, loc: int, val: Vec2) : _set_shader_value_vec2
|
|
|
|
|
+
|
|
|
|
|
+set_shader_value :: proc {
|
|
|
|
|
+ set_shader_value_f32,
|
|
|
|
|
+ set_shader_value_vec2,
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
// WARNING: Not proper text rendering yet... No font support etc
|
|
// WARNING: Not proper text rendering yet... No font support etc
|
|
|
draw_text: proc(text: string, pos: Vec2, font_size: f32, color: Color) : _draw_text
|
|
draw_text: proc(text: string, pos: Vec2, font_size: f32, color: Color) : _draw_text
|
|
|
|
|
|
|
@@ -86,6 +101,7 @@ Texture :: struct {
|
|
|
width: int,
|
|
width: int,
|
|
|
height: int,
|
|
height: int,
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
Camera :: struct {
|
|
Camera :: struct {
|
|
|
target: Vec2,
|
|
target: Vec2,
|
|
|
origin: Vec2,
|
|
origin: Vec2,
|
|
@@ -113,6 +129,12 @@ MAGENTA :: Color { 255, 0, 255, 255 }
|
|
|
DARKGRAY :: Color{ 80, 80, 80, 255 }
|
|
DARKGRAY :: Color{ 80, 80, 80, 255 }
|
|
|
GREEN :: Color{ 0, 228, 48, 255 }
|
|
GREEN :: Color{ 0, 228, 48, 255 }
|
|
|
|
|
|
|
|
|
|
+// This is plain raylib shader for now, until I rewrite the shader system
|
|
|
|
|
+Shader :: struct {
|
|
|
|
|
+ id: u32,
|
|
|
|
|
+ locs: []i32,
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
// Based on Raylib / GLFW
|
|
// Based on Raylib / GLFW
|
|
|
Keyboard_Key :: enum {
|
|
Keyboard_Key :: enum {
|
|
|
None = 0,
|
|
None = 0,
|