UNPKG

playcanvas

Version:

PlayCanvas WebGL game engine

85 lines (84 loc) 2.57 kB
/** * Class responsible for managing {@link GSplatManager} instances for Cameras and their Layers. * * @ignore */ export class GSplatDirector { /** * @param {GraphicsDevice} device - The graphics device. * @param {Renderer} renderer - The renderer. * @param {Scene} scene - The scene. * @param {EventHandler} eventHandler - Event handler for firing events. */ constructor(device: GraphicsDevice, renderer: Renderer, scene: Scene, eventHandler: EventHandler); /** * @type {GraphicsDevice} */ device: GraphicsDevice; /** * Per camera data. * * @type {Map<Camera, GSplatCameraData>} */ camerasMap: Map<Camera, GSplatCameraData>; /** * @type {Scene} */ scene: Scene; /** * @type {EventHandler} */ eventHandler: EventHandler; renderer: Renderer; destroy(): void; getCameraData(camera: any): GSplatCameraData; /** * Updates the director for the given layer composition cameras and layers. * * @param {LayerComposition} comp - The layer composition. */ update(comp: LayerComposition): void; } import type { GraphicsDevice } from '../../platform/graphics/graphics-device.js'; import type { Camera } from '../camera.js'; /** * Per camera data the director keeps track of. * * @ignore */ declare class GSplatCameraData { /** * @type {Map<Layer, GSplatLayerData>} */ layersMap: Map<Layer, GSplatLayerData>; destroy(): void; removeLayerData(layer: any): void; getLayerData(device: any, director: any, layer: any, cameraNode: any): GSplatLayerData; } import type { Scene } from '../scene.js'; import type { EventHandler } from '../../core/event-handler.js'; import type { Renderer } from '../renderer/renderer.js'; import type { LayerComposition } from '../composition/layer-composition.js'; import type { Layer } from '../layer.js'; /** * Per layer data the director keeps track of. * * @ignore */ declare class GSplatLayerData { /** * @param {GraphicsDevice} device - The graphics device. * @param {GSplatDirector} director - The director. * @param {Layer} layer - The layer. * @param {GraphNode} cameraNode - The camera node. */ constructor(device: GraphicsDevice, director: GSplatDirector, layer: Layer, cameraNode: GraphNode); /** * @type {GSplatManager} */ gsplatManager: GSplatManager; destroy(): void; } import { GSplatManager } from './gsplat-manager.js'; import type { GraphNode } from '../graph-node.js'; export {};