rafx_framework/render_features/
mod.rs1mod 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}