import GeometryBase, { AttributeSize, AttributeType } from '../GeometryBase'; import { AttributeSemantic } from '../Shader'; import GLProgram from './GLProgram'; export declare const attributeBufferTypeMap: { float: number; int: number; byte: number; ubyte: number; short: number; ushort: number; }; export declare class GLAttributeBuffer { readonly name: string; readonly type: AttributeType; readonly buffer: WebGLBuffer; readonly size: AttributeSize; readonly semantic?: AttributeSemantic; constructor(name: string, type: AttributeType, buffer: WebGLBuffer, size: AttributeSize, semantic?: AttributeSemantic); } export declare class GLIndicesBuffer { buffer: WebGLBuffer; count: number; constructor(buffer: WebGLBuffer); } declare class GLBuffers { private _attrbBuffs; private _idxBuff?; private _geometry; private _attrVersions; private _indicesVersions; private _vao?; private _vaoExt?; constructor(geometry: GeometryBase); getIndicesBuffer(): GLIndicesBuffer | undefined; update(gl: WebGL2RenderingContext): void; bindToProgram(gl: WebGL2RenderingContext, program: GLProgram): void; /** * Dispose geometry data in GL context. */ dispose(gl: WebGL2RenderingContext): void; } export default GLBuffers;