Skip to content

Handle Engine States in Babylon Native #1106

Open
@sebavan

Description

@sebavan

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions