@itwin/core-frontend
Version:
iTwin.js frontend components
50 lines • 2.25 kB
TypeScript
import { WebGLDisposable } from "./Disposable";
import { Matrix4 } from "./Matrix";
import { SyncTarget } from "./Sync";
import { Target } from "./Target";
import { UniformHandle } from "./UniformHandle";
export declare const MAX_SAMPLE_POINTS = 40;
export declare class AtmosphereUniforms implements WebGLDisposable, SyncTarget {
private _atmosphere?;
private _ellipsoid?;
private readonly _earthScaleMatrix;
private readonly _inverseEllipsoidRotationMatrix;
private readonly _atmosphereScaleMatrix;
private readonly _atmosphereData;
/**
* uniform mat3 u_atmosphereData;
* { { atmosphereRadiusScaleFactor, atmosphereMaxDensityThresholdScaleFactor, densityFalloff, 0 },
* { numViewRaySamples, numSunRaySamples, 0, 0 },
* { earthCenter.x, earthCenter.y, earthCenter.z, 0 },
* { scatteringCoefficients.x, scatteringCoefficients.y, scatteringCoefficients.z, 0 } }
*/
get atmosphereData(): Matrix4;
private _exposure;
syncKey: number;
private _scratchMatrix3d;
private _scratchPoint3d;
update(target: Target): void;
private _updateEarthCenter;
private _updateInverseEllipsoidRotationMatrix;
private _updateEarthScaleMatrix;
private _updateAtmosphereScaleMatrix;
private _updateAtmosphereRadiusScaleFactor;
private _updateAtmosphereMaxDensityThresholdScaleFactor;
private _updateDensityFalloff;
private _updateScatteringCoefficients;
private _updateExposure;
bindExposure(uniform: UniformHandle): void;
private _updateNumViewRaySamples;
private _updateNumSunRaySamples;
bindInverseRotationInverseEarthScaleMatrix(uniform: UniformHandle): void;
bindInverseRotationInverseAtmosphereScaleMatrix(uniform: UniformHandle): void;
bindEarthScaleMatrix(uniform: UniformHandle): void;
bindAtmosphereScaleMatrix(uniform: UniformHandle): void;
bindInverseEarthScaleMatrix(uniform: UniformHandle): void;
bindInverseAtmosphereScaleMatrix(uniform: UniformHandle): void;
get isDisposed(): boolean;
[Symbol.dispose](): void;
/** @deprecated in 5.0 - will not be removed until after 2026-06-13. Use [Symbol.dispose] instead. */
dispose(): void;
}
//# sourceMappingURL=AtmosphereUniforms.d.ts.map