UNPKG

lamina

Version:

🍰 An extensable, layer based shader material for ThreeJS.

58 lines (57 loc) 1.63 kB
import { IUniform } from 'three'; import { BlendMode, LayerProps, SerializedLayer } from '../types'; export default class Abstract { uuid: string; name: string; mode: BlendMode; visible: boolean; uniforms: { [key: string]: IUniform<any>; }; onParse?: (self: Abstract & any) => void; fragmentShader: string; vertexShader: string; vertexVariables: string; fragmentVariables: string; schema: { value: any; label: any; options?: any[]; }[]; constructor(c: new () => Abstract, props?: LayerProps | null, onParse?: (self: Abstract & any) => void); buildShaders(constructor: any): void; renameTokens(name: string): string; processFinal(shader: string, isVertex?: boolean): string; getShaderFromIndex(tokens: any, index: number[]): any; getBlendMode(b: string, a: string): string; getSchema(): ({ value: any; min: number; max: number; image?: undefined; label: any; options: any[] | undefined; } | { value: any; min: number; max?: undefined; image?: undefined; label: any; options: any[] | undefined; } | { value: any; image: undefined; min?: undefined; max?: undefined; label: any; options: any[] | undefined; } | { value: any; min?: undefined; max?: undefined; image?: undefined; label: any; options: any[] | undefined; })[]; serialize(): SerializedLayer; }