examples: fix/improve custom-renderer example
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
parent
2c8ba82aa3
commit
136c86e929
2 changed files with 19 additions and 15 deletions
|
|
@ -30,7 +30,7 @@ pub const components = .{
|
|||
pub const local_events = .{
|
||||
.init = .{ .handler = init },
|
||||
.deinit = .{ .handler = deinit },
|
||||
.tick = .{ .handler = tick },
|
||||
.render_frame = .{ .handler = renderFrame },
|
||||
};
|
||||
|
||||
const UniformBufferObject = extern struct {
|
||||
|
|
@ -118,7 +118,7 @@ fn deinit(
|
|||
renderer.state().uniform_buffer.release();
|
||||
}
|
||||
|
||||
fn tick(
|
||||
fn renderFrame(
|
||||
core: *mach.Core.Mod,
|
||||
renderer: *Mod,
|
||||
) !void {
|
||||
|
|
@ -132,19 +132,6 @@ fn tick(
|
|||
const encoder = core.state().device.createCommandEncoder(&.{ .label = label });
|
||||
defer encoder.release();
|
||||
|
||||
// Begin render pass
|
||||
const sky_blue_background = gpu.Color{ .r = 0.776, .g = 0.988, .b = 1, .a = 1 };
|
||||
const color_attachments = [_]gpu.RenderPassColorAttachment{.{
|
||||
.view = back_buffer_view,
|
||||
.clear_value = sky_blue_background,
|
||||
.load_op = .clear,
|
||||
.store_op = .store,
|
||||
}};
|
||||
const render_pass = encoder.beginRenderPass(&gpu.RenderPassDescriptor.init(.{
|
||||
.label = label,
|
||||
.color_attachments = &color_attachments,
|
||||
}));
|
||||
|
||||
// Update uniform buffer
|
||||
var archetypes_iter = core.entities.query(.{ .all = &.{
|
||||
.{ .renderer = &.{ .position, .scale } },
|
||||
|
|
@ -166,6 +153,19 @@ fn tick(
|
|||
}
|
||||
}
|
||||
|
||||
// Begin render pass
|
||||
const sky_blue_background = gpu.Color{ .r = 0.776, .g = 0.988, .b = 1, .a = 1 };
|
||||
const color_attachments = [_]gpu.RenderPassColorAttachment{.{
|
||||
.view = back_buffer_view,
|
||||
.clear_value = sky_blue_background,
|
||||
.load_op = .clear,
|
||||
.store_op = .store,
|
||||
}};
|
||||
const render_pass = encoder.beginRenderPass(&gpu.RenderPassDescriptor.init(.{
|
||||
.label = label,
|
||||
.color_attachments = &color_attachments,
|
||||
}));
|
||||
|
||||
// Draw
|
||||
for (renderer.state().bind_groups[0..num_entities]) |bind_group| {
|
||||
render_pass.setPipeline(renderer.state().pipeline);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue