UNPKG

@giro3d/giro3d

Version:

A JS/WebGL framework for 3D geospatial data visualization

55 lines 1.97 kB
/** * Adapted from original code by https://github.com/zz85 * * Based on "A Practical Analytic Model for Daylight" * aka The Preetham Model, the de facto standard analytic skydome model * http://www.cs.utah.edu/~shirley/papers/sunsky/sunsky.pdf * * First implemented by Simon Wallner * http://www.simonwallner.at/projects/atmospheric-scattering * * Improved by Martin Upitis * http://blenderartists.org/forum/showthread.php?245954-preethams-sky-impementation-HDR * * THREE.js integration by zz85 http://twitter.com/blurspline */ import type { Camera, IUniform, Scene, WebGLRenderer } from 'three'; import { Mesh, ShaderMaterial, SphereGeometry, Vector3 } from 'three'; interface Uniforms extends Record<string, IUniform<unknown>> { skyDomeLuminance: IUniform<number>; turbidity: IUniform<number>; rayleighCoefficient: IUniform<number>; mieCoefficient: IUniform<number>; mieDirectionalG: IUniform<number>; sunPosition: IUniform<Vector3>; up: IUniform<Vector3>; sunAngularDiameterCos: IUniform<number>; } declare class SkyDome extends Mesh<SphereGeometry, ShaderMaterial> { readonly isSkyDome: true; readonly type: "SkyDome"; readonly uniforms: Uniforms; private set; private get; /** * The cosine of the solar disc's apparent diameter, in degrees. */ get sunAngularDiameterCos(): number; set sunAngularDiameterCos(v: number); get luminance(): number; set luminance(v: number); get turbidity(): number; set turbidity(v: number); get rayleighCoefficient(): number; set rayleighCoefficient(v: number); get mieCoefficient(): number; set mieCoefficient(v: number); get mieDirectionalG(): number; set mieDirectionalG(v: number); constructor(params?: { atmosphereThickness?: number; }); onBeforeRender(renderer: WebGLRenderer, scene: Scene, camera: Camera): void; } export default SkyDome; //# sourceMappingURL=SkyDome.d.ts.map