all: improve module event names, gfx.Sprite/gfx.Text init

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
Stephen Gutekanst 2024-03-25 09:15:10 -07:00 committed by Stephen Gutekanst
parent 15d9efcf26
commit f3f4524f1b
6 changed files with 20 additions and 26 deletions

View file

@ -59,14 +59,10 @@ fn init(
// The Mach .core is where we set window options, etc.
core.setTitle("gfx.Sprite example");
// Initialize mach.gfx.Text module
text_mod.send(.init, .{});
// Tell sprite_mod to use the texture
sprite_mod.send(.init, .{});
engine.dispatchNoError(); // TODO: no dispatch in user code
const texture = text_mod.state.texture;
sprite_mod.send(.initPipeline, .{Sprite.PipelineOptions{
sprite_mod.send(.init_pipeline, .{Sprite.PipelineOptions{
.pipeline = @intFromEnum(Pipeline.text),
.texture = texture,
}});
@ -200,12 +196,12 @@ fn tick(
sprite_mod.send(.updated, .{@intFromEnum(Pipeline.text)});
// Perform pre-render work
sprite_mod.send(.preRender, .{@intFromEnum(Pipeline.text)});
sprite_mod.send(.pre_render, .{@intFromEnum(Pipeline.text)});
// Render a frame
engine.send(.beginPass, .{gpu.Color{ .r = 1.0, .g = 1.0, .b = 1.0, .a = 1.0 }});
engine.send(.begin_pass, .{gpu.Color{ .r = 1.0, .g = 1.0, .b = 1.0, .a = 1.0 }});
sprite_mod.send(.render, .{@intFromEnum(Pipeline.text)});
engine.send(.endPass, .{});
engine.send(.end_pass, .{});
engine.send(.present, .{}); // Present the frame
// Every second, update the window title with the FPS

View file

@ -68,8 +68,7 @@ fn init(
try sprite_mod.set(player, .uv_transform, Mat3x3.translate(vec2(0, 0)));
try sprite_mod.set(player, .pipeline, @intFromEnum(Pipeline.default));
sprite_mod.send(.init, .{});
sprite_mod.send(.initPipeline, .{Sprite.PipelineOptions{
sprite_mod.send(.init_pipeline, .{Sprite.PipelineOptions{
.pipeline = @intFromEnum(Pipeline.default),
.texture = try loadTexture(engine),
}});
@ -180,12 +179,12 @@ fn tick(
sprite_mod.send(.updated, .{@intFromEnum(Pipeline.default)});
// Perform pre-render work
sprite_mod.send(.preRender, .{@intFromEnum(Pipeline.default)});
sprite_mod.send(.pre_render, .{@intFromEnum(Pipeline.default)});
// Render a frame
engine.send(.beginPass, .{gpu.Color{ .r = 1.0, .g = 1.0, .b = 1.0, .a = 1.0 }});
engine.send(.begin_pass, .{gpu.Color{ .r = 1.0, .g = 1.0, .b = 1.0, .a = 1.0 }});
sprite_mod.send(.render, .{@intFromEnum(Pipeline.default)});
engine.send(.endPass, .{});
engine.send(.end_pass, .{});
engine.send(.present, .{}); // Present the frame
// Every second, update the window title with the FPS

View file

@ -108,8 +108,7 @@ fn init(
try text_mod.set(player, .text, text1);
try text_mod.set(player, .style, styles);
text_mod.send(.init, .{});
text_mod.send(.initPipeline, .{Text.PipelineOptions{
text_mod.send(.init_pipeline, .{Text.PipelineOptions{
.pipeline = @intFromEnum(Pipeline.default),
}});
engine.dispatchNoError(); // TODO: no dispatch in user code
@ -230,12 +229,12 @@ fn tick(
text_mod.send(.updated, .{@intFromEnum(Pipeline.default)});
// Perform pre-render work
text_mod.send(.preRender, .{@intFromEnum(Pipeline.default)});
text_mod.send(.pre_render, .{@intFromEnum(Pipeline.default)});
// Render a frame
engine.send(.beginPass, .{gpu.Color{ .r = 1.0, .g = 1.0, .b = 1.0, .a = 1.0 }});
engine.send(.begin_pass, .{gpu.Color{ .r = 1.0, .g = 1.0, .b = 1.0, .a = 1.0 }});
text_mod.send(.render, .{@intFromEnum(Pipeline.default)});
engine.send(.endPass, .{});
engine.send(.end_pass, .{});
engine.send(.present, .{}); // Present the frame
// Every second, update the window title with the FPS

View file

@ -22,8 +22,8 @@ pub const Engine = struct {
.{ .local = .init, .handler = init },
.{ .local = .deinit, .handler = deinit },
.{ .local = .exit, .handler = exit },
.{ .local = .beginPass, .handler = beginPass },
.{ .local = .endPass, .handler = endPass },
.{ .local = .begin_pass, .handler = beginPass },
.{ .local = .end_pass, .handler = endPass },
.{ .local = .present, .handler = present },
.{ .global = .tick, .handler = fn () void },
.{ .global = .exit, .handler = fn () void },

View file

@ -41,10 +41,10 @@ pub const components = struct {
pub const events = .{
.{ .global = .deinit, .handler = deinit },
.{ .local = .init, .handler = init },
.{ .local = .initPipeline, .handler = initPipeline },
.{ .global = .init, .handler = init },
.{ .local = .init_pipeline, .handler = initPipeline },
.{ .local = .updated, .handler = updated },
.{ .local = .preRender, .handler = preRender },
.{ .local = .pre_render, .handler = preRender },
.{ .local = .render, .handler = render },
};

View file

@ -66,10 +66,10 @@ pub const components = struct {
pub const events = .{
.{ .global = .deinit, .handler = deinit },
.{ .local = .init, .handler = init },
.{ .local = .initPipeline, .handler = initPipeline },
.{ .global = .init, .handler = init },
.{ .local = .init_pipeline, .handler = initPipeline },
.{ .local = .updated, .handler = updated },
.{ .local = .preRender, .handler = preRender },
.{ .local = .pre_render, .handler = preRender },
.{ .local = .render, .handler = render },
};