UNPKG

@lightningjs/renderer

Version:
20 lines (19 loc) 622 B
import type { CoreRenderer } from "./CoreRenderer.js"; type ExtractProps<Type> = Type extends { props: infer Props; } ? Props : never; interface Shader { props?: Record<string, any>; } export interface WebGlShader extends Shader { props?: Record<string, any>; vertex?: string; update?: () => void; fragment: string; } export declare abstract class CoreShaderManager<Renderer extends CoreRenderer, shType extends Shader> { renderer: Renderer; constructor(renderer: Renderer); loadShader<Type extends shType>(type: Type | (new () => Type), props?: ExtractProps<Type>): void; } export {};