123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- import type { Nullable } from "../../types";
- declare module "../../Engines/abstractEngine" {
- interface AbstractEngine {
- /** @internal */
- _cachedStencilBuffer: boolean;
- /** @internal */
- _cachedStencilFunction: number;
- /** @internal */
- _cachedStencilMask: number;
- /** @internal */
- _cachedStencilOperationPass: number;
- /** @internal */
- _cachedStencilOperationFail: number;
- /** @internal */
- _cachedStencilOperationDepthFail: number;
- /** @internal */
- _cachedStencilReference: number;
- /**
- * Gets the current depth function
- * @returns a number defining the depth function
- */
- getDepthFunction(): Nullable<number>;
- /**
- * Sets the current depth function
- * @param depthFunc defines the function to use
- */
- setDepthFunction(depthFunc: number): void;
- /**
- * Sets the current depth function to GREATER
- */
- setDepthFunctionToGreater(): void;
- /**
- * Sets the current depth function to GEQUAL
- */
- setDepthFunctionToGreaterOrEqual(): void;
- /**
- * Sets the current depth function to LESS
- */
- setDepthFunctionToLess(): void;
- /**
- * Sets the current depth function to LEQUAL
- */
- setDepthFunctionToLessOrEqual(): void;
- /**
- * Gets a boolean indicating if depth writing is enabled
- * @returns the current depth writing state
- */
- getDepthWrite(): boolean;
- /**
- * Enable or disable depth writing
- * @param enable defines the state to set
- */
- setDepthWrite(enable: boolean): void;
- /**
- * Gets the current stencil operation when stencil passes
- * @returns a number defining stencil operation to use when stencil passes
- */
- getStencilOperationPass(): number;
- /**
- * Gets a boolean indicating if stencil buffer is enabled
- * @returns the current stencil buffer state
- */
- getStencilBuffer(): boolean;
- /**
- * Enable or disable the stencil buffer
- * @param enable defines if the stencil buffer must be enabled or disabled
- */
- setStencilBuffer(enable: boolean): void;
- /**
- * Gets the current stencil mask
- * @returns a number defining the new stencil mask to use
- */
- getStencilMask(): number;
- /**
- * Sets the current stencil mask
- * @param mask defines the new stencil mask to use
- */
- setStencilMask(mask: number): void;
- /**
- * Gets the current stencil function
- * @returns a number defining the stencil function to use
- */
- getStencilFunction(): number;
- /**
- * Gets the current stencil reference value
- * @returns a number defining the stencil reference value to use
- */
- getStencilFunctionReference(): number;
- /**
- * Gets the current stencil mask
- * @returns a number defining the stencil mask to use
- */
- getStencilFunctionMask(): number;
- /**
- * Sets the current stencil function
- * @param stencilFunc defines the new stencil function to use
- */
- setStencilFunction(stencilFunc: number): void;
- /**
- * Sets the current stencil reference
- * @param reference defines the new stencil reference to use
- */
- setStencilFunctionReference(reference: number): void;
- /**
- * Sets the current stencil mask
- * @param mask defines the new stencil mask to use
- */
- setStencilFunctionMask(mask: number): void;
- /**
- * Gets the current stencil operation when stencil fails
- * @returns a number defining stencil operation to use when stencil fails
- */
- getStencilOperationFail(): number;
- /**
- * Gets the current stencil operation when depth fails
- * @returns a number defining stencil operation to use when depth fails
- */
- getStencilOperationDepthFail(): number;
- /**
- * Sets the stencil operation to use when stencil fails
- * @param operation defines the stencil operation to use when stencil fails
- */
- setStencilOperationFail(operation: number): void;
- /**
- * Sets the stencil operation to use when depth fails
- * @param operation defines the stencil operation to use when depth fails
- */
- setStencilOperationDepthFail(operation: number): void;
- /**
- * Sets the stencil operation to use when stencil passes
- * @param operation defines the stencil operation to use when stencil passes
- */
- setStencilOperationPass(operation: number): void;
- /**
- * Caches the state of the stencil buffer
- */
- cacheStencilState(): void;
- /**
- * Restores the state of the stencil buffer
- */
- restoreStencilState(): void;
- /**
- * Sets alpha constants used by some alpha blending modes
- * @param r defines the red component
- * @param g defines the green component
- * @param b defines the blue component
- * @param a defines the alpha component
- */
- setAlphaConstants(r: number, g: number, b: number, a: number): void;
- /**
- * Gets the current alpha mode
- * @see https://doc.babylonjs.com/features/featuresDeepDive/materials/advanced/transparent_rendering
- * @returns the current alpha mode
- */
- getAlphaMode(): number;
- /**
- * Gets the current alpha equation.
- * @returns the current alpha equation
- */
- getAlphaEquation(): number;
- }
- }
|