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"); });