UNPKG

@lightningjs/renderer

Version:
28 lines (27 loc) 1.53 kB
import { type DynamicEffects, DynamicShaderController } from '../../../main-api/DynamicShaderController.js'; import type { ShaderController } from '../../../main-api/ShaderController.js'; import { CoreShaderManager, type ShaderMap } from '../../CoreShaderManager.js'; import type { ExtractProps } from '../../CoreTextureManager.js'; import { type DynamicShaderProps } from './shaders/DynamicShader.js'; import type { WebGlCoreRenderer } from './WebGlCoreRenderer.js'; export interface DynamicShaderEffectMap { } export declare class WebGlCoreShaderManager extends CoreShaderManager { protected effectConstructors: Partial<DynamicShaderEffectMap>; constructor(renderer: WebGlCoreRenderer); registerEffectType<Type extends keyof DynamicShaderEffectMap>(effectType: Type, effectClass: DynamicShaderEffectMap[Type]): void; getRegisteredEffects(): Partial<DynamicShaderEffectMap>; loadShader<Type extends keyof ShaderMap>(shType: Type, props?: ExtractProps<ShaderMap[Type]>): ShaderController<Type>; loadDynamicShader<T extends DynamicEffects<[ ...{ name?: string; type: keyof DynamicShaderEffectMap; }[] ]>>(props: DynamicShaderProps): DynamicShaderController<T>; protected _createDynShaderCtr<T extends DynamicEffects<[ ...{ name?: string; type: keyof DynamicShaderEffectMap; }[] ]>>(shader: InstanceType<ShaderMap['DynamicShader']>, props: ExtractProps<ShaderMap['DynamicShader']>): DynamicShaderController<T>; }