123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- import type { SubMesh } from "../../Meshes/subMesh";
- import type { AbstractMesh } from "../../Meshes/abstractMesh";
- import type { Mesh } from "../../Meshes/mesh";
- import type { Scene } from "../../scene";
- import type { Matrix } from "../../Maths/math.vector";
- import { PushMaterial } from "../../Materials/pushMaterial";
- import "../../Shaders/gaussianSplatting.fragment";
- import "../../Shaders/gaussianSplatting.vertex";
- /**
- * GaussianSplattingMaterial material used to render Gaussian Splatting
- * @experimental
- */
- export declare class GaussianSplattingMaterial extends PushMaterial {
- /**
- * Instantiates a Gaussian Splatting Material in the given scene
- * @param name The friendly name of the material
- * @param scene The scene to add the material to
- */
- constructor(name: string, scene?: Scene);
- /**
- * Gets a boolean indicating that current material needs to register RTT
- */
- get hasRenderTargetTextures(): boolean;
- /**
- * Specifies whether or not this material should be rendered in alpha test mode.
- * @returns false
- */
- needAlphaTesting(): boolean;
- /**
- * Specifies whether or not this material should be rendered in alpha blend mode.
- * @returns true
- */
- needAlphaBlending(): boolean;
- /**
- * Checks whether the material is ready to be rendered for a given mesh.
- * @param mesh The mesh to render
- * @param subMesh The submesh to check against
- * @returns true if all the dependencies are ready (Textures, Effects...)
- */
- isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh): boolean;
- /**
- * Binds the submesh to this material by preparing the effect and shader to draw
- * @param world defines the world transformation matrix
- * @param mesh defines the mesh containing the submesh
- * @param subMesh defines the submesh to bind the material to
- */
- bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void;
- /**
- * Clones the material.
- * @param name The cloned name.
- * @returns The cloned material.
- */
- clone(name: string): GaussianSplattingMaterial;
- /**
- * Serializes the current material to its JSON representation.
- * @returns The JSON representation.
- */
- serialize(): any;
- /**
- * Gets the class name of the material
- * @returns "GaussianSplattingMaterial"
- */
- getClassName(): string;
- /**
- * Parse a JSON input to create back a Gaussian Splatting material.
- * @param source The JSON data to parse
- * @param scene The scene to create the parsed material in
- * @param rootUrl The root url of the assets the material depends upon
- * @returns the instantiated GaussianSplattingMaterial.
- */
- static Parse(source: any, scene: Scene, rootUrl: string): GaussianSplattingMaterial;
- }
|