Donner SVG main
0.8.0 ยท 382bd0190.8.0 main
SVG editor and embeddable C⁠+⁠+⁠20 engine.
Loading...
Searching...
No Matches
TurbulenceBindings.h File Reference

Shared turbulence shader binding, table, and dispatch contract. More...

#include <cstdint>
#include <string_view>
Include dependency graph for TurbulenceBindings.h:
This graph shows which files directly or indirectly include this file:

Namespaces

namespace  donner
 Top-level Donner namespace, which is split into different sub-namespaces such as donner::svg and donner::css.

Enumerations

enum class  donner::gpu::shader::programs::TurbulenceBinding : uint32_t {
  OutputTexture = 0 ,
  Params = 1 ,
  Tables = 2
}
 Resources in bind group zero. More...

Variables

constexpr std::string_view donner::gpu::shader::programs::kTurbulenceEntryPoint = "cs_main"
 Compute entry point.
constexpr uint32_t donner::gpu::shader::programs::kTurbulenceWorkgroupSize = 8
 Workgroup width and height.
constexpr uint32_t donner::gpu::shader::programs::kTurbulenceBaseTableSize = 256
 Permutation and gradient table lengths required by the SVG noise algorithm.
constexpr uint32_t donner::gpu::shader::programs::kTurbulenceTableSize
 Number of entries in the duplicated turbulence permutation table.
constexpr uint32_t donner::gpu::shader::programs::kTurbulenceGradientTableSize
 Number of gradient entries across the four turbulence channels.

Detailed Description

Shared turbulence shader binding, table, and dispatch contract.

Enumeration Type Documentation

◆ TurbulenceBinding

Resources in bind group zero.

Enumerator
OutputTexture 

Write-only rgba32float output.

Params 

Read-only storage block with noise and coordinate parameters.

Tables 

Read-only storage block with permutation and gradient tables.

Variable Documentation

◆ kTurbulenceGradientTableSize

uint32_t donner::gpu::shader::programs::kTurbulenceGradientTableSize
inlineconstexpr
Initial value:
=
constexpr uint32_t kTurbulenceTableSize
Number of entries in the duplicated turbulence permutation table.
Definition TurbulenceBindings.h:18

Number of gradient entries across the four turbulence channels.

◆ kTurbulenceTableSize

uint32_t donner::gpu::shader::programs::kTurbulenceTableSize
inlineconstexpr
Initial value:
=
514

Number of entries in the duplicated turbulence permutation table.