@animech-public/playcanvas
Version:
PlayCanvas WebGL game engine
46 lines (45 loc) • 1.77 kB
TypeScript
/** @ignore */
export class GSplatInstance {
/**
* @param {import('./gsplat.js').GSplat} splat - The splat instance.
* @param {import('./gsplat-material.js').SplatMaterialOptions} options - The options.
*/
constructor(splat: import("./gsplat.js").GSplat, options: import("./gsplat-material.js").SplatMaterialOptions);
/** @type {import('./gsplat.js').GSplat} */
splat: import("./gsplat.js").GSplat;
/** @type {Mesh} */
mesh: Mesh;
/** @type {MeshInstance} */
meshInstance: MeshInstance;
/** @type {import('../materials/material.js').Material} */
material: import("../materials/material.js").Material;
/** @type {import('../../platform/graphics/texture.js').Texture} */
orderTexture: import("../../platform/graphics/texture.js").Texture;
options: {};
/** @type {GSplatSorter | null} */
sorter: GSplatSorter | null;
lastCameraPosition: Vec3;
lastCameraDirection: Vec3;
/**
* List of cameras this instance is visible for. Updated every frame by the renderer.
*
* @type {import('../camera.js').Camera[]}
* @ignore
*/
cameras: import("../camera.js").Camera[];
centers: Float32Array<ArrayBuffer>;
destroy(): void;
clone(): GSplatInstance;
createMaterial(options: any): void;
updateViewport(): void;
/**
* Sorts the GS vertices based on the given camera.
* @param {import('../graph-node.js').GraphNode} cameraNode - The camera node used for sorting.
*/
sort(cameraNode: import("../graph-node.js").GraphNode): void;
update(): void;
}
import { Mesh } from '../mesh.js';
import { MeshInstance } from '../mesh-instance.js';
import { GSplatSorter } from './gsplat-sorter.js';
import { Vec3 } from '../../core/math/vec3.js';