2026-07-28 23:30:07 +01:00
|
|
|
//! ----------------------------------------------------
|
|
|
|
|
//! ----------------------------------------------------
|
|
|
|
|
|
|
|
|
|
const App = @import("app");
|
2026-07-29 21:36:00 +01:00
|
|
|
const Zla = @import("zla");
|
2026-07-28 23:30:07 +01:00
|
|
|
const Renderer = @import("../resource/renderer.zig");
|
|
|
|
|
|
|
|
|
|
/// ----------------------------------------------------
|
|
|
|
|
/// ----------------------------------------------------
|
|
|
|
|
pub fn init(app: *App) !void {
|
2026-07-29 21:36:00 +01:00
|
|
|
// --- # ---
|
|
|
|
|
const zla = app.resources.getPtr(Zla) orelse return error.ZlaNotSet;
|
|
|
|
|
|
|
|
|
|
// --- # ---
|
|
|
|
|
const renderer = try app.resources.getOrSet(Renderer.init(
|
2026-07-28 23:30:07 +01:00
|
|
|
app.alloc,
|
|
|
|
|
));
|
2026-07-29 21:36:00 +01:00
|
|
|
|
|
|
|
|
// --- REGISTER ---
|
|
|
|
|
zla.registerMethods(Renderer, &.{
|
|
|
|
|
.{ .name = "beginPass", .func = Renderer.beginPass },
|
|
|
|
|
.{ .name = "endPass", .func = Renderer.endPass },
|
|
|
|
|
.{ .name = "drawTriangle", .func = Renderer.drawTriangle },
|
|
|
|
|
.{ .name = "drawSquare", .func = Renderer.drawSquare },
|
|
|
|
|
});
|
|
|
|
|
zla.pushUserdata(renderer);
|
|
|
|
|
zla.setGlobal("ren");
|
2026-07-28 23:30:07 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// ----------------------------------------------------
|
|
|
|
|
/// ----------------------------------------------------
|
|
|
|
|
pub fn deinit(app: *App) !void {
|
|
|
|
|
const renderer = app.resources.getPtr(Renderer) orelse return error.RendererNotSet;
|
|
|
|
|
renderer.deinit();
|
|
|
|
|
}
|