diff --git a/crates/bevy_render/src/lib.rs b/crates/bevy_render/src/lib.rs index 637cc3c93c..623e7088c5 100644 --- a/crates/bevy_render/src/lib.rs +++ b/crates/bevy_render/src/lib.rs @@ -45,7 +45,11 @@ use render_graph::{ }; use renderer::{AssetRenderResourceBindings, RenderResourceBindings}; use std::ops::Range; -use texture::{HdrTextureLoader, ImageTextureLoader, TextureResourceSystemState}; +#[cfg(feature = "hdr")] +use texture::HdrTextureLoader; +#[cfg(feature = "png")] +use texture::ImageTextureLoader; +use texture::TextureResourceSystemState; /// The names of "render" App stages pub mod stage { @@ -75,6 +79,15 @@ impl Default for RenderPlugin { impl Plugin for RenderPlugin { fn build(&self, app: &mut AppBuilder) { + #[cfg(feature = "png")] + { + app.add_asset_loader::(); + } + #[cfg(feature = "hdr")] + { + app.add_asset_loader::(); + } + app.add_stage_after(bevy_asset::stage::ASSET_EVENTS, stage::RENDER_RESOURCE) .add_stage_after(stage::RENDER_RESOURCE, stage::RENDER_GRAPH_SYSTEMS) .add_stage_after(stage::RENDER_GRAPH_SYSTEMS, stage::DRAW) @@ -84,8 +97,6 @@ impl Plugin for RenderPlugin { .add_asset::() .add_asset::() .add_asset::() - .add_asset_loader::() - .add_asset_loader::() .register_component::() .register_component::() .register_component::() diff --git a/crates/bevy_render/src/texture/mod.rs b/crates/bevy_render/src/texture/mod.rs index e6ab2a793e..daa11e563e 100644 --- a/crates/bevy_render/src/texture/mod.rs +++ b/crates/bevy_render/src/texture/mod.rs @@ -1,11 +1,15 @@ +#[cfg(feature = "hdr")] mod hdr_texture_loader; +#[cfg(feature = "png")] mod image_texture_loader; mod sampler_descriptor; mod texture; mod texture_descriptor; mod texture_dimension; +#[cfg(feature = "hdr")] pub use hdr_texture_loader::*; +#[cfg(feature = "png")] pub use image_texture_loader::*; pub use sampler_descriptor::*; pub use texture::*;