@lightningjs/renderer
Version:
Lightning 3 Renderer
29 lines (28 loc) • 1.46 kB
TypeScript
import type { INode, INodeWritableProps, ITextNode, ITextNodeWritableProps } from '../../main-api/INode.js';
import type { ICoreDriver } from '../../main-api/ICoreDriver.js';
import type { RendererMain, RendererMainSettings, SpecificShaderRef } from '../../main-api/RendererMain.js';
import type { FpsUpdatePayload, FrameTickPayload } from '../../common/CommonTypes.js';
import type { IShaderController } from '../../main-api/IShaderController.js';
import type { ShaderMap } from '../../core/CoreShaderManager.js';
export interface ThreadXRendererSettings {
coreWorkerUrl: string;
}
export declare class ThreadXCoreDriver implements ICoreDriver {
private settings;
private threadx;
private rendererMain;
private root;
private fps;
constructor(settings: ThreadXRendererSettings);
init(rendererMain: RendererMain, rendererSettings: Required<RendererMainSettings>, canvas: HTMLCanvasElement): Promise<void>;
getRootNode(): INode;
createNode(props: INodeWritableProps): INode;
createTextNode(props: ITextNodeWritableProps): ITextNode;
createShaderController<ShType extends keyof ShaderMap>(shaderRef: SpecificShaderRef<ShType>): IShaderController;
destroyNode(node: INode): void;
releaseTexture(textureDescId: number): void;
onCreateNode(node: INode): void;
onBeforeDestroyNode(node: INode): void;
onFpsUpdate(fps: FpsUpdatePayload): void;
onFrameTick(frameTickData: FrameTickPayload): void;
}