1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
use rafx_api::extra::upload::RafxTransferUpload;
use rafx_api::RafxResult;
use rafx_assets::distill::daemon::AssetDaemon;
use rafx_assets::distill_impl::AssetResource;
use rafx_assets::AssetManager;
use rafx_base::resource_map::ResourceMap;
use rafx_framework::nodes::{
ExtractJob, ExtractResources, FramePacketBuilder, RenderNodeReservations,
RenderRegistryBuilder, RenderView, RenderViewSet,
};
use rafx_framework::visibility::{DynamicVisibilityNodeSet, StaticVisibilityNodeSet};
use rafx_framework::RenderResources;
pub trait RendererPlugin: Send + Sync {
fn configure_asset_daemon(
&self,
asset_daemon: AssetDaemon,
) -> AssetDaemon {
asset_daemon
}
fn register_asset_types(
&self,
_asset_manager: &mut AssetManager,
_asset_resource: &mut AssetResource,
) {
}
fn configure_render_registry(
&self,
render_registry: RenderRegistryBuilder,
) -> RenderRegistryBuilder {
render_registry
}
fn initialize_static_resources(
&self,
_asset_manager: &mut AssetManager,
_asset_resource: &mut AssetResource,
_extract_resources: &ExtractResources,
_render_resources: &mut ResourceMap,
_upload: &mut RafxTransferUpload,
) -> RafxResult<()> {
Ok(())
}
fn add_render_node_reservations(
&self,
_render_node_reservations: &mut RenderNodeReservations,
_extract_resources: &ExtractResources,
) {
}
fn add_render_views(
&self,
_extract_resources: &ExtractResources,
_render_resources: &RenderResources,
_render_view_set: &RenderViewSet,
_frame_packet_builder: &FramePacketBuilder,
_static_visibility_node_set: &mut StaticVisibilityNodeSet,
_dynamic_visibility_node_set: &mut DynamicVisibilityNodeSet,
_render_views: &mut Vec<RenderView>,
) {
}
fn add_extract_jobs(
&self,
_extract_resources: &ExtractResources,
_render_resources: &RenderResources,
_extract_jobs: &mut Vec<Box<dyn ExtractJob>>,
) {
}
}