Matrix Engine Api Documentation - v1.15.7
    Preparing search index...

    Class MatrixEngineWGPU

    Main engine root class.

    Nikola Lukic 2026

    zlatnaspirala

    Index

    Constructors

    Properties

    _activeBindGroup _bufferUpdates _cameraUpdateFrame _camVP _canvasView _destroyQueue _emptyLight _identity _invViewProj _lastCanvasTex _lastPipeline _lightsData _rafId _sceneData _shadowPassDescs _tempViewProj _transPassDesc _viewProjMatrix _viewScratch _volumetricLightUniforms _volumetricUniforms activateEditor adapter audioManager autoUpdate blendQueue bloomBindGroup bloomOutputTex bloomPass cameraBuffer cameras canvas compareSampler context createMe culledRenderPass destroyByPrefix destroyBySufix device dummySSRTexture editor editorAddOBJ editorAddProceduralMesh entityArgPass entityHolder finalPS flagPreventRebuildMap flushDestroyQueue getTransformationMatrix globalAmbient globalSceneUniformBuffer inputHandler label lastFrameMS lastTime lightContainer logLoopError mainCameraParams mainDepthTexture mainDepthView mainRenderBundle mainRenderPassDesc materialBGL materialVideoBGL matrixPhysics matrixSounds MAX_SPOTLIGHTS MEConfig noBloomBindGroup normalTexture normalTextureView now opaqueBuckets options overrideRender physicsBodiesChain physicsBodiesGenerator physicsBodiesGeneratorDeepPyramid physicsBodiesGeneratorPyramid physicsBodiesGeneratorTower physicsBodiesGeneratorWall postProcessInputTex postProcessInputView presentPipeline presentSampler reference sceneBGL sceneBindGroup sceneTexture sceneTextureView shadersPack SHADOW_RES shadowArrayView shadowBuckets shadowPassViews shadowSampler shadowTextureArray shadowVideoTexture shadowVideoView spotlightUniformBuffer ssrPass startTime submitQueue textureCache transparentBuckets uniformBufferBindGroupLayout uniformBufferBindGroupLayoutInstanced usEvent volumetricPass worldPosTexture worldPosTextureView

    Methods

    Constructors

    Properties

    _activeBindGroup: any
    _bufferUpdates: any[]
    _cameraUpdateFrame: number
    _camVP: Mat4
    _canvasView: any
    _destroyQueue: Set<any>
    _emptyLight: Float32Array<ArrayBuffer>
    _identity: Mat4
    _invViewProj: Mat4
    _lastCanvasTex: any
    _lastPipeline: any
    _lightsData: Float32Array<ArrayBuffer>
    _rafId: any
    _sceneData: Float32Array<ArrayBuffer>
    _shadowPassDescs: any[]
    _tempViewProj: Mat4
    _transPassDesc: {
        colorAttachments: {
            clearValue: { a: number; b: number; g: number; r: number };
            loadOp: string;
            storeOp: string;
            view: any;
        }[];
        depthStencilAttachment: {
            depthClearValue: number;
            depthLoadOp: string;
            depthStoreOp: string;
            view: any;
        };
    }
    _viewProjMatrix: Mat4
    _viewScratch: Float32Array<ArrayBuffer>
    _volumetricLightUniforms: { direction: any; viewProjectionMatrix: any }
    _volumetricUniforms: { invViewProjectionMatrix: any }
    activateEditor: () => void
    adapter: any
    audioManager: AudioAssetManager = ...
    autoUpdate: any[] = []
    blendQueue: any[]
    bloomBindGroup: any
    bloomOutputTex: any
    bloomPass:
        | BloomPass
        | {
            enabled: boolean;
            setBlurRadius: (v: any) => void;
            setIntensity: (v: any) => void;
            setKnee: (v: any) => void;
            setThreshold: (v: any) => void;
        }
    cameraBuffer: any
    cameras:
        | {
            cinematicCamera?: undefined;
            firstPersonCamera: FirstPersonCamera;
            planeCamera?: undefined;
            RPG?: undefined;
            WASD?: undefined;
        }
        | {
            cinematicCamera?: undefined;
            firstPersonCamera?: undefined;
            planeCamera?: undefined;
            RPG?: undefined;
            WASD: WASDCamera;
        }
        | {
            cinematicCamera?: undefined;
            firstPersonCamera?: undefined;
            planeCamera?: undefined;
            RPG: RPGCamera;
            WASD?: undefined;
        }
        | {
            cinematicCamera: CinematicCamera;
            firstPersonCamera?: undefined;
            planeCamera?: undefined;
            RPG?: undefined;
            WASD?: undefined;
        }
        | {
            cinematicCamera?: undefined;
            firstPersonCamera?: undefined;
            planeCamera: PlaneCamera;
            RPG?: undefined;
            WASD?: undefined;
        }
        | {
            cinematicCamera: CinematicCamera;
            firstPersonCamera?: undefined;
            planeCamera?: undefined;
            RPG?: undefined;
            WASD: WASDCamera;
        }
    canvas: HTMLCanvasElement
    compareSampler: any
    context: any
    createMe: () => void
    culledRenderPass: CulledRenderPass
    destroyByPrefix: (prefix: any) => void
    destroyBySufix: (sufix: any) => void
    device: any
    dummySSRTexture: any
    editor: Editor
    editorAddOBJ: any
    editorAddProceduralMesh: any
    entityArgPass: {
        depthLoadOp: string;
        depthStoreOp: string;
        loadOp: string;
        storeOp: string;
    } = ...
    entityHolder: any[] = []
    finalPS: {
        colorAttachments: {
            clearValue: { a: number; b: number; g: number; r: number };
            loadOp: string;
            storeOp: string;
            view: any;
        }[];
    }
    flagPreventRebuildMap: boolean = false
    flushDestroyQueue: () => void
    getTransformationMatrix: (camera: any, dt: any) => void
    globalAmbient: Vec3
    globalSceneUniformBuffer: any
    inputHandler: any
    label: MultiLang
    lastFrameMS: number
    lastTime: number = 0
    lightContainer: any[] = []
    logLoopError: boolean
    mainCameraParams: { responseCoef: any; type: any }
    mainDepthTexture: any
    mainDepthView: any
    mainRenderBundle: any[] = []
    mainRenderPassDesc: {
        colorAttachments: {
            clearValue: number[];
            loadOp: string;
            storeOp: string;
            view: any;
        }[];
        depthStencilAttachment: {
            depthClearValue: number;
            depthLoadOp: string;
            depthStoreOp: string;
            view: any;
        };
        label: string;
    }
    materialBGL: any
    materialVideoBGL: any
    matrixPhysics: PhysicsBridge
    matrixSounds: MatrixSounds = ...
    MAX_SPOTLIGHTS: any
    MEConfig: {
        checkOffScreen: () => boolean;
        construct: typeof __function;
        FORCE_FULL_SCREEN: boolean;
        fsManager: FullScreenManagerElement;
        GRAVITY_Y_AXIS: number;
        LOAD_AFTER_CLICK_MOBILE: boolean;
        logLoopError: boolean;
        MAX_BONES: number;
        MAX_SPOTLIGHTS: number;
        PHYSICS_GROUND_BYX: number;
        PHYSICS_GROUND_BYZ: number;
        PHYSICS_GROUND_Y: number;
        SHADOW_RES: number;
        SINGLE_CAMERA: boolean;
    }
    noBloomBindGroup: any
    normalTexture: any
    normalTextureView: any
    now: number
    opaqueBuckets: Map<any, any> = ...
    options: any
    overrideRender: any
    physicsBodiesChain: any
    physicsBodiesGenerator: any
    physicsBodiesGeneratorDeepPyramid: any
    physicsBodiesGeneratorPyramid: any
    physicsBodiesGeneratorTower: any
    physicsBodiesGeneratorWall: any
    postProcessInputTex: any
    postProcessInputView: any
    presentPipeline: any
    presentSampler: any
    reference: {
        addRaycastsListener: (canvasId?: string, eventName?: string) => void;
        BVHPlayer: typeof BVHPlayer;
        BVHPlayerInstances: typeof BVHPlayerInstances;
        downloadMeshes: (
            nameAndURLs: any,
            completionCallback: Function,
            inputArg: any,
        ) => void;
        effectsClassRef: {
            FlameEffect: typeof FlameEffect;
            FlameEmitter: typeof FlameEmitter;
            HPBarEffect: typeof HPBarEffect;
            KaleidoscopeEffect: typeof KaleidoscopeEffect;
            MANABarEffect: typeof MANABarEffect;
            PointerEffect: typeof PointerEffect;
        };
        graphAdapter: (compilerResult: any, nodes: any) => string;
        MEMeshObj: typeof default;
        MEMeshObjInstances: typeof default;
    } = ...

    Type Declaration

    • addRaycastsListener: (canvasId?: string, eventName?: string) => void
    • BVHPlayer: typeof BVHPlayer
    • BVHPlayerInstances: typeof BVHPlayerInstances
    • downloadMeshes: (nameAndURLs: any, completionCallback: Function, inputArg: any) => void

      Takes in an object of mesh_name, '/url/to/OBJ/file' pairs and a callback function. Each OBJ file will be ajaxed in and automatically converted to an OBJ.Mesh. When all files have successfully downloaded the callback function provided will be called and passed in an object containing the newly created meshes.

      Note: In order to use this function as a way to download meshes, a webserver of some sort must be used.

    • effectsClassRef: {
          FlameEffect: typeof FlameEffect;
          FlameEmitter: typeof FlameEmitter;
          HPBarEffect: typeof HPBarEffect;
          KaleidoscopeEffect: typeof KaleidoscopeEffect;
          MANABarEffect: typeof MANABarEffect;
          PointerEffect: typeof PointerEffect;
      }
    • graphAdapter: (compilerResult: any, nodes: any) => string
    • MEMeshObj: typeof default
    • MEMeshObjInstances: typeof default
    sceneBGL: any
    sceneBindGroup: any
    sceneTexture: any
    sceneTextureView: any
    shadersPack: {}
    SHADOW_RES: number
    shadowArrayView: any
    shadowBuckets: { default: any[]; instanced: any[]; procedural: any[] } = ...
    shadowPassViews: any[]
    shadowSampler: any
    shadowTextureArray: any
    shadowVideoTexture: any
    shadowVideoView: any
    spotlightUniformBuffer: any
    ssrPass: SSRPass | { enabled: boolean }
    startTime: number
    submitQueue: any[]
    textureCache: TextureCache
    transparentBuckets: Map<any, any> = ...
    uniformBufferBindGroupLayout: any
    uniformBufferBindGroupLayoutInstanced: any
    usEvent: CustomEvent<{}>
    volumetricPass: VolumetricPass | { enabled: boolean }
    worldPosTexture: any
    worldPosTextureView: any

    Methods

    • Parameters

      • arg: any

      Returns void

    • Parameters

      • o: any
      • BVHANIM: any
      • glbFile: any
      • clearColor: any = ...

      Returns BVHPlayer[]

    • Parameters

      • o: any
      • BVHANIM: any
      • glbFile: any
      • clearColor: any = ...

      Returns BVHPlayerInstances

    • Parameters

      • o: any
      • clearColor: any = ...

      Returns MEMeshObj

    • Parameters

      • o: any
      • clearColor: any = ...

      Returns ProceduralMeshObj

    • Parameters

      • scale: any

      Returns void

    • Parameters

      • scale: any

      Returns void

    • Parameters

      • callback: any

      Returns void

    • Parameters

      • p: any

      Returns any

    • Parameters

      • name: any

      Returns any

    • Parameters

      • name: any

      Returns any

    • Parameters

      • delta: any

      Returns void

    • Parameters

      • __namedParameters: { callback: any; canvas: any }

      Returns Promise<void>

    • Parameters

      • name: any

      Returns boolean

    • Parameters

      • callback: any

      Returns Promise<void>