Class: ReduceTexture
A sequence of shader dispatches that reduces a source texture to a single value according to a specified binary operation (e.g. min, max, or sum).
Two underlying shaders are used: . one to reduce the source texture to a small buffer . one to reduce a small buffer to smaller buffer
When executed, FrameReduceSequence will dispatch a sufficient number of times
to end with a single value. The final result is stored in a single element
reducedResult buffer.
Hierarchy
HasReactive↳
ReduceTexture
Implements
Constructors
constructor
• new ReduceTexture(params): ReduceTexture
Parameters
| Name | Type |
|---|---|
params | ReduceTextureParams |
Returns
Overrides
HasReactive.constructor
Defined in
packages/stoneberry/src/reduce-texture/ReduceTexture.ts:96
Properties
binOps
• binOps: BinOpModule
wgsl macros for a binary operation to reduce two elements to one
Defined in
packages/stoneberry/src/reduce-texture/ReduceTexture.ts:84
blockSize
• blockSize: Vec2
length of block to read when reducing from texture to buffer
Defined in
packages/stoneberry/src/reduce-texture/ReduceTexture.ts:75
bufferBlockLength
• bufferBlockLength: undefined | number
length of block to read when reducing from buffer to buffer
Defined in
packages/stoneberry/src/reduce-texture/ReduceTexture.ts:78
device
• device: GPUDevice
Defined in
packages/stoneberry/src/reduce-texture/ReduceTexture.ts:92
forceWorkgroupSize
• forceWorkgroupSize: undefined | Vec2
number and arrangement of threads in each dispatched workgroup
Defined in
packages/stoneberry/src/reduce-texture/ReduceTexture.ts:81
label
• Optional label: string
Debug label attached to gpu objects for error reporting
Defined in
packages/stoneberry/src/reduce-texture/ReduceTexture.ts:90
source
• source: GPUTexture
Defined in
packages/stoneberry/src/reduce-texture/ReduceTexture.ts:72
sourceComponent
• sourceComponent: LoadComponent | ComponentName
select or synthesize a component from the source texture
Defined in
packages/stoneberry/src/reduce-texture/ReduceTexture.ts:87
Accessors
result
• get result(): GPUBuffer
result of the final reduction pass, one element in size
Returns
GPUBuffer
Defined in
packages/stoneberry/src/reduce-texture/ReduceTexture.ts:119
Methods
commands
▸ commands(commandEncoder): void
Add compute or render passes for this shader to the provided GPUCommandEncoder
Parameters
| Name | Type |
|---|---|
commandEncoder | GPUCommandEncoder |
Returns
void
Implementation of
Defined in
packages/stoneberry/src/reduce-texture/ReduceTexture.ts:101
destroy
▸ destroy(): void
Returns
void
Implementation of
Defined in
packages/stoneberry/src/reduce-texture/ReduceTexture.ts:105
reduce
▸ reduce(): Promise<number[]>
Execute the reduce immediately and copy the results back to the CPU. (results are copied from the ReduceTexture.result GPUBuffer)
Returns
Promise<number[]>
a single reduced result value in an array