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}