UNPKG

@takram/three-atmosphere

Version:
51 lines (50 loc) 1.95 kB
import { Color, Matrix4, Uniform, Vector3, BufferGeometry, Camera, Group, Object3D, Scene, Texture, WebGLRenderer } from 'three'; import { AtmosphereMaterialBase, AtmosphereMaterialBaseParameters, AtmosphereMaterialBaseUniforms } from './AtmosphereMaterialBase'; import { AtmosphereShadowLength } from './types'; declare module 'three' { interface Camera { isPerspectiveCamera?: boolean; } } export interface SkyMaterialParameters extends AtmosphereMaterialBaseParameters { sun?: boolean; moon?: boolean; moonDirection?: Vector3; moonAngularRadius?: number; lunarRadianceScale?: number; groundAlbedo?: Color; } export declare const skyMaterialParametersDefaults: { sun: true; moon: true; moonAngularRadius: number; lunarRadianceScale: number; ellipsoid: import('@takram/three-geospatial').Ellipsoid; correctAltitude: true; photometric: true; renderTargetCount: number; }; export interface SkyMaterialUniforms { [key: string]: Uniform<unknown>; inverseProjectionMatrix: Uniform<Matrix4>; inverseViewMatrix: Uniform<Matrix4>; moonDirection: Uniform<Vector3>; moonAngularRadius: Uniform<number>; lunarRadianceScale: Uniform<number>; groundAlbedo: Uniform<Color>; shadowLengthBuffer: Uniform<Texture | null>; } export declare class SkyMaterial extends AtmosphereMaterialBase { uniforms: AtmosphereMaterialBaseUniforms & SkyMaterialUniforms; shadowLength: AtmosphereShadowLength | null; constructor(params?: SkyMaterialParameters); onBeforeRender(renderer: WebGLRenderer, scene: Scene, camera: Camera, geometry: BufferGeometry, object: Object3D, group: Group): void; sun: boolean; moon: boolean; get moonDirection(): Vector3; get moonAngularRadius(): number; set moonAngularRadius(value: number); get lunarRadianceScale(): number; set lunarRadianceScale(value: number); get groundAlbedo(): Color; }