rafx_renderer/
renderer_asset_plugin.rs1use 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}