UNPKG

@tolokoban/tgd

Version:

ToloGameDev library for WebGL2

38 lines 1.15 kB
import { TgdCodeBloc } from "../shader/code"; import { WebglAttributeType, WebglUniformType } from ".."; import { TgdProgram } from "../program"; export declare abstract class TgdMaterial { /** * Example: * ``` * { * varNormal: "vec3", * varUV: "vec2" * } * ``` */ readonly varyings: { [name: string]: WebglAttributeType; }; readonly uniforms: { [name: string]: WebglUniformType; }; /** * The code of a `vec4 applyMaterial()` function. */ abstract readonly fragmentShaderCode: TgdCodeBloc; /** * The code of a `void applyMaterial()` function. */ abstract readonly vertexShaderCode: TgdCodeBloc; /** * Body of the function `vec4 getPosition(vec4 pos)` of the vertex shader. * * By default, this body is `return pos;`. * Yo can use this code to apply any transformation on the vertex position * before convertion to screen space. */ vertexShaderCodeForGetPosition?: TgdCodeBloc; abstract setUniforms(program: TgdProgram, time: number, delay: number): void; } //# sourceMappingURL=material.d.ts.map