UNPKG

modern-canvas

Version:

A JavaScript WebGL rendering engine. only the ESM.

40 lines (39 loc) 1.09 kB
import type { GeometryAttributeLike } from '../../shared'; export interface GlAttribute extends Omit<GeometryAttributeLike, 'buffer'> { location: number; } export interface GlUniform { name: string; index: number; type: string; size: number; isArray: boolean; value: any; } export interface GlProgramOptions { fragment: string; vertex: string; name?: string; preferredVertexPrecision?: string; preferredFragmentPrecision?: string; transformFeedbackVaryings?: { names: string[]; bufferMode: 'separate' | 'interleaved'; }; } export declare class GlProgram { static defaultOptions: Partial<GlProgramOptions>; readonly id: number; fragment: string; vertex: string; transformFeedbackVaryings?: { names: string[]; bufferMode: 'separate' | 'interleaved'; }; _cacheKey?: string; attributes: Record<string, GlAttribute>; uniforms: Record<string, GlUniform>; constructor(options: GlProgramOptions); destroy(): void; static from(options: GlProgramOptions): GlProgram; }