@itwin/core-frontend
Version:
iTwin.js frontend components
50 lines • 1.63 kB
TypeScript
/** @packageDocumentation
* @module WebGL
*/
import { BeEvent } from "@itwin/core-bentley";
import { Point3d, Vector3d } from "@itwin/core-geometry";
import { Viewport } from "../../../Viewport";
import { FrameBuffer, FrameBufferStack } from "./FrameBuffer";
import { FrustumUniformType } from "./FrustumUniforms";
import { RenderCommands } from "./RenderCommands";
import { CompositeFlags } from "./RenderFlags";
import { System } from "./System";
/** @internal */
export interface FrameRenderData {
commands: RenderCommands;
needComposite: boolean;
compositeFlags: CompositeFlags;
fbo: FrameBuffer;
frameBufferStack: FrameBufferStack;
}
/** @internal */
export interface FrameBeforeRenderData {
renderSystem: System;
viewport: Viewport;
setSceneNeedRedraw: (redraw: boolean) => void;
}
/** @internal */
export interface FrameCameraFrustumData {
type: FrustumUniformType;
left: number;
right: number;
bottom: number;
top: number;
front: number;
back: number;
}
/** @internal */
export interface FrameCameraViewData {
cameraPosition: Point3d;
viewX: Vector3d;
viewY: Vector3d;
viewZ: Vector3d;
}
/** @internal */
export declare class IModelFrameLifecycle {
static readonly onBeforeRender: BeEvent<(data: FrameBeforeRenderData) => void>;
static readonly onRenderOpaque: BeEvent<(data: FrameRenderData) => void>;
static readonly onChangeCameraFrustum: BeEvent<(data: FrameCameraFrustumData) => void>;
static readonly onChangeCameraView: BeEvent<(data: FrameCameraViewData) => void>;
}
//# sourceMappingURL=IModelFrameLifecycle.d.ts.map