playcanvas
Version:
PlayCanvas WebGL game engine
83 lines (82 loc) • 3.27 kB
TypeScript
/**
* Base class for a GSplat resource and defines common properties.
*
* @ignore
*/
export class GSplatResourceBase {
static createMesh(device: any): Mesh;
static createInstanceIndices(device: any, splatCount: any): VertexBuffer;
static get instanceSize(): number;
constructor(device: any, gsplatData: any);
/** @type {GraphicsDevice} */
device: GraphicsDevice;
/** @type {GSplatData | GSplatCompressedData | GSplatSogsData} */
gsplatData: GSplatData | GSplatCompressedData | GSplatSogsData;
/** @type {Float32Array} */
centers: Float32Array;
/** @type {BoundingBox} */
aabb: BoundingBox;
/** @type {Mesh} */
mesh: Mesh;
/** @type {VertexBuffer} */
instanceIndices: VertexBuffer;
/** @type {number} */
id: number;
/** @type {Map<string, WorkBufferRenderInfo>} */
workBufferRenderInfos: Map<string, WorkBufferRenderInfo>;
destroy(): void;
/**
* Get or create a QuadRender for rendering to work buffer.
*
* @param {boolean} useIntervals - Whether to use intervals.
* @returns {WorkBufferRenderInfo} The WorkBufferRenderInfo instance.
*/
getWorkBufferRenderInfo(useIntervals: boolean): WorkBufferRenderInfo;
get numSplats(): any;
configureMaterial(material: any): void;
configureMaterialDefines(defines: any): void;
/**
* Evaluates the size of the texture based on the number of splats.
*
* @param {number} count - Number of gaussians.
* @returns {Vec2} Returns a Vec2 object representing the size of the texture.
*/
evalTextureSize(count: number): Vec2;
/**
* Creates a new texture with the specified parameters.
*
* @param {string} name - The name of the texture to be created.
* @param {number} format - The pixel format of the texture.
* @param {Vec2} size - The size of the texture in a Vec2 object, containing width (x) and height (y).
* @param {Uint8Array|Uint16Array|Uint32Array} [data] - The initial data to fill the texture with.
* @returns {Texture} The created texture instance.
*/
createTexture(name: string, format: number, size: Vec2, data?: Uint8Array | Uint16Array | Uint32Array): Texture;
instantiate(): void;
}
import type { GraphicsDevice } from '../../platform/graphics/graphics-device.js';
import type { GSplatData } from './gsplat-data.js';
import type { GSplatCompressedData } from './gsplat-compressed-data.js';
import type { GSplatSogsData } from './gsplat-sogs-data.js';
import { BoundingBox } from '../../core/shape/bounding-box.js';
import { Mesh } from '../mesh.js';
import { VertexBuffer } from '../../platform/graphics/vertex-buffer.js';
/**
* A helper class to cache quad renders for work buffer rendering.
*
* @ignore
*/
declare class WorkBufferRenderInfo {
constructor(device: any, key: any, material: any);
/** @type {ShaderMaterial} */
material: ShaderMaterial;
/** @type {QuadRender} */
quadRender: QuadRender;
device: any;
destroy(): void;
}
import { Vec2 } from '../../core/math/vec2.js';
import { Texture } from '../../platform/graphics/texture.js';
import { ShaderMaterial } from '../materials/shader-material.js';
import { QuadRender } from '../graphics/quad-render.js';
export {};