molstar
Version:
A comprehensive macromolecular library.
39 lines (38 loc) • 2.12 kB
TypeScript
/**
* Copyright (c) 2020-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author Alexander Rose <alexander.rose@weirdbyte.de>
*/
import { Program } from './program';
import { ShaderType, Shader } from './shader';
import { GLRenderingContext } from './compat';
import { Framebuffer } from './framebuffer';
import { WebGLExtensions } from './extensions';
import { WebGLState } from './state';
import { AttributeBuffer, UsageHint, ArrayType, AttributeItemSize, ElementsBuffer, ElementsType, AttributeBuffers } from './buffer';
import { WebGLStats } from './context';
import { DefineValues, ShaderCode } from '../shader-code';
import { RenderableSchema } from '../renderable/schema';
import { Renderbuffer, RenderbufferAttachment, RenderbufferFormat } from './renderbuffer';
import { Texture, TextureKind, TextureFormat, TextureType, TextureFilter } from './texture';
import { VertexArray } from './vertex-array';
declare type ByteCounts = {
texture: number;
attribute: number;
elements: number;
};
export interface WebGLResources {
attribute: (array: ArrayType, itemSize: AttributeItemSize, divisor: number, usageHint?: UsageHint) => AttributeBuffer;
elements: (array: ElementsType, usageHint?: UsageHint) => ElementsBuffer;
framebuffer: () => Framebuffer;
program: (defineValues: DefineValues, shaderCode: ShaderCode, schema: RenderableSchema) => Program;
renderbuffer: (format: RenderbufferFormat, attachment: RenderbufferAttachment, width: number, height: number) => Renderbuffer;
shader: (type: ShaderType, source: string) => Shader;
texture: (kind: TextureKind, format: TextureFormat, type: TextureType, filter: TextureFilter) => Texture;
vertexArray: (program: Program, attributeBuffers: AttributeBuffers, elementsBuffer?: ElementsBuffer) => VertexArray;
getByteCounts: () => ByteCounts;
reset: () => void;
destroy: () => void;
}
export declare function createResources(gl: GLRenderingContext, state: WebGLState, stats: WebGLStats, extensions: WebGLExtensions): WebGLResources;
export {};