molstar
Version:
A comprehensive macromolecular library.
131 lines (130 loc) • 6.56 kB
TypeScript
/**
* Copyright (c) 2018-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author Alexander Rose <alexander.rose@weirdbyte.de>
*/
export declare type GLRenderingContext = WebGLRenderingContext | WebGL2RenderingContext;
export declare function isWebGL(gl: any): gl is WebGLRenderingContext;
export declare function isWebGL2(gl: any): gl is WebGL2RenderingContext;
export interface COMPAT_instanced_arrays {
drawArraysInstanced(mode: number, first: number, count: number, primcount: number): void;
drawElementsInstanced(mode: number, count: number, type: number, offset: number, primcount: number): void;
vertexAttribDivisor(index: number, divisor: number): void;
readonly VERTEX_ATTRIB_ARRAY_DIVISOR: number;
}
export declare function getInstancedArrays(gl: GLRenderingContext): COMPAT_instanced_arrays | null;
export interface COMPAT_standard_derivatives {
readonly FRAGMENT_SHADER_DERIVATIVE_HINT: number;
}
export declare function getStandardDerivatives(gl: GLRenderingContext): COMPAT_standard_derivatives | null;
export interface COMPAT_element_index_uint {
}
export declare function getElementIndexUint(gl: GLRenderingContext): COMPAT_element_index_uint | null;
export interface COMPAT_vertex_array_object {
readonly VERTEX_ARRAY_BINDING: number;
bindVertexArray(arrayObject: WebGLVertexArrayObject | null): void;
createVertexArray(): WebGLVertexArrayObject | null;
deleteVertexArray(arrayObject: WebGLVertexArrayObject): void;
isVertexArray(value: any): value is WebGLVertexArrayObject;
}
export declare function getVertexArrayObject(gl: GLRenderingContext): COMPAT_vertex_array_object | null;
export interface COMPAT_texture_float {
}
export declare function getTextureFloat(gl: GLRenderingContext): COMPAT_texture_float | null;
export interface COMPAT_texture_float_linear {
}
export declare function getTextureFloatLinear(gl: GLRenderingContext): COMPAT_texture_float_linear | null;
export interface COMPAT_texture_half_float {
readonly HALF_FLOAT: number;
}
export declare function getTextureHalfFloat(gl: GLRenderingContext): COMPAT_texture_half_float | null;
export interface COMPAT_texture_half_float_linear {
}
export declare function getTextureHalfFloatLinear(gl: GLRenderingContext): COMPAT_texture_half_float_linear | null;
export interface COMPAT_blend_minmax {
readonly MIN: number;
readonly MAX: number;
}
export declare function getBlendMinMax(gl: GLRenderingContext): COMPAT_blend_minmax | null;
export interface COMPAT_frag_depth {
}
export declare function getFragDepth(gl: GLRenderingContext): COMPAT_frag_depth | null;
export interface COMPAT_color_buffer_float {
readonly RGBA32F: number;
}
export declare function getColorBufferFloat(gl: GLRenderingContext): COMPAT_color_buffer_float | null;
export interface COMPAT_color_buffer_half_float {
readonly RGBA16F: number;
}
export declare function getColorBufferHalfFloat(gl: GLRenderingContext): COMPAT_color_buffer_half_float | null;
export interface COMPAT_draw_buffers {
drawBuffers(buffers: number[]): void;
readonly COLOR_ATTACHMENT0: number;
readonly COLOR_ATTACHMENT1: number;
readonly COLOR_ATTACHMENT2: number;
readonly COLOR_ATTACHMENT3: number;
readonly COLOR_ATTACHMENT4: number;
readonly COLOR_ATTACHMENT5: number;
readonly COLOR_ATTACHMENT6: number;
readonly COLOR_ATTACHMENT7: number;
readonly DRAW_BUFFER0: number;
readonly DRAW_BUFFER1: number;
readonly DRAW_BUFFER2: number;
readonly DRAW_BUFFER3: number;
readonly DRAW_BUFFER4: number;
readonly DRAW_BUFFER5: number;
readonly DRAW_BUFFER6: number;
readonly DRAW_BUFFER7: number;
readonly MAX_COLOR_ATTACHMENTS: number;
readonly MAX_DRAW_BUFFERS: number;
}
export declare function getDrawBuffers(gl: GLRenderingContext): COMPAT_draw_buffers | null;
export interface COMPAT_shader_texture_lod {
}
export declare function getShaderTextureLod(gl: GLRenderingContext): COMPAT_shader_texture_lod | null;
export interface COMPAT_depth_texture {
readonly UNSIGNED_INT_24_8: number;
}
export declare function getDepthTexture(gl: GLRenderingContext): COMPAT_depth_texture | null;
export interface COMPAT_sRGB {
readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: number;
readonly SRGB8_ALPHA8: number;
readonly SRGB8: number;
readonly SRGB: number;
}
export declare function getSRGB(gl: GLRenderingContext): COMPAT_sRGB | null;
export interface COMPAT_disjoint_timer_query {
/** A GLint indicating the number of bits used to hold the query result for the given target. */
QUERY_COUNTER_BITS: number;
/** A WebGLQuery object, which is the currently active query for the given target. */
CURRENT_QUERY: number;
/** A GLuint64EXT containing the query result. */
QUERY_RESULT: number;
/** A GLboolean indicating whether or not a query result is available. */
QUERY_RESULT_AVAILABLE: number;
/** Elapsed time (in nanoseconds). */
TIME_ELAPSED: number;
/** The current time. */
TIMESTAMP: number;
/** A GLboolean indicating whether or not the GPU performed any disjoint operation. */
GPU_DISJOINT: number;
/** Creates a new WebGLTimerQueryEXT. */
createQuery: () => WebGLQuery;
/** Deletes a given WebGLTimerQueryEXT. */
deleteQuery: (query: WebGLQuery) => void;
/** Returns true if a given object is a valid WebGLTimerQueryEXT. */
isQuery: (query: WebGLQuery) => boolean;
/** The timer starts when all commands prior to beginQueryEXT have been fully executed. */
beginQuery: (target: number, query: WebGLQuery) => void;
/** The timer stops when all commands prior to endQueryEXT have been fully executed. */
endQuery: (target: number) => void;
/** Records the current time into the corresponding query object. */
queryCounter: (query: WebGLQuery, target: number) => void;
/** Returns information about a query target. */
getQuery: (target: number, pname: number) => WebGLQuery | number;
/** Return the state of a query object. */
getQueryParameter: (query: WebGLQuery, pname: number) => number | boolean;
}
export declare function getDisjointTimerQuery(gl: GLRenderingContext): COMPAT_disjoint_timer_query | null;
export declare function getNoNonInstancedActiveAttribs(gl: GLRenderingContext): boolean;
export declare function testColorBuffer(gl: GLRenderingContext, type: number): boolean;