Donner SVG main
0.8.0 ยท 64d9612f0.8.0 main
SVG editor and embeddable C⁠+⁠+⁠20 engine.
Loading...
Searching...
No Matches
donner::geode::GeodeGradientPipeline Class Reference

Caches a compiled render pipeline for the Slug gradient-fill shader plus its bind-group layout. More...

#include "donner/svg/renderer/geode/GeodePipeline.h"

Public Member Functions

 GeodeGradientPipeline (gpu::Device &device, gpu::TextureFormat colorFormat)
 Construct a gradient pipeline for the given device and color target format.
 GeodeGradientPipeline (const GeodeGradientPipeline &)=delete
GeodeGradientPipeline & operator= (const GeodeGradientPipeline &)=delete
 GeodeGradientPipeline (GeodeGradientPipeline &&) noexcept=default
 Move constructor.
GeodeGradientPipeline & operator= (GeodeGradientPipeline &&) noexcept=default
 Move assignment operator.
const gpu::RenderPipeline & pipeline () const
 The compiled render pipeline.
const gpu::BindGroupLayout & bindGroupLayout () const
 The bind group layout used by the pipeline.
gpu::TextureFormat colorFormat () const
 Color format the pipeline was built for.

Detailed Description

Caches a compiled render pipeline for the Slug gradient-fill shader plus its bind-group layout.

Parallel to GeodePipeline but with a larger uniform buffer that carries linear-gradient parameters (pathFromGradient transform, start/end, spread mode, per-stop colors and offsets). The vertex layout, Band / curve storage bindings, and blend state are identical.

Kept as a sibling class instead of a branch inside GeodePipeline to keep the solid-fill pipeline's 128-byte uniform layout untouched, and so radial / sweep gradient pipelines can slot in alongside this one later without churning the solid-fill path.

Constructor & Destructor Documentation

◆ GeodeGradientPipeline()

donner::geode::GeodeGradientPipeline::GeodeGradientPipeline ( gpu::Device & device,
gpu::TextureFormat colorFormat )

Construct a gradient pipeline for the given device and color target format.

Parameters
deviceRuntime device the pipeline and its layouts are created on.
colorFormatPixel format of the render target this pipeline draws into.

The documentation for this class was generated from the following file: