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
use super::RenderFeatureIndex; use rafx_base::slab::SlabIndexT; pub type RenderNodeIndex = u32; pub type RenderNodeCount = u32; #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] pub struct GenericRenderNodeHandle { render_feature_index: RenderFeatureIndex, render_node_index: SlabIndexT, } impl GenericRenderNodeHandle { pub fn new( render_feature_index: RenderFeatureIndex, render_node_index: SlabIndexT, ) -> Self { GenericRenderNodeHandle { render_feature_index, render_node_index, } } pub fn render_feature_index(self) -> RenderFeatureIndex { self.render_feature_index } pub fn render_node_index(self) -> SlabIndexT { self.render_node_index } } pub trait RenderNodeSet { fn feature_index(&self) -> RenderFeatureIndex; fn max_render_node_count(&self) -> RenderNodeCount; }