From a61463b205f3c3aaa9174cdae3704a8a53542aea Mon Sep 17 00:00:00 2001 From: HampusM Date: Thu, 13 Aug 2026 16:39:05 +0200 Subject: feat: add sky box --- res/sky_box/cubemap_0.png | Bin 0 -> 1066007 bytes res/sky_box/cubemap_1.png | Bin 0 -> 1066168 bytes res/sky_box/cubemap_2.png | Bin 0 -> 1064019 bytes res/sky_box/cubemap_3.png | Bin 0 -> 1064790 bytes res/sky_box/cubemap_4.png | Bin 0 -> 1062236 bytes res/sky_box/cubemap_5.png | Bin 0 -> 1078695 bytes src/main.rs | 23 ++++++++++++++++++++++- 7 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 res/sky_box/cubemap_0.png create mode 100644 res/sky_box/cubemap_1.png create mode 100644 res/sky_box/cubemap_2.png create mode 100644 res/sky_box/cubemap_3.png create mode 100644 res/sky_box/cubemap_4.png create mode 100644 res/sky_box/cubemap_5.png diff --git a/res/sky_box/cubemap_0.png b/res/sky_box/cubemap_0.png new file mode 100644 index 0000000..5f8e75c Binary files /dev/null and b/res/sky_box/cubemap_0.png differ diff --git a/res/sky_box/cubemap_1.png b/res/sky_box/cubemap_1.png new file mode 100644 index 0000000..4b4e594 Binary files /dev/null and b/res/sky_box/cubemap_1.png differ diff --git a/res/sky_box/cubemap_2.png b/res/sky_box/cubemap_2.png new file mode 100644 index 0000000..4233289 Binary files /dev/null and b/res/sky_box/cubemap_2.png differ diff --git a/res/sky_box/cubemap_3.png b/res/sky_box/cubemap_3.png new file mode 100644 index 0000000..fa84308 Binary files /dev/null and b/res/sky_box/cubemap_3.png differ diff --git a/res/sky_box/cubemap_4.png b/res/sky_box/cubemap_4.png new file mode 100644 index 0000000..c67b8f9 Binary files /dev/null and b/res/sky_box/cubemap_4.png differ diff --git a/res/sky_box/cubemap_5.png b/res/sky_box/cubemap_5.png new file mode 100644 index 0000000..eba15c4 Binary files /dev/null and b/res/sky_box/cubemap_5.png differ diff --git a/src/main.rs b/src/main.rs index b289332..114228e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -37,6 +37,8 @@ use engine::rendering::{ TargetWindow as RenderingTargetWindow, }; use engine::scene::{Active as ActiveScene, Scene}; +use engine::sky_box::SkyBox; +use engine::texture::CubeMapFace; use engine::transform::WorldPosition; use engine::ui::dear_imgui::{ Context as DearImguiContext, @@ -133,7 +135,26 @@ fn init(mut assets: Single, mut actions: Actions) -> Result<(), EngineEr ), ); - let scene_ent_id = actions.spawn_named("Scene", (Scene, ActiveScene)); + let sky_box_dir = Path::new(RESOURCE_DIR).join("sky_box"); + + let scene_ent_id = actions.spawn_named( + "Scene", + ( + Scene, + ActiveScene, + SkyBox::AssetPerCubeMapFace( + [ + (CubeMapFace::PositiveX, "cubemap_0.png"), + (CubeMapFace::NegativeX, "cubemap_1.png"), + (CubeMapFace::PositiveY, "cubemap_2.png"), + (CubeMapFace::NegativeY, "cubemap_3.png"), + (CubeMapFace::PositiveZ, "cubemap_4.png"), + (CubeMapFace::NegativeZ, "cubemap_5.png"), + ] + .map(|(face, file)| (face, assets.load(sky_box_dir.join(file)))), + ), + ), + ); actions.spawn_named( "Main camera", -- cgit v1.2.3-18-g5258