Work on passes/pipeline, render targets

This commit is contained in:
2026-01-26 20:45:29 +01:00
parent 6b2d76bd8a
commit bd4b81d434
7 changed files with 764 additions and 160 deletions

View File

@@ -8,8 +8,13 @@ Mesh :: struct {
Mesh_Handle :: distinct u32
Buffer_Handle :: distinct u32
Mesh_Layout :: struct {
name: string,
amount: u8,
type_size: u32,
}
create_mesh :: proc(renderer: ^Renderer, vertices: []f32, indices: []u32) -> (Mesh, bool) { // TODO: SS - Should probably return a Mesh_Handle.
create_mesh :: proc(renderer: ^Renderer, layout: []Mesh_Layout, vertices: []f32, indices: []u32) -> (Mesh, bool) { // TODO: SS - Should probably return a Mesh_Handle.
mesh: Mesh
if len(vertices) == 0 {
@@ -23,7 +28,7 @@ create_mesh :: proc(renderer: ^Renderer, vertices: []f32, indices: []u32) -> (Me
m.amount_of_indices = u32(len(indices))
when RENDER_BACKEND_OPENGL {
opengl_mesh, ok := opengl_create_mesh(renderer, vertices, indices)
opengl_mesh, ok := opengl_create_mesh(renderer, layout, vertices, indices)
if !ok {
return {}, false
}