UNPKG

babylonjs-godrays

Version:

Performant and lightweight god rays effect for BabylonJS based on geometry

54 lines (53 loc) 1.5 kB
import { Color3, Mesh, Scene } from "babylonjs"; export declare const defaultConfig: { scale: number; colors: Color3[]; minSpeed: number; maxSpeed: number; minAlpha: number; maxAlpha: number; density: number; }; export interface GodraysConfig { colors: Array<Color3>; scale: number; minSpeed: number; maxSpeed: number; minAlpha: number; maxAlpha: number; density: number; } export declare class Godrays extends Mesh { private layers; private rays; private aimScale; private layersNumber; private raysNumber; private raysMinWidth; private raysMaxWidth; private raysMinLength; private raysMaxLength; private raysMinAlpha; private raysMaxAlpha; private density; private minRotationSpeed; private maxRotationSpeed; private colors; private layersRotationSpeeds; private rotating; constructor(scene: Scene); start(config?: GodraysConfig): void; stop(): void; setConfig(config: GodraysConfig): void; setAlpha(minAlpha: number, maxAlpha: number): void; setDensity(density: number): void; setSpeed(minSpeed: number, maxSpeed: number): void; setRaysScale(scale: number): void; setColors(colors: Array<Color3>): void; private createLayers; private createLayer; private rotateLayersAndInterpolateScale; private createRay; private getRandomColor; private getColorData; }