@itwin/core-frontend
Version:
iTwin.js frontend components
87 lines • 3.82 kB
TypeScript
/** @packageDocumentation
* @module WebGL
*/
import { FeatureAppearanceProvider, Frustum, ViewFlags } from "@itwin/core-common";
import { GraphicList } from "../../../render/RenderGraphic";
import { BranchStack } from "./BranchStack";
import { BatchState } from "./BatchState";
import { BranchState } from "./BranchState";
import { DrawCommands, PrimitiveCommand } from "./DrawCommand";
import { Batch, Branch, Graphic } from "./Graphic";
import { Layer, LayerContainer } from "./Layer";
import { Primitive } from "./Primitive";
import { CompositeFlags, Pass, RenderPass } from "./RenderFlags";
import { TargetGraphics } from "./TargetGraphics";
import { Target } from "./Target";
/** A list of DrawCommands to be rendered, ordered by render pass.
* @internal
*/
export declare class RenderCommands implements Iterable<DrawCommands> {
private _frustumPlanes?;
private readonly _scratchFrustum;
private readonly _scratchRange;
private readonly _commands;
private _target;
private _stack;
private _batchState;
private _forcedRenderPass;
private _addLayersAsNormalGraphics;
private _opaqueOverrides;
private _translucentOverrides;
private _addTranslucentAsOpaque;
private readonly _layers;
appearanceProvider?: FeatureAppearanceProvider;
get target(): Target;
[Symbol.iterator](): Iterator<DrawCommands>;
get isEmpty(): boolean;
get isDrawingLayers(): boolean;
get currentViewFlags(): ViewFlags;
get compositeFlags(): CompositeFlags;
private get _curBatch();
hasCommands(pass: RenderPass): boolean;
isOpaquePass(pass: RenderPass): boolean;
constructor(target: Target, stack: BranchStack, batchState: BatchState);
reset(target: Target, stack: BranchStack, batchState: BatchState): void;
collectGraphicsForPlanarProjection(scene: GraphicList): void;
addGraphics(scene: GraphicList, forcedPass?: RenderPass): void;
/** Add backgroundMap graphics to their own render pass. */
addBackgroundMapGraphics(backgroundMapGraphics: GraphicList): void;
/** Add overlay graphics to the world overlay pass */
addOverlayGraphics(overlayGraphics: GraphicList): void;
addDecorations(dec: GraphicList, forcedPass?: RenderPass): void;
addWorldDecorations(decs: GraphicList): void;
private addPickableDecorations;
addBackground(gf?: Graphic): void;
addSkyBox(gf?: Graphic): void;
addPrimitiveCommand(command: PrimitiveCommand, pass?: Pass): void;
getCommands(pass: RenderPass): DrawCommands;
replaceCommands(pass: RenderPass, cmds: DrawCommands): void;
addHiliteBranch(branch: Branch, pass: RenderPass): void;
processLayers(container: LayerContainer): void;
addLayerCommands(layer: Layer): void;
addHiliteLayerCommands(graphic: Graphic, pass: RenderPass): void;
private getAnimationBranchState;
private pushAndPopBranchForPass;
private pushAndPop;
pushAndPopBranch(branch: Branch, func: () => void): void;
private _pushAndPopBranch;
pushAndPopState(state: BranchState, func: () => void): void;
clear(): void;
private _clearCommands;
private initForPickOverlayDecorations;
initForPickOverlays(sceneOverlays: GraphicList, worldOverlayDecorations: GraphicList | undefined, viewOverlayDecorations: GraphicList | undefined): void;
initForReadPixels(gfx: TargetGraphics): void;
initForRender(gfx: TargetGraphics): void;
addPrimitive(prim: Primitive): void;
addBranch(branch: Branch): void;
computeBatchHiliteRenderPass(batch: Batch): RenderPass;
addBatch(batch: Batch): void;
setCheckRange(frustum: Frustum): void;
clearCheckRange(): void;
private setupClassificationByVolume;
dump(): Array<{
name: string;
count: number;
}>;
}
//# sourceMappingURL=RenderCommands.d.ts.map