@itwin/core-frontend
Version:
iTwin.js frontend components
89 lines • 2.67 kB
TypeScript
/** @packageDocumentation
* @module WebGL
*/
import { RenderPass } from "./RenderFlags";
import { Target } from "./Target";
/** Specifies how a TechniqueFlags handles feature table/overrides.
* @internal
*/
export declare const enum FeatureMode {
None = 0,// no features
Pick = 1,// feature table only
Overrides = 2
}
/** @internal */
export declare const enum IsInstanced {
No = 0,
Yes = 1
}
/** @internal */
export declare const enum IsAnimated {
No = 0,
Yes = 1
}
/** @internal */
export declare const enum IsClassified {
No = 0,
Yes = 1
}
/** @internal */
export declare const enum IsEdgeTestNeeded {
No = 0,
Yes = 1
}
/** @internal */
export declare const enum IsShadowable {
No = 0,
Yes = 1
}
/** @internal */
export declare const enum IsThematic {
No = 0,
Yes = 1
}
/** @internal */
export declare const enum IsWiremesh {
No = 0,
Yes = 1
}
/** @internal */
export type PositionType = "quantized" | "unquantized";
/** @internal */
export declare const enum EnableAtmosphere {
No = 0,
Yes = 1
}
/** Flags used to control which shader program is used by a rendering Technique.
* @internal
*/
export declare class TechniqueFlags {
numClipPlanes: number;
featureMode: FeatureMode;
isTranslucent: boolean;
isEdgeTestNeeded: IsEdgeTestNeeded;
isAnimated: IsAnimated;
isInstanced: IsInstanced;
isClassified: IsClassified;
isShadowable: IsShadowable;
isThematic: IsThematic;
isWiremesh: IsWiremesh;
positionType: PositionType;
enableAtmosphere: EnableAtmosphere;
private _isHilite;
constructor(translucent?: boolean);
get hasClip(): boolean;
get usesQuantizedPositions(): boolean;
init(target: Target, pass: RenderPass, instanced: IsInstanced, animated?: IsAnimated, classified?: IsClassified, shadowable?: IsShadowable, thematic?: IsThematic, wiremesh?: IsWiremesh, posType?: PositionType, enableAtmosphere?: EnableAtmosphere): void;
reset(mode: FeatureMode, instanced: IsInstanced | undefined, shadowable: IsShadowable, thematic: IsThematic, posType: PositionType): void;
get hasFeatures(): boolean;
setAnimated(animated: boolean): void;
setInstanced(instanced: boolean): void;
setClassified(classified: boolean): void;
get isHilite(): boolean;
initForHilite(numClipPlanes: number, instanced: IsInstanced, classified: IsClassified, posType: PositionType): void;
equals(other: TechniqueFlags): boolean;
buildDescription(): string;
static fromDescription(description: string): TechniqueFlags;
static readonly defaults: TechniqueFlags;
}
//# sourceMappingURL=TechniqueFlags.d.ts.map