@luma.gl/engine
Version:
3D Engine Components for luma.gl
27 lines • 1.27 kB
TypeScript
import type { RenderPipelineProps, ComputePipelineProps } from '@luma.gl/core';
import { Device, RenderPipeline, ComputePipeline } from '@luma.gl/core';
export type PipelineFactoryProps = RenderPipelineProps;
/**
* Efficiently creates / caches pipelines
*/
export declare class PipelineFactory {
static defaultProps: Required<PipelineFactoryProps>;
/** Get the singleton default pipeline factory for the specified device */
static getDefaultPipelineFactory(device: Device): PipelineFactory;
readonly device: Device;
readonly destroyPolicy: 'unused' | 'never';
private _hashCounter;
private readonly _hashes;
private readonly _renderPipelineCache;
private readonly _computePipelineCache;
constructor(device: Device);
/** Return a RenderPipeline matching props. Reuses a similar pipeline if already created. */
createRenderPipeline(props: RenderPipelineProps): RenderPipeline;
createComputePipeline(props: ComputePipelineProps): ComputePipeline;
release(pipeline: RenderPipeline | ComputePipeline): void;
private _hashComputePipeline;
/** Calculate a hash based on all the inputs for a render pipeline */
private _hashRenderPipeline;
private _getHash;
}
//# sourceMappingURL=pipeline-factory.d.ts.map