playcanvas
Version:
PlayCanvas WebGL game engine
85 lines (84 loc) • 2.57 kB
TypeScript
/**
* 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 {};