Expand description
Plugin substrate: target descriptors, shared bind layouts, WGSL helpers,
pipeline builders. See plugin_api for the published extension surface.
Plugin substrate: target descriptors, shared bind layouts, WGSL helpers,
and pipeline builders.
This module publishes the pieces a plugin needs to build pipelines that drop into the lib’s existing render passes. A plugin reuses:
- Target descriptors ([
OpaqueTargetDesc], [OitTargetDesc], [MaskTargetDesc], [PickTargetDesc], [ShadowTargetDesc]) describe the render-target formats, blend states, and depth-stencil state each lib pass expects. Pipelines built against these are compatible with the corresponding pass. - [
SharedBindings] is the group-0 bind layout (camera, lights, shadows, clip, IBL) shared by every scene pipeline. Plugin pipeline layouts list it as group 0. - [
shared_wgsl] holds string constants with the standard bind declarations and shading helpers (viewport_pbr_shade,viewport_oit_pack,viewport_sample_csm, etc.) so plugin shaders stay in lockstep with the lib’s lighting and transparency contracts. - Pipeline builders on
crate::resources::ViewportGpuResources(build_opaque_pipeline,build_oit_pipeline, …) construct the common variants in one call. Plugins ship one shader and call a builder per variant.
All accessors live on crate::resources::ViewportGpuResources.
Re-exports§
pub use cull::BatchMeta;pub use cull::CullSubmission;pub use cull::InstanceAabb;pub use cull::SingleMeshDraw;pub use item_type::ItemFrameContext;pub use item_type::ItemTypePlugin;pub use item_type::OutlineMaskContext;pub use item_type::PaintContext;pub use item_type::PickRay;pub use item_type::PluginItemCollection;pub use item_type::ShadowCastContext;pub use target_desc::MaskTargetDesc;pub use target_desc::OIT_ACCUM_BLEND;pub use target_desc::OIT_REVEAL_BLEND;pub use target_desc::OitTargetDesc;pub use target_desc::OpaqueTargetDesc;pub use target_desc::PickTargetDesc;pub use target_desc::ShadowTargetDesc;
Modules§
- cull
- GPU-driven culling service published to plugins.
- item_
type ItemTypePlugintrait and supporting types.- shared_
wgsl - WGSL helper catalog.
- target_
desc - Render-target descriptors published for plugin pipeline construction.
Structs§
- Shared
Bindings - Group-0 bind layout shared by every scene pipeline.