UNPKG

@tolokoban/tgd

Version:

ToloGameDev library for WebGL2

78 lines 3.45 kB
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: false; 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: true; 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: true; 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