Skip to content

CombinedRaster

Overview

An OutputRaster that tries to efficiently write straight to ImageData when possible, and otherwise accumulates.

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

Class CombinedRaster

TODO: consider implementing a raster that JUST uses ImageData, and does NOT do linear (proper) blending

import { CombinedRaster } from 'scenerystack/alpenglow';

Constructor

new CombinedRaster( width : number, height : number, providedOptions? : CombinedRasterOptions )

Instance Methods

addClientPartialPixel( color : Vector4, x : number, y : number )

addClientFullPixel( color : Vector4, x : number, y : number )

addOutputFullPixel( color : Vector4, x : number, y : number )

addClientFullRegion( color : Vector4, x : number, y : number, width : number, height : number )

addOutputFullRegion( color : Vector4, x : number, y : number, width : number, height : number )

toImageData() : ImageData

toCanvas() : HTMLCanvasElement

writeToCanvas( canvas : HTMLCanvasElement, context : CanvasRenderingContext2D )

Instance Properties

accumulationArray : Float64Array

(readonly)

imageData : ImageData

(readonly)

colorConverter : RasterColorConverter

(readonly)

implements this for OutputRaster

Type CombinedRasterOptions

import type { CombinedRasterOptions } from 'scenerystack/alpenglow';
  • colorSpace?: "srgb" | "display-p3"
  • showOutOfGamut?: boolean

Source Code

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