Cleanup GenericBuffer

This commit is contained in:
2026-09-22 16:42:30 +02:00
parent e8674a6bcd
commit 2fb4e38209
8 changed files with 155 additions and 250 deletions

View File

@@ -174,49 +174,45 @@ pub fn init() !Game {
var vertex_buffer = try shaders.VertexBuffer.init(.{
.usage = .vertex,
.target_queue = .graphics,
.array_capacity = 4,
.capacity = 4,
.name = "QuadVB",
});
errdefer vertex_buffer.deinit();
try vertex_buffer.write(.{
.elements = &.{
.init(
.init(0, 0, 0),
.init(0, 1),
.init(0, 0, 1),
.init(1, 0, 0, -1),
),
.init(
.init(1, 0, 0),
.init(1, 1),
.init(0, 0, 1),
.init(1, 0, 0, -1),
),
.init(
.init(0, 1, 0),
.init(0, 0),
.init(0, 0, 1),
.init(1, 0, 0, -1),
),
.init(
.init(1, 1, 0),
.init(1, 0),
.init(0, 0, 1),
.init(1, 0, 0, -1),
),
},
try vertex_buffer.writeSlice(&.{
.init(
.init(0, 0, 0),
.init(0, 1),
.init(0, 0, 1),
.init(1, 0, 0, -1),
),
.init(
.init(1, 0, 0),
.init(1, 1),
.init(0, 0, 1),
.init(1, 0, 0, -1),
),
.init(
.init(0, 1, 0),
.init(0, 0),
.init(0, 0, 1),
.init(1, 0, 0, -1),
),
.init(
.init(1, 1, 0),
.init(1, 0),
.init(0, 0, 1),
.init(1, 0, 0, -1),
),
});
var index_buffer = try shaders.IndexBuffer.init(.{
.usage = .index,
.target_queue = .graphics,
.array_capacity = 6,
.capacity = 6,
.name = "QuadIB",
});
errdefer index_buffer.deinit();
try index_buffer.write(.{
.elements = &.{ 0, 1, 2, 2, 1, 3 },
});
try index_buffer.writeSlice(&.{ 0, 1, 2, 2, 1, 3 });
var global_uniforms = try shaders.GlobalUniformsBuffer.init(.{
.usage = .uniform,
@@ -255,7 +251,7 @@ pub fn init() !Game {
var point_lights = try shaders.PointLightBuffer.init(.{
.usage = .storage,
.target_queue = .graphics,
.array_capacity = max_point_lights,
.capacity = max_point_lights,
.name = "PointLights",
});
errdefer point_lights.deinit();
@@ -263,7 +259,7 @@ pub fn init() !Game {
var directional_lights = try shaders.DirectionalLightBuffer.init(.{
.usage = .storage,
.target_queue = .graphics,
.array_capacity = max_directional_lights,
.capacity = max_directional_lights,
.name = "DirectionalLights",
});
errdefer directional_lights.deinit();
@@ -620,8 +616,8 @@ pub fn init() !Game {
});
}
try point_lights.write(.{ .elements = &point_lights_data });
try directional_lights.write(.{ .elements = &directional_lights_data });
try point_lights.writeSlice(&point_lights_data);
try directional_lights.writeSlice(&directional_lights_data);
var skybox = try Skybox.load("skybox.hdr", 512, global_uniforms.buffer);
errdefer skybox.deinit();