@tolokoban/tgd
Version:
ToloGameDev library for WebGL2
78 lines • 3.46 kB
TypeScript
import { WebglEnumStencilFunction, WebglEnumStencilOperation } from "../../types";
export interface WebglStencilOptions {
enabled: boolean;
maskBack: number;
maskFront: number;
functionBack: WebglEnumStencilFunction;
functionBackMask: number;
functionBackRef: number;
functionFront: WebglEnumStencilFunction;
functionFrontMask: number;
functionFrontRef: number;
operationBack1FailStencil: WebglEnumStencilOperation;
operationBack2FailDepth: WebglEnumStencilOperation;
operationBack3Pass: WebglEnumStencilOperation;
operationFront1FailStencil: WebglEnumStencilOperation;
operationFront2FailDepth: WebglEnumStencilOperation;
operationFront3Pass: WebglEnumStencilOperation;
}
export declare const webglPresetStencil: {
off: {
enabled: boolean;
maskBack: number;
maskFront: number;
functionBack: WebglEnumStencilFunction;
functionBackMask: number;
functionBackRef: number;
functionFront: WebglEnumStencilFunction;
functionFrontMask: number;
functionFrontRef: number;
operationBack1FailStencil: WebglEnumStencilOperation;
operationBack2FailDepth: WebglEnumStencilOperation;
operationBack3Pass: WebglEnumStencilOperation;
operationFront1FailStencil: WebglEnumStencilOperation;
operationFront2FailDepth: WebglEnumStencilOperation;
operationFront3Pass: WebglEnumStencilOperation;
};
/** Set the stencil to `value` for each fragment. */
write: (value: number) => {
enabled: boolean;
maskBack: number;
maskFront: number;
functionBack: WebglEnumStencilFunction;
functionBackRef: number;
functionBackMask: number;
functionFront: WebglEnumStencilFunction;
functionFrontRef: number;
functionFrontMask: number;
operationBack1FailStencil: WebglEnumStencilOperation;
operationBack2FailDepth: WebglEnumStencilOperation;
operationBack3Pass: WebglEnumStencilOperation;
operationFront1FailStencil: WebglEnumStencilOperation;
operationFront2FailDepth: WebglEnumStencilOperation;
operationFront3Pass: WebglEnumStencilOperation;
};
/** Paint only if the stencil is equal to `value` */
paintIfEqual: (value: number) => {
enabled: boolean;
maskBack: number;
maskFront: number;
functionBack: WebglEnumStencilFunction;
functionBackRef: number;
functionBackMask: number;
functionFront: WebglEnumStencilFunction;
functionFrontRef: number;
functionFrontMask: number;
operationBack1FailStencil: WebglEnumStencilOperation;
operationBack2FailDepth: WebglEnumStencilOperation;
operationBack3Pass: WebglEnumStencilOperation;
operationFront1FailStencil: WebglEnumStencilOperation;
operationFront2FailDepth: WebglEnumStencilOperation;
operationFront3Pass: WebglEnumStencilOperation;
};
};
export declare function webglStencilSet(gl: WebGL2RenderingContext, stencil: WebglStencilOptions): void;
export declare function webglStencilGet(gl: WebGL2RenderingContext): WebglStencilOptions;
export declare function webglStencilExec(gl: WebGL2RenderingContext, stencil: WebglStencilOptions, action: () => void): void;
export declare function webglDebugStencil(gl: WebGL2RenderingContext, caption?: string): void;
//# sourceMappingURL=stencil.d.ts.map