import { Matrix3, Vector3, Texture } from 'three'; import { Renderer } from 'three/webgpu'; import { AnyFloatType } from '@takram/three-geospatial'; import { AtmosphereContextBase } from './AtmosphereContextBase'; import { AtmosphereLUTTexture3DName, AtmosphereLUTTextureName } from './AtmosphereLUTNode'; import { AtmosphereParameters } from './AtmosphereParameters'; export declare abstract class AtmosphereLUTTexturesContext extends AtmosphereContextBase { textureType: AnyFloatType; lambdas: import('three/webgpu').UniformNode; luminanceFromRadiance: import('three/webgpu').UniformNode; constructor(parameters: AtmosphereParameters, textureType: AnyFloatType); } export declare abstract class AtmosphereLUTTextures { protected parameters?: AtmosphereParameters; protected textureType?: AnyFloatType; abstract get(name: AtmosphereLUTTextureName | AtmosphereLUTTexture3DName): Texture; abstract createContext(): AtmosphereLUTTexturesContext; abstract computeTransmittance(renderer: Renderer, context: AtmosphereLUTTexturesContext): void; abstract computeDirectIrradiance(renderer: Renderer, context: AtmosphereLUTTexturesContext): void; abstract computeSingleScattering(renderer: Renderer, context: AtmosphereLUTTexturesContext): void; abstract computeScatteringDensity(renderer: Renderer, context: AtmosphereLUTTexturesContext, scatteringOrder: number): void; abstract computeIndirectIrradiance(renderer: Renderer, context: AtmosphereLUTTexturesContext, scatteringOrder: number): void; abstract computeMultipleScattering(renderer: Renderer, context: AtmosphereLUTTexturesContext): void; setup(parameters: AtmosphereParameters, textureType: AnyFloatType): void; dispose(): void; }