rafx_renderer/
renderer_asset_plugin.rs

1use crate::RendererLoadContext;
2use rafx_api::extra::upload::RafxTransferUpload;
3use rafx_api::RafxResult;
4use rafx_assets::AssetManager;
5use rafx_assets::AssetResource;
6use rafx_framework::render_features::{ExtractResources, RenderRegistryBuilder};
7use rafx_framework::RenderResources;
8use std::path::PathBuf;
9
10pub trait RendererAssetPlugin: Send + Sync {
11    fn plugin_name(&self) -> &'static str {
12        std::any::type_name::<Self>()
13    }
14
15    fn add_asset_paths(
16        &self,
17        _asset_paths: &mut Vec<PathBuf>,
18    ) {
19    }
20
21    fn register_asset_types(
22        &self,
23        _asset_manager: &mut AssetManager,
24        _asset_resource: &mut AssetResource,
25        _render_resources: &mut RenderResources,
26    ) -> RafxResult<()> {
27        Ok(())
28    }
29
30    fn configure_render_registry(
31        &self,
32        render_registry: RenderRegistryBuilder,
33    ) -> RenderRegistryBuilder {
34        render_registry
35    }
36
37    fn initialize_static_resources(
38        &self,
39        _renderer_load_context: &RendererLoadContext,
40        _asset_manager: &mut AssetManager,
41        _asset_resource: &mut AssetResource,
42        _extract_resources: &ExtractResources,
43        _render_resources: &mut RenderResources,
44        _upload: &mut RafxTransferUpload,
45    ) -> RafxResult<()> {
46        Ok(())
47    }
48
49    fn process_asset_loading(
50        &self,
51        _asset_manager: &mut AssetManager,
52        _asset_resource: &mut AssetResource,
53        _render_resources: &RenderResources,
54    ) -> RafxResult<()> {
55        Ok(())
56    }
57
58    fn on_frame_complete(
59        &self,
60        _asset_manager: &mut AssetManager,
61        _extract_resources: &ExtractResources,
62        _render_resources: &RenderResources,
63    ) -> RafxResult<()> {
64        Ok(())
65    }
66
67    fn prepare_renderer_destroy(
68        &self,
69        _render_resources: &RenderResources,
70    ) -> RafxResult<()> {
71        Ok(())
72    }
73}