UNPKG

molstar

Version:

A comprehensive macromolecular library.

39 lines (38 loc) 2.12 kB
/** * 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 {};