@deck.gl/extensions
Version:
Plug-and-play functionalities for deck.gl layers
38 lines • 1.56 kB
TypeScript
import { Device, Framebuffer } from '@luma.gl/core';
import { Bounds } from "../utils/projection-utils.js";
import type { Viewport, Layer } from '@deck.gl/core';
/**
* Manages the lifecycle of the height map (a framebuffer that encodes elevation).
* One instance of height map is is shared across all layers. It is updated when the viewport changes
* or when some terrain source layer's data changes.
* During the draw call of any terrainDrawMode:offset layers,
* the vertex shader reads from this framebuffer to retrieve its z offset.
*/
export declare class HeightMapBuilder {
/** Viewport used to draw into the texture */
renderViewport: Viewport | null;
/** Bounds of the height map texture, in cartesian space */
bounds: Bounds | null;
protected fbo?: Framebuffer;
protected device: Device;
/** Last rendered layers */
private layers;
/** Last layer.getBounds() */
private layersBounds;
/** The union of layersBounds in cartesian space */
private layersBoundsCommon;
private lastViewport;
static isSupported(device: Device): boolean;
constructor(device: Device);
/** Returns the height map framebuffer for read/write access.
* Returns null when the texture is invalid.
*/
getRenderFramebuffer(): Framebuffer | null;
/** Called every render cycle to check if the framebuffer needs update */
shouldUpdate({ layers, viewport }: {
layers: Layer[];
viewport: Viewport;
}): boolean;
delete(): void;
}
//# sourceMappingURL=height-map-builder.d.ts.map