rafx_assets/
lib.rs

1//! Provides integration with the [`distill`](https://github.com/amethyst/distill) asset
2//! pipeline
3
4pub mod assets;
5
6pub use assets::*;
7
8/// Contains some distill-related helpers. They are optional and end-users can provide their own.
9mod push_buffer;
10pub use push_buffer::PushBuffer;
11pub use push_buffer::PushBufferResult;
12pub use push_buffer::PushBufferSizeCalculator;
13
14// mod resource_loader;
15// pub use resource_loader::ResourceLoader;
16
17pub mod schema;
18
19mod hydrate_impl;
20pub use hydrate_impl::AssetResource;
21pub use hydrate_impl::RafxResourceAssetLoader;
22
23pub use hydrate_base::Handle;
24
25mod resource_loader;
26
27use hydrate_pipeline::AssetPluginRegistryBuilders;
28use std::path::PathBuf;
29
30pub fn schema_def_path() -> PathBuf {
31    PathBuf::from(concat!(env!("CARGO_MANIFEST_DIR"), "/schema"))
32}
33
34pub fn register_default_hydrate_plugins(
35    mut plugin_registry: AssetPluginRegistryBuilders
36) -> AssetPluginRegistryBuilders {
37    use crate::assets::*;
38
39    plugin_registry = plugin_registry
40        .register_plugin::<GpuImageAssetPlugin>()
41        .register_plugin::<ShaderPackageAssetPlugin>()
42        .register_plugin::<MaterialAssetPlugin>()
43        .register_plugin::<ComputePipelineAssetPlugin>();
44
45    plugin_registry
46    //TODO: Material instance
47    //TODO: Sampler
48
49    /*
50    #[allow(unused_mut)]
51    let mut daemon = distill::daemon::AssetDaemon::default()
52        .with_importer(&["material"], MaterialImporter)
53        .with_importer(&["materialinstance"], MaterialInstanceImporter)
54        .with_importer(&["compute"], ComputePipelineImporter)
55        .with_importer(&["cookedshaderpackage"], ShaderImporterCooked)
56        .with_importer(
57            &["png"],
58            ImageImporter(ImageFileFormat::Png, image_importer_config.clone()),
59        )
60        .with_importer(
61            &["jpg", "jpeg"],
62            ImageImporter(ImageFileFormat::Jpeg, image_importer_config.clone()),
63        )
64        .with_importer(
65            &["tga"],
66            ImageImporter(ImageFileFormat::Tga, image_importer_config.clone()),
67        )
68        .with_importer(
69            &["tif", "tiff"],
70            ImageImporter(ImageFileFormat::Tiff, image_importer_config.clone()),
71        )
72        .with_importer(
73            &["bmp"],
74            ImageImporter(ImageFileFormat::Bmp, image_importer_config.clone()),
75        );
76
77    #[cfg(feature = "basis-universal")]
78    {
79        daemon = daemon.with_importer(&["basis"], BasisImageImporter);
80    }
81
82    #[cfg(feature = "ddsfile")]
83    {
84        daemon = daemon.with_importer(&["dds"], DdsImageImporter);
85    }
86     */
87}