From b1d092b6e3b640107af9c186e9f3d467923cdf76 Mon Sep 17 00:00:00 2001 From: Lorenzo Torres Date: Thu, 7 Aug 2025 03:57:53 +0200 Subject: [PATCH] Cleaned up rendering module --- build.zig | 20 +++++++++----------- src/ecs/entities.zig | 5 +++-- src/rendering.zig | 4 ++++ src/{renderer => rendering}/Camera.zig | 0 src/{renderer => rendering}/Mesh.zig | 0 src/{renderer => rendering}/Renderer.zig | 4 ++-- src/{renderer => rendering}/Texture.zig | 0 src/{renderer => rendering}/gltf.zig | 0 src/{renderer => rendering}/vulkan.zig | 0 src/sideros.zig | 4 +++- 10 files changed, 21 insertions(+), 16 deletions(-) create mode 100644 src/rendering.zig rename src/{renderer => rendering}/Camera.zig (100%) rename src/{renderer => rendering}/Mesh.zig (100%) rename src/{renderer => rendering}/Renderer.zig (98%) rename src/{renderer => rendering}/Texture.zig (100%) rename src/{renderer => rendering}/gltf.zig (100%) rename src/{renderer => rendering}/vulkan.zig (100%) diff --git a/build.zig b/build.zig index a827521..b1ddcbb 100644 --- a/build.zig +++ b/build.zig @@ -24,21 +24,19 @@ pub fn build(b: *std.Build) void { .optimize = optimize, }); - const renderer = b.createModule(.{ - .root_source_file = b.path("src/renderer/Renderer.zig"), + const rendering = b.createModule(.{ + .root_source_file = b.path("src/rendering.zig"), .target = target, .optimize = optimize, .link_libc = true, }); - renderer.addIncludePath(b.path("ext")); - renderer.addCSourceFile(.{ .file = b.path("ext/stb_image.c") }); - //renderer.addImport("sideros", sideros); - renderer.addImport("math", math); - renderer.addImport("ecs", ecs); - // TODO(ernesto): ecs and renderer should be decoupled - ecs.addImport("renderer", renderer); + rendering.addIncludePath(b.path("ext")); + rendering.addCSourceFile(.{ .file = b.path("ext/stb_image.c") }); + rendering.addImport("math", math); + rendering.addImport("ecs", ecs); + ecs.addImport("rendering", rendering); - compileAllShaders(b, renderer); + compileAllShaders(b, rendering); const sideros = b.addLibrary(.{ .name = "sideros", @@ -53,7 +51,7 @@ pub fn build(b: *std.Build) void { sideros.root_module.addImport("mods", mods); sideros.root_module.addImport("ecs", ecs); - sideros.root_module.addImport("renderer", renderer); + sideros.root_module.addImport("rendering", rendering); b.installArtifact(sideros); diff --git a/src/ecs/entities.zig b/src/ecs/entities.zig index a848108..63814b1 100644 --- a/src/ecs/entities.zig +++ b/src/ecs/entities.zig @@ -2,8 +2,9 @@ const std = @import("std"); const Allocator = std.mem.Allocator; const components = @import("components.zig"); const sparse = @import("sparse.zig"); -const Renderer = @import("renderer"); -const Camera = @import("renderer").Camera; +const rendering = @import("rendering"); +const Renderer = rendering.Renderer; +const Camera = rendering.Camera; const ecs = @import("ecs.zig"); const Input = ecs.Input; diff --git a/src/rendering.zig b/src/rendering.zig new file mode 100644 index 0000000..f821cb6 --- /dev/null +++ b/src/rendering.zig @@ -0,0 +1,4 @@ +pub const Mesh = @import("rendering/Mesh.zig"); +pub const vk = @import("rendering/vulkan.zig"); +pub const Camera = @import("rendering/Camera.zig"); +pub const Renderer = @import("rendering/Renderer.zig"); diff --git a/src/renderer/Camera.zig b/src/rendering/Camera.zig similarity index 100% rename from src/renderer/Camera.zig rename to src/rendering/Camera.zig diff --git a/src/renderer/Mesh.zig b/src/rendering/Mesh.zig similarity index 100% rename from src/renderer/Mesh.zig rename to src/rendering/Mesh.zig diff --git a/src/renderer/Renderer.zig b/src/rendering/Renderer.zig similarity index 98% rename from src/renderer/Renderer.zig rename to src/rendering/Renderer.zig index b4017f1..1483848 100644 --- a/src/renderer/Renderer.zig +++ b/src/rendering/Renderer.zig @@ -2,9 +2,9 @@ const math = @import("math"); const ecs = @import("ecs"); const std = @import("std"); const vk = @import("vulkan.zig"); -pub const Mesh = @import("Mesh.zig"); +const Mesh = @import("Mesh.zig"); const Texture = vk.Texture; -pub const Camera = @import("Camera.zig"); +const Camera = @import("Camera.zig"); const Allocator = std.mem.Allocator; const Renderer = @This(); diff --git a/src/renderer/Texture.zig b/src/rendering/Texture.zig similarity index 100% rename from src/renderer/Texture.zig rename to src/rendering/Texture.zig diff --git a/src/renderer/gltf.zig b/src/rendering/gltf.zig similarity index 100% rename from src/renderer/gltf.zig rename to src/rendering/gltf.zig diff --git a/src/renderer/vulkan.zig b/src/rendering/vulkan.zig similarity index 100% rename from src/renderer/vulkan.zig rename to src/rendering/vulkan.zig diff --git a/src/sideros.zig b/src/sideros.zig index 532e4e1..a37d83c 100644 --- a/src/sideros.zig +++ b/src/sideros.zig @@ -1,7 +1,9 @@ pub const ecs = @import("ecs"); -pub const Renderer = @import("renderer"); +pub const rendering = @import("rendering"); pub const mods = @import("mods"); +const Renderer = rendering.Renderer; + const api = @cImport({ @cInclude("sideros_api.h"); });