rafx_framework/render_features/
mod.rs

1//! Part of `rafx-framework`. Handles extracting, preparing, and writing draw calls
2
3mod render_objects;
4pub use render_objects::RenderObjectCount;
5pub use render_objects::RenderObjectHandle;
6pub use render_objects::RenderObjectId;
7pub use render_objects::RenderObjectSet;
8pub use render_objects::RenderObjectsMap;
9
10mod render_views;
11pub use render_views::RenderView;
12pub use render_views::RenderViewCount;
13pub use render_views::RenderViewDepthRange;
14pub use render_views::RenderViewIndex;
15pub use render_views::RenderViewSet;
16
17mod jobs;
18pub use jobs::*;
19
20mod registry;
21pub use registry::RenderFeature;
22pub use registry::RenderFeatureDebugConstants;
23pub use registry::RenderFeatureFlag;
24pub use registry::RenderFeatureFlagIndex;
25pub use registry::RenderFeatureIndex;
26pub use registry::RenderPhase;
27pub use registry::RenderPhaseIndex;
28pub use registry::RenderRegistry;
29pub use registry::RenderRegistryBuilder;
30pub use registry::MAX_RENDER_PHASE_COUNT;
31
32mod macro_render_feature;
33mod macro_render_feature_flag;
34mod macro_render_phase;
35
36mod render_feature_mask;
37pub use render_feature_mask::RenderFeatureMask;
38pub use render_feature_mask::RenderFeatureMaskBuilder;
39mod render_feature_flag_mask;
40pub use render_feature_flag_mask::RenderFeatureFlagMask;
41pub use render_feature_flag_mask::RenderFeatureFlagMaskBuilder;
42mod render_phase_mask;
43pub use render_phase_mask::RenderPhaseMask;
44pub use render_phase_mask::RenderPhaseMaskBuilder;
45
46pub mod render_features_prelude {
47    pub use parking_lot::{Mutex, MutexGuard, RwLock, RwLockReadGuard, RwLockWriteGuard};
48    pub use rafx_base::atomic_once_cell::AtomicOnceCell;
49    pub use rafx_base::atomic_once_cell_array::AtomicOnceCellArray;
50    pub use rafx_base::atomic_once_cell_stack::AtomicOnceCellStack;
51    pub use rafx_base::trust_cell::TrustCell;
52
53    pub use crate::render_features::{
54        ExtractResources, FramePacketData, FramePacketSize, PreparedRenderData, RenderFeature,
55        RenderFeatureDebugConstants, RenderFeatureExtractJob, RenderFeatureFramePacket,
56        RenderFeatureIndex, RenderFeaturePrepareJob, RenderFeatureSubmitNode,
57        RenderFeatureSubmitNodeBlock, RenderFeatureSubmitPacket, RenderFeatureViewPacket,
58        RenderFeatureViewSubmitPacket, RenderFeatureWriteJob, RenderObjectHandle, RenderObjectId,
59        RenderObjectInstanceId, RenderObjectInstanceObjectIds, RenderObjectInstancePerViewId,
60        RenderObjectsMap, RenderPhase, RenderPhaseIndex, RenderRegistry, RenderRegistryBuilder,
61        RenderView, RenderViewIndex, RenderViewSet, RenderViewSubmitNodeCount,
62        RenderViewVisibilityQuery, SubmitNode, SubmitNodeBlocks, SubmitNodeId, SubmitNodeSortKey,
63        SubmitPacketData, ViewFrameIndex, ViewPacketSize, ViewPhase, ViewPhaseSubmitNodeBlock,
64        ViewVisibilityJob, VisibleRenderObjects,
65    };
66
67    pub use crate::visibility::{ObjectId, VisibilityResource};
68
69    pub use crate::render_features::{
70        RenderFeatureFramePacketAsConcrete, RenderFeatureFramePacketIntoConcrete,
71        RenderFeatureSubmitPacketAsConcrete, RenderFeatureSubmitPacketIntoConcrete,
72        RenderFeatureViewPacketAsConcrete, RenderFeatureViewPacketIntoConcrete,
73        RenderFeatureViewSubmitPacketAsConcrete, RenderFeatureViewSubmitPacketIntoConcrete,
74    };
75
76    pub use crate::render_features::{
77        ExtractJob, ExtractJobEntryPoints, FramePacket, PrepareJob, PrepareJobEntryPoints,
78        RenderObjectInstance, RenderObjectInstancePerView, SubmitNodeBlock, SubmitPacket,
79        ViewPacket, ViewSubmitPacket,
80    };
81
82    pub use crate::render_features::{
83        DefaultJobContext, ExtractPerFrameContext, ExtractPerViewContext,
84        ExtractRenderObjectInstanceContext, ExtractRenderObjectInstancePerViewContext,
85        PreparePerFrameContext, PreparePerViewContext, PrepareRenderObjectInstanceContext,
86        PrepareRenderObjectInstancePerViewContext, RenderJobBeginExecuteGraphContext,
87        RenderJobCommandBufferContext, RenderJobExtractAllocationContext, RenderJobExtractContext,
88        RenderJobPrepareContext, RenderJobWriteContext, RenderObjectsJobContext,
89    };
90}