Donner SVG 0.8.0-pre
SVG editor and embeddable C⁠+⁠+⁠20 engine.
Loading...
Searching...
No Matches
ComponentTransfer.h File Reference

Typed component-transfer filter with bounded, packed channel tables. More...

Include dependency graph for ComponentTransfer.h:

Namespaces

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

Functions

ShaderResult< IrModule > donner::gpu::shader::programs::BuildComponentTransferModule ()
 Evaluates identity, table, discrete, linear and gamma functions on straight-alpha channels, then premultiplies the result.

Detailed Description

Typed component-transfer filter with bounded, packed channel tables.

Function Documentation

◆ BuildComponentTransferModule()

ShaderResult< IrModule > donner::gpu::shader::programs::BuildComponentTransferModule ( )

Evaluates identity, table, discrete, linear and gamma functions on straight-alpha channels, then premultiplies the result.

Hosts validate at most 1024 table entries per channel and pack four 32-byte function records followed by the float tables (at least one trailing float). Every word is f32; integer kind, count and offset fields are represented exactly. Source and output extents match. Channel-table offsets and counts refer to that packed block.