UI quad and Vector2 uniform.

This commit is contained in:
2026-02-10 10:37:33 +01:00
parent cb19295575
commit c1002d5db2
5 changed files with 90 additions and 12 deletions

View File

@@ -27,7 +27,7 @@ Renderer :: struct {
active_camera: ^Camera, // NOTE: SS - Hardcoded to 1 active camera. Split-screen is likely not possible due to this. Fix(?).
// Primitive meshes.
default_cube_mesh, default_quad_mesh, default_sphere_mesh: Mesh,
default_cube_mesh, default_quad_world_mesh, default_quad_ui_mesh, default_sphere_mesh: Mesh,
fullscreen_vertex_shader, fullscreen_fragment_shader: Shader,
fullscreen_shader_program: Shader_Program,
@@ -97,13 +97,16 @@ create :: proc(render_resolution: Resolution, surface_ptr: rawptr) -> (^Renderer
set_vsync(renderer, true)
{ // Create the default mesh-primitives.
// default_cube_mesh, default_quad_mesh, default_sphere_mesh: Mesh,
// default_cube_mesh, default_quad_world_mesh, default_sphere_mesh: Mesh,
if m, ok := create_mesh(renderer, .Cube); ok {
renderer.default_cube_mesh = m
}
if m, ok := create_mesh(renderer, .Quad); ok {
renderer.default_quad_mesh = m
if m, ok := create_mesh(renderer, .World_Quad); ok {
renderer.default_quad_world_mesh = m
}
if m, ok := create_mesh(renderer, .UI_Quad); ok {
renderer.default_quad_ui_mesh = m
}
if m, ok := create_mesh(renderer, .Sphere); ok {
renderer.default_sphere_mesh = m
@@ -321,7 +324,7 @@ execute_post_processing_node :: proc(renderer: ^Renderer, node: ^Post_Processing
destroy :: proc(renderer: ^Renderer) {
delete_mesh(renderer, &renderer.default_cube_mesh)
delete_mesh(renderer, &renderer.default_quad_mesh)
delete_mesh(renderer, &renderer.default_quad_world_mesh)
delete_mesh(renderer, &renderer.default_sphere_mesh)
when RENDER_BACKEND_OPENGL {