diff --git a/Cargo.toml b/Cargo.toml index 56f114173f..9319175792 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,10 +4,13 @@ version = "0.1.0" authors = ["Carter Anderson "] edition = "2018" +[features] +default = ["wgpu"] + [dependencies] # Modified to use std::any::type_name instead of std::any::TypeId legion = { path = "bevy_legion", features = ["serialize"] } -wgpu = { git = "https://github.com/gfx-rs/wgpu-rs.git", rev = "a7b0d5ae5bc0934439ef559ed145e93f0117c39a"} +wgpu = { git = "https://github.com/gfx-rs/wgpu-rs.git", rev = "a7b0d5ae5bc0934439ef559ed145e93f0117c39a", optional = true } bitflags = "1.0" glam = "0.8.6" winit = "0.22.0" diff --git a/src/app/app_builder.rs b/src/app/app_builder.rs index 90905f77da..7b31d52216 100644 --- a/src/app/app_builder.rs +++ b/src/app/app_builder.rs @@ -6,12 +6,8 @@ use crate::{ plugin::load_plugin, prelude::StandardMaterial, render::{ - draw_target::draw_targets::*, - pass::passes::*, - pipeline::pipelines::*, - render_resource::resource_providers::*, - renderer::{renderers::wgpu_renderer::WgpuRenderer, Renderer}, - *, + draw_target::draw_targets::*, pass::passes::*, pipeline::pipelines::*, + render_resource::resource_providers::*, renderer::Renderer, *, }, ui, }; @@ -188,8 +184,14 @@ impl AppBuilder { self } + #[cfg(feature = "wgpu")] pub fn add_wgpu_renderer(mut self) -> Self { - self.renderer = Some(Box::new(WgpuRenderer::new())); + self.renderer = Some(Box::new(renderer::renderers::wgpu_renderer::WgpuRenderer::new())); + self + } + + #[cfg(not(feature = "wgpu"))] + fn add_wgpu_renderer(self) -> Self { self } @@ -200,6 +202,8 @@ impl AppBuilder { .add_wgpu_renderer() } + + pub fn load_plugin(mut self, path: &str) -> Self { let (_lib, plugin) = load_plugin(path); self = plugin.build(self); diff --git a/src/lib.rs b/src/lib.rs index c08379b87a..663802a930 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -11,5 +11,4 @@ pub mod ui; pub use bevy_transform as transform; pub use glam as math; -pub use legion; -pub use wgpu; +pub use legion; \ No newline at end of file diff --git a/src/render/renderer/renderers/mod.rs b/src/render/renderer/renderers/mod.rs index 8b20700dbf..a8096a5ca5 100644 --- a/src/render/renderer/renderers/mod.rs +++ b/src/render/renderer/renderers/mod.rs @@ -1 +1,2 @@ +#[cfg(feature = "wgpu")] pub mod wgpu_renderer;