diff --git a/Cargo.toml b/Cargo.toml index d1f70c9..bde140b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,8 +2,8 @@ resolver = "2" members = [ - "ConfigHandler", - "Networking", + "config_handler", + "networking", "asset", "context", "controllable_thread", diff --git a/ConfigHandler/.vscode/settings.json b/config_handler/.vscode/settings.json similarity index 100% rename from ConfigHandler/.vscode/settings.json rename to config_handler/.vscode/settings.json diff --git a/ConfigHandler/Cargo.toml b/config_handler/Cargo.toml similarity index 100% rename from ConfigHandler/Cargo.toml rename to config_handler/Cargo.toml diff --git a/ConfigHandler/src/config_handler.rs b/config_handler/src/config_handler.rs similarity index 100% rename from ConfigHandler/src/config_handler.rs rename to config_handler/src/config_handler.rs diff --git a/ConfigHandler/src/lib.rs b/config_handler/src/lib.rs similarity index 100% rename from ConfigHandler/src/lib.rs rename to config_handler/src/lib.rs diff --git a/ConfigHandler/src/persistent_duration.rs b/config_handler/src/persistent_duration.rs similarity index 100% rename from ConfigHandler/src/persistent_duration.rs rename to config_handler/src/persistent_duration.rs diff --git a/ConfigHandler/src/prelude.rs b/config_handler/src/prelude.rs similarity index 100% rename from ConfigHandler/src/prelude.rs rename to config_handler/src/prelude.rs diff --git a/context/src/core/vulkancore.rs b/context/src/core/vulkancore.rs index 24013e6..60b517d 100644 --- a/context/src/core/vulkancore.rs +++ b/context/src/core/vulkancore.rs @@ -86,17 +86,10 @@ impl VulkanCore { // device extensions let mut dev_exts = DeviceExtensions::default(); presentation_core.activate_vulkan_device_extensions(&mut dev_exts, &physical_device)?; - dev_exts.memory_requirements2 = true; dev_exts.amd_rasterization_order = true; - dev_exts.descriptor_indexing = true; - dev_exts.maintenance3 = true; - dev_exts.ray_tracing_pipeline = true; dev_exts.deferred_host_operations = true; - dev_exts.spirv_1_4 = true; - dev_exts.buffer_device_address = true; dev_exts.acceleration_structure = true; - dev_exts.shader_float_controls = true; dev_exts.pipeline_library = true; if vulkan_debug_info.renderdoc { diff --git a/engine/Cargo.toml b/engine/Cargo.toml index ab4d849..f223732 100644 --- a/engine/Cargo.toml +++ b/engine/Cargo.toml @@ -17,7 +17,7 @@ utilities = { workspace = true } assetpath = { workspace = true } shaderc = { workspace = true } -config_handler = { path = "../ConfigHandler" } +config_handler = { path = "../config_handler" } asset = { path = "../asset" } loading_screen = { path = "../loading-screen" } context = { path = "../context", features = ["bundle_sdl2", "sound"] } diff --git a/engine/src/scene/rendering/rasterizer/deferred/mod.rs b/engine/src/scene/rendering/rasterizer/deferred/mod.rs index 73ccf0d..e8c8df9 100644 --- a/engine/src/scene/rendering/rasterizer/deferred/mod.rs +++ b/engine/src/scene/rendering/rasterizer/deferred/mod.rs @@ -9,13 +9,13 @@ use utilities::prelude::cgmath::{Vector3, Zero}; use super::{ super::{ - shared::{bufferhandler::*, safecommandbuffer::SafeCommandBuffer}, ExtensionCheck, RasterizerDescriptorLayouts, RenderingFrontEnd, + shared::{bufferhandler::*, safecommandbuffer::SafeCommandBuffer}, }, + SceneInfo, lights::light_wrapper::LightHandler, pipelines::RasterizerPipelines, rasterizershader::RasterizerShader, - SceneInfo, }; use deferredhandler::{DeferredHandler, FallbackInfo}; @@ -352,10 +352,6 @@ impl Rasterizer { impl ExtensionCheck for Rasterizer { fn check(device: &Arc<Device>) -> bool { - if !device.enabled_extensions().descriptor_indexing { - return false; - } - let physical_device = device.physical_device(); if physical_device diff --git a/engine/src/scene/rendering/raytracer/raytracer.rs b/engine/src/scene/rendering/raytracer/raytracer.rs index f60572f..c0d0f10 100644 --- a/engine/src/scene/rendering/raytracer/raytracer.rs +++ b/engine/src/scene/rendering/raytracer/raytracer.rs @@ -5,12 +5,12 @@ use utilities::{impl_reprc, prelude::cgmath::Vector3}; use super::{ super::{ - shared::position_buffer_reader::PositionBuffer, ExtensionCheck, RaytracerDesciptorLayouts, - RenderingFrontEnd, + ExtensionCheck, RaytracerDesciptorLayouts, RenderingFrontEnd, + shared::position_buffer_reader::PositionBuffer, }, + RenderingCore, animator::ComputeBasedAnimator, light::{LightData, RayTracerLight}, - RenderingCore, }; use std::sync::{Arc, Mutex}; @@ -488,10 +488,6 @@ where T: RenderingCore, { fn check(device: &Arc<Device>) -> bool { - if !device.enabled_extensions().descriptor_indexing { - return false; - } - let physical_device = device.physical_device(); if physical_device diff --git a/examples/simple_window/Cargo.toml b/examples/simple_window/Cargo.toml index 72d6abf..a71cc04 100644 --- a/examples/simple_window/Cargo.toml +++ b/examples/simple_window/Cargo.toml @@ -9,3 +9,4 @@ anyhow.workspace = true ecs = { path = "../../ecs" } engine = { path = "../../engine" } +skybox = { path = "../../skybox" } diff --git a/examples/simple_window/src/main.rs b/examples/simple_window/src/main.rs index 8db66e9..2fbebe9 100644 --- a/examples/simple_window/src/main.rs +++ b/examples/simple_window/src/main.rs @@ -1,7 +1,10 @@ +use std::path::Path; + use anyhow::Result; use ecs::*; use engine::prelude::*; +use skybox::SkyBox; fn main() -> Result<()> { let mut world_builder = World::builder(); @@ -11,6 +14,20 @@ fn main() -> Result<()> { world_builder.add_system(GameState::update); world_builder.resources.insert(GameState::Startup); + let dir = Path::new("/home/michaelh/Sync/skybox"); + SkyBox::new( + &mut world_builder, + [ + dir.join("left.png"), + dir.join("right.png"), + dir.join("front.png"), + dir.join("back.png"), + dir.join("top.png"), + dir.join("bottom.png"), + ] + .into_iter(), + )?; + world_builder.build().run() } diff --git a/Networking/.vscode/settings.json b/networking/.vscode/settings.json similarity index 100% rename from Networking/.vscode/settings.json rename to networking/.vscode/settings.json diff --git a/Networking/Cargo.toml b/networking/Cargo.toml similarity index 93% rename from Networking/Cargo.toml rename to networking/Cargo.toml index 102f7b1..340eb52 100644 --- a/Networking/Cargo.toml +++ b/networking/Cargo.toml @@ -7,7 +7,7 @@ edition = "2024" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -config_handler = { path = "../ConfigHandler" } +config_handler = { path = "../config_handler" } anyhow = { workspace = true } chrono = { workspace = true } diff --git a/Networking/src/client.rs b/networking/src/client.rs similarity index 100% rename from Networking/src/client.rs rename to networking/src/client.rs diff --git a/Networking/src/hostname.rs b/networking/src/hostname.rs similarity index 100% rename from Networking/src/hostname.rs rename to networking/src/hostname.rs diff --git a/Networking/src/lib.rs b/networking/src/lib.rs similarity index 100% rename from Networking/src/lib.rs rename to networking/src/lib.rs diff --git a/Networking/src/local_address.rs b/networking/src/local_address.rs similarity index 100% rename from Networking/src/local_address.rs rename to networking/src/local_address.rs diff --git a/Networking/src/prelude.rs b/networking/src/prelude.rs similarity index 100% rename from Networking/src/prelude.rs rename to networking/src/prelude.rs diff --git a/Networking/src/pseudo_tcp_message.rs b/networking/src/pseudo_tcp_message.rs similarity index 100% rename from Networking/src/pseudo_tcp_message.rs rename to networking/src/pseudo_tcp_message.rs diff --git a/Networking/src/public_address.rs b/networking/src/public_address.rs similarity index 100% rename from Networking/src/public_address.rs rename to networking/src/public_address.rs diff --git a/Networking/src/resolve.rs b/networking/src/resolve.rs similarity index 100% rename from Networking/src/resolve.rs rename to networking/src/resolve.rs diff --git a/Networking/src/server.rs b/networking/src/server.rs similarity index 100% rename from Networking/src/server.rs rename to networking/src/server.rs diff --git a/Networking/src/socket.rs b/networking/src/socket.rs similarity index 100% rename from Networking/src/socket.rs rename to networking/src/socket.rs diff --git a/Networking/src/state.rs b/networking/src/state.rs similarity index 100% rename from Networking/src/state.rs rename to networking/src/state.rs diff --git a/skybox/src/lib.rs b/skybox/src/lib.rs index 289c613..2715cdf 100644 --- a/skybox/src/lib.rs +++ b/skybox/src/lib.rs @@ -33,9 +33,10 @@ pub struct SkyBox { } impl SkyBox { - pub fn new(world: &mut WorldBuilder, images: impl Into<SkyBoxImages>) -> Result<Self> { + pub fn new(world: &mut WorldBuilder, images: impl Into<SkyBoxImages>) -> Result<()> { let images = images.into(); - let context = world.resources.get::<Context>(); + let context = world.resources.get_mut::<Context>(); + context.render_core_mut().add_render_routine::<Self>(1); let cube_map = Image::cube_map([ images.left.try_into()?, @@ -49,7 +50,10 @@ impl SkyBox { .attach_pretty_sampler(context.device())? .build(context.device(), context.queue())?; - Ok(Self { cube_map }) + let me = Self { cube_map }; + world.resources.insert(me); + + Ok(()) } }