@takram/three-atmosphere
Version:
A Three.js and R3F implementation of Precomputed Atmospheric Scattering
43 lines (42 loc) • 1.69 kB
TypeScript
import { Matrix4, Uniform, Vector2, BufferGeometry, Group, Object3D, OrthographicCamera, PerspectiveCamera, Scene, WebGLRenderer } from 'three';
import { AtmosphereMaterialBase, AtmosphereMaterialBaseParameters, AtmosphereMaterialBaseUniforms } from './AtmosphereMaterialBase';
declare module 'three' {
interface Camera {
isPerspectiveCamera?: boolean;
}
}
export interface StarsMaterialParameters extends AtmosphereMaterialBaseParameters {
pointSize?: number;
radianceScale?: number;
background?: boolean;
}
export declare const starsMaterialParametersDefaults: {
pointSize: number;
radianceScale: number;
background: true;
ellipsoid: import('@takram/three-geospatial').Ellipsoid;
correctAltitude: true;
photometric: true;
renderTargetCount: number;
};
export interface StarsMaterialUniforms {
[key: string]: Uniform<unknown>;
projectionMatrix: Uniform<Matrix4>;
modelViewMatrix: Uniform<Matrix4>;
viewMatrix: Uniform<Matrix4>;
matrixWorld: Uniform<Matrix4>;
cameraFar: Uniform<number>;
pointSize: Uniform<number>;
magnitudeRange: Uniform<Vector2>;
radianceScale: Uniform<number>;
}
export declare class StarsMaterial extends AtmosphereMaterialBase {
uniforms: AtmosphereMaterialBaseUniforms & StarsMaterialUniforms;
pointSize: number;
constructor(params?: StarsMaterialParameters);
onBeforeRender(renderer: WebGLRenderer, scene: Scene, camera: PerspectiveCamera | OrthographicCamera, geometry: BufferGeometry, object: Object3D, group: Group): void;
get magnitudeRange(): Vector2;
get radianceScale(): number;
set radianceScale(value: number);
background: boolean;
}