@babylonjs/core
Version:
Getting started? Play directly with the Babylon.js API using our [playground](https://playground.babylonjs.com/). It also contains a lot of samples to learn how to use it.
40 lines (39 loc) • 2.21 kB
TypeScript
/** This file must only contain pure code and pure imports */
/**
* Message commands exchanged with the Gaussian Splatting depth-sort worker. Every message carries a
* `command` field naming the intended work, instead of inferring it from which payload is present.
*/
export declare const GaussianSplattingSortWorkerCommand: {
/** Main -> worker: set the source splat centers (stride 4: xyz + 1). */
readonly POSITIONS: "positions";
/** Main -> worker: patch a contiguous sub-range of the existing source splat centers in place. */
readonly POSITIONS_UPDATE: "positionsUpdate";
/** Main -> worker: set the compound-mesh rig node matrices. */
readonly PART_MATRICES: "partMatrices";
/** Main -> worker: set the compound-mesh per-splat rig node indices. */
readonly PART_INDICES: "partIndices";
/** Main -> worker: set the active source-splat ranges (flat [start0, count0, ...]). */
readonly INTERVALS: "intervals";
/** Main -> worker: sort the active splats for a camera view. */
readonly SORT: "sort";
/** Worker -> main: a completed sort result. */
readonly SORTED: "sorted";
};
/**
* Depth-sort web worker body for Gaussian Splatting meshes.
*
* The function is self-contained: it is serialized with `Function.prototype.toString()` and run
* inside a `Blob`-backed `Worker`, so it must not reference anything from its enclosing module
* (including {@link GaussianSplattingSortWorkerCommand} — the command literals are duplicated here).
*
* The intended work for each message is selected explicitly via its `command` field:
* - `positions` set source splat centers (stride 4: xyz + 1).
* - `partMatrices` set compound-mesh rig node matrices.
* - `partIndices` set compound-mesh per-splat rig node indices.
* - `intervals` set active source-splat ranges (flat [start0, count0, ...]); persisted across sorts.
* - `sort` sort the active splats for `{ worldMatrix, cameraForward, cameraPosition, depthMix,
* cameraId, sortRequestId, rightHanded }` and post back a `sorted` result.
*
* @param self - the worker global scope
*/
export declare const GaussianSplattingSortWorker: (self: Worker) => void;