BabylonNative icon indicating copy to clipboard operation
BabylonNative copied to clipboard

Handle Engine States in Babylon Native

Open sebavan opened this issue 2 years ago • 1 comments

Currently, NativeEngine.js does not support changing and relying on states through the available state properties:

   /**
     * Gets the depth culling state manager
     */
    public get depthCullingState(): DepthCullingState {
        return this._depthCullingState;
    }

    /**
     * Gets the alpha state manager
     */
    public get alphaState(): AlphaState {
        return this._alphaState;
    }

    /**
     * Gets the stencil state manager
     */
    public get stencilState(): StencilState {
        return this._stencilState;
    }

    /**
     * Gets the stencil state composer
     */
    public get stencilStateComposer(): StencilStateComposer {
        return this._stencilStateComposer;
    }

Those are only working in WebGL and WebGPU. In Native state changes needs to flow through the old APIs dedicated functions like: setState, setDepthBuffer and similar...

It is the source of both potential bugs (even in our current version) and forces ThinEngine to be bigger than required.

sebavan avatar Jul 20 '22 17:07 sebavan

Related: #778

bghgary avatar Oct 13 '22 18:10 bghgary