Skip to content

Routine

Overview

TODO: doc

@author Jonathan Olson <jonathan.olson@colorado.edu>

Class Routine

import { Routine } from 'scenerystack/alpenglow';

Instance Methods

execute( context : ExecutionContext, data : In ) : Promise<Out>

Instance Properties

pipelineBlueprints : PipelineBlueprint[]

(readonly)

rootResourceSlots : ResourceSlot[]

(readonly)

bindGroupLayouts : BindGroupLayout[]

(readonly)

Static Methods

create( deviceContext : DeviceContext, module : Module<T>, sharedBufferSlots : BufferSlot<IntentionalAny>[], layoutStrategy : ( deviceContext: DeviceContext, pipelineBlueprints: PipelineBlueprint[] ) => Map<PipelineBlueprint, PipelineLayout>, executeWrapper : ( context: ExecutionContext, execute: ( context: ExecutionContext, value: T ) => void, value: In ) => Promise<Out> ) : Promise<Routine<T, In, Out>>

Static Properties

INDIVIDUAL_LAYOUT_STRATEGY

(readonly)

TODO: Since we're returning a map, it's enforcing "no different layouts for different locations of the same blueprint" TODO: which is less than ideal(!). Figure this out, and possibly different bind groups for the same bind group layout.

COMBINE_ALL_LAYOUT_STRATEGY

(readonly)

Source Code

See the source for Routine.ts in the alpenglow repository.