@itwin/core-frontend
Version:
iTwin.js frontend components
49 lines • 2.29 kB
TypeScript
/** @packageDocumentation
* @module WebGL
*/
import { Matrix4d } from "@itwin/core-geometry";
import { RenderPlan } from "../RenderPlan";
import { BatchUniforms } from "./BatchUniforms";
import { BranchUniforms } from "./BranchUniforms";
import { FrustumUniforms } from "./FrustumUniforms";
import { UniformHandle } from "./UniformHandle";
import { HiliteUniforms } from "./HiliteUniforms";
import { LightingUniforms } from "./LightingUniforms";
import { Matrix4 } from "./Matrix";
import { ShadowUniforms } from "./ShadowUniforms";
import { StyleUniforms } from "./StyleUniforms";
import { Target } from "./Target";
import { ThematicUniforms } from "./ThematicUniforms";
import { ViewRectUniforms } from "./ViewRectUniforms";
import { RealityModelUniforms } from "./RealityModelUniforms";
import { AtmosphereUniforms } from "./AtmosphereUniforms";
import { ContourUniforms } from "./ContourUniforms";
/** Holds state for commonly-used uniforms to avoid unnecessary recomputation, owned by a Target.
* DO NOT directly modify exposed members of the objects exposed by this class. Use their APIs.
* e.g., code like `target.uniforms.frustum.projectionMatrix.setFrom(someOtherMatrix)` or `target.uniforms.branch.top.setViewFlags(blah)` will cause bugs.
* @internal
*/
export declare class TargetUniforms {
readonly frustum: FrustumUniforms;
readonly viewRect: ViewRectUniforms;
readonly hilite: HiliteUniforms;
readonly style: StyleUniforms;
readonly lights: LightingUniforms;
readonly thematic: ThematicUniforms;
readonly contours: ContourUniforms;
readonly branch: BranchUniforms;
readonly batch: BatchUniforms;
readonly shadow: ShadowUniforms;
readonly realityModel: RealityModelUniforms;
readonly atmosphere: AtmosphereUniforms;
private readonly _pixelWidthFactor;
private readonly _sunDirection;
constructor(target: Target);
getProjectionMatrix(forViewCoords: boolean): Matrix4d;
getProjectionMatrix32(forViewCoords: boolean): Matrix4;
bindProjectionMatrix(uniform: UniformHandle, forViewCoords: boolean): void;
bindPixelWidthFactor(uniform: UniformHandle): void;
bindSunDirection(uniform: UniformHandle): void;
updateRenderPlan(plan: RenderPlan): void;
}
//# sourceMappingURL=TargetUniforms.d.ts.map