pub struct WgpuPipelines {Show 33 fields
pub solid_pipeline: RenderPipeline,
pub solid_bgl: BindGroupLayout,
pub aa_solid_pipeline: RenderPipeline,
pub aa_solid_bgl: BindGroupLayout,
pub aa_texture_pipeline: RenderPipeline,
pub aa_texture_bgl0: BindGroupLayout,
pub aa_texture_bgl1: BindGroupLayout,
pub gradient_pipeline: RenderPipeline,
pub gradient_bgl0: BindGroupLayout,
pub gradient_bgl1: BindGroupLayout,
pub tex_pipeline: RenderPipeline,
pub tex_bgl0: BindGroupLayout,
pub tex_bgl1: BindGroupLayout,
pub tex_downsample_3x_pipeline: RenderPipeline,
pub tex_downsample_4x_pipeline: RenderPipeline,
pub layer_pipeline: RenderPipeline,
pub layer_mesh_pipeline: RenderPipeline,
pub layer_bgl0: BindGroupLayout,
pub layer_bgl1: BindGroupLayout,
pub lcd_r: RenderPipeline,
pub lcd_g: RenderPipeline,
pub lcd_b: RenderPipeline,
pub lcd_bgl0: BindGroupLayout,
pub lcd_bgl1: BindGroupLayout,
pub lcb_r: RenderPipeline,
pub lcb_g: RenderPipeline,
pub lcb_b: RenderPipeline,
pub lcb_bgl0: BindGroupLayout,
pub lcb_bgl1: BindGroupLayout,
pub text_gray: RenderPipeline,
pub lcb_flatten: RenderPipeline,
pub nearest_sampler: Sampler,
pub linear_sampler: Sampler,
}Expand description
All render pipelines, bind-group layouts, and shared samplers.
Created once per crate::WgpuGfxCtx and reused for the lifetime of the
context. The struct is publicly visible so library primitives like
crate::ssaa::SsaaFramebuffer::blit_to can take a reference and reuse
the shared 2-D textured-quad pipeline; the fields themselves stay
pub(crate) so external code can hold a &WgpuPipelines but cannot
reach in and rebuild individual pipelines.
Fields§
§solid_pipeline: RenderPipeline§solid_bgl: BindGroupLayout§aa_solid_pipeline: RenderPipeline§aa_solid_bgl: BindGroupLayout§aa_texture_pipeline: RenderPipeline§aa_texture_bgl0: BindGroupLayout§aa_texture_bgl1: BindGroupLayout§gradient_pipeline: RenderPipeline§gradient_bgl0: BindGroupLayout§gradient_bgl1: BindGroupLayout§tex_pipeline: RenderPipeline§tex_bgl0: BindGroupLayout§tex_bgl1: BindGroupLayout§tex_downsample_3x_pipeline: RenderPipelineSame vertex / bind groups as tex_pipeline; fragment shader runs
9 point-aligned taps at {-1, 0, +1}² texel offsets for an exact 3×3
box average. Used by the cube widget at the 9× SSAA setting where
a single bilinear minification would drop 5 of 9 source texels per
output pixel (visually indistinguishable from no AA).
tex_downsample_4x_pipeline: RenderPipelineSame vertex / bind groups as tex_pipeline; fragment shader runs
4 bilinear taps in a 2×2 quadrant grid for an exact 4×4 box average.
Used by the cube widget at the highest SSAA setting where a single
bilinear minification would drop 12 of 16 source texels per output.
layer_pipeline: RenderPipeline§layer_mesh_pipeline: RenderPipelineMasked variant of layer_pipeline: composites a clip layer through the
tessellated clip path (pos2 + uv2 + coverage). Built in
crate::layer_mask, which also owns its shader.
layer_bgl0: BindGroupLayout§layer_bgl1: BindGroupLayout§lcd_r: RenderPipeline§lcd_g: RenderPipeline§lcd_b: RenderPipeline§lcd_bgl0: BindGroupLayout§lcd_bgl1: BindGroupLayout§lcb_r: RenderPipeline§lcb_g: RenderPipeline§lcb_b: RenderPipeline§lcb_bgl0: BindGroupLayout§lcb_bgl1: BindGroupLayout§text_gray: RenderPipelineGrayscale coverage text quad — reuses the LCD bind-group layouts but writes ALL colour channels + alpha in one pass. Routed to when text is drawn inside a compositing layer so the layer texture gets correct alpha (the 3-pass LCD pipelines never write alpha → washed-out glyphs on pop).
lcb_flatten: RenderPipelineTwo-plane backbuffer flatten quad — reuses the LCB bind-group layouts,
collapses the per-channel planes into a single premultiplied sample in
one alpha-writing pass. Inside-layer companion to lcb_r/g/b.
nearest_sampler: SamplerNearest-neighbour — used for LCD mask textures and Label backbuffers.
linear_sampler: SamplerBilinear — used for images, layers, and gradient ramp textures.
Auto Trait Implementations§
impl !RefUnwindSafe for WgpuPipelines
impl !UnwindSafe for WgpuPipelines
impl Freeze for WgpuPipelines
impl Send for WgpuPipelines
impl Sync for WgpuPipelines
impl Unpin for WgpuPipelines
impl UnsafeUnpin for WgpuPipelines
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more