kepler.gl
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
112 lines (111 loc) • 4.09 kB
TypeScript
export type SurfaceFogProps = {
density: number;
/** Fog ceiling elevation in meters. Geometry below this gets fog. */
height: number;
/** Vertical transition zone in meters above the ceiling. */
thickness: number;
fogColor: [number, number, number];
};
/**
* Surface Fog Effect — elevation-based ground-level fog.
*
* Uses deck.gl's pixelUnprojectionMatrix to reconstruct the common-space
* position of each fragment from the depth buffer. The Z component of
* that position corresponds to the fragment's real-world elevation
* (scaled by distanceScales.unitsPerMeter). Fog is applied to all
* fragments whose elevation is below the user-configured height (meters),
* with a smooth transition zone controlled by thickness (meters).
*/
export declare class DeckSurfaceFogEffect {
id: string;
props: SurfaceFogProps;
module: {
readonly name: "surfaceFog";
readonly fs: "uniform surfaceFogUniforms {\n float density;\n float fogHeight;\n float fogThickness;\n vec3 fogColor;\n vec4 invCol0;\n vec4 invCol1;\n vec4 invCol2;\n vec4 invCol3;\n float viewportWidth;\n float viewportHeight;\n} surfaceFog;\n";
readonly uniformTypes: {
readonly density: "f32";
readonly fogHeight: "f32";
readonly fogThickness: "f32";
readonly fogColor: "vec3<f32>";
readonly invCol0: "vec4<f32>";
readonly invCol1: "vec4<f32>";
readonly invCol2: "vec4<f32>";
readonly invCol3: "vec4<f32>";
readonly viewportWidth: "f32";
readonly viewportHeight: "f32";
};
readonly defaultUniforms: {
readonly density: 0.6;
readonly fogHeight: 0;
readonly fogThickness: 0;
readonly fogColor: readonly [230, 235, 242];
readonly invCol0: readonly [1, 0, 0, 0];
readonly invCol1: readonly [0, 1, 0, 0];
readonly invCol2: readonly [0, 0, 1, 0];
readonly invCol3: readonly [0, 0, 0, 1];
readonly viewportWidth: 1;
readonly viewportHeight: 1;
};
readonly propTypes: {
readonly density: {
readonly value: 0.6;
readonly min: 0;
readonly max: 1;
};
readonly height: {
readonly value: 100;
readonly min: 0;
readonly max: 3000;
};
readonly thickness: {
readonly value: 200;
readonly min: 0;
readonly max: 1000;
};
readonly fogColor: {
readonly value: readonly [230, 235, 242];
};
readonly fogHeight: {
readonly value: 0;
readonly private: true;
};
readonly fogThickness: {
readonly value: 0;
readonly private: true;
};
readonly invCol0: {
readonly value: readonly [1, 0, 0, 0];
readonly private: true;
};
readonly invCol1: {
readonly value: readonly [0, 1, 0, 0];
readonly private: true;
};
readonly invCol2: {
readonly value: readonly [0, 0, 1, 0];
readonly private: true;
};
readonly invCol3: {
readonly value: readonly [0, 0, 0, 1];
readonly private: true;
};
readonly viewportWidth: {
readonly value: 1;
readonly private: true;
};
readonly viewportHeight: {
readonly value: 1;
readonly private: true;
};
};
};
private model;
constructor(props?: Partial<SurfaceFogProps>);
setup({ device }: {
device: any;
}): void;
setProps(props: Partial<SurfaceFogProps>): void;
preRender(): void;
postRender(params: any): any;
cleanup(): void;
}