import { AssetBase } from '@awayjs/core'; import { LightBase } from '../lights/LightBase'; import { DirectionalLight } from '../lights/DirectionalLight'; import { LightProbe } from '../lights/LightProbe'; import { PointLight } from '../lights/PointLight'; import { ContainerNode } from '@awayjs/view'; /** * LightPickerBase provides an abstract base clase for light picker classes. These classes are responsible for * feeding materials with relevant lights. Usually, StaticLightPicker can be used, but LightPickerBase can be * extended to provide more application-specific dynamic selection of lights. * * @see StaticLightPicker */ export declare class LightPickerBase extends AssetBase { static assetType: string; protected _numPointLights: number; protected _numDirectionalLights: number; protected _numCastingPointLights: number; protected _numCastingDirectionalLights: number; protected _numLightProbes: number; protected _allPickedLights: Array; protected _pointLights: Array; protected _castingPointLights: Array; protected _directionalLights: Array; protected _castingDirectionalLights: Array; protected _lightProbes: Array; protected _lightProbeWeights: Array; /** * Creates a new LightPickerBase object. */ constructor(); /** * Disposes resources used by the light picker. */ dispose(): void; /** * @inheritDoc */ get assetType(): string; /** * The maximum amount of directional lights that will be provided. */ get numDirectionalLights(): number; /** * The maximum amount of point lights that will be provided. */ get numPointLights(): number; /** * The maximum amount of directional lights that cast shadows. */ get numCastingDirectionalLights(): number; /** * The amount of point lights that cast shadows. */ get numCastingPointLights(): number; /** * The maximum amount of light probes that will be provided. */ get numLightProbes(): number; /** * The collected point lights to be used for shading. */ get pointLights(): Array; /** * The collected directional lights to be used for shading. */ get directionalLights(): Array; /** * The collected point lights that cast shadows to be used for shading. */ get castingPointLights(): Array; /** * The collected directional lights that cast shadows to be used for shading. */ get castingDirectionalLights(): Array; /** * The collected light probes to be used for shading. */ get lightProbes(): Array; /** * The weights for each light probe, defining their influence on the object. */ get lightProbeWeights(): Array; /** * A collection of all the collected lights. */ get allPickedLights(): Array; /** * Updates set of lights for a given renderable and EntityCollector. Always call super.collectLights() after custom overridden code. */ collectLights(container: ContainerNode): void; /** * Updates the weights for the light probes, based on the renderable's position relative to them. * @param renderable The renderble for which to calculate the light probes' influence. */ private updateProbeWeights; } //# sourceMappingURL=LightPickerBase.d.ts.map