UNPKG

molstar

Version:

A comprehensive macromolecular library.

40 lines (39 loc) 1.67 kB
/** * Copyright (c) 2018-2020 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author Alexander Rose <alexander.rose@weirdbyte.de> */ import { Program } from './webgl/program'; import { RenderableValues, Values, RenderableSchema, BaseValues } from './renderable/schema'; import { GraphicsRenderItem, ComputeRenderItem, GraphicsRenderVariant } from './webgl/render-item'; import { Textures } from './webgl/texture'; export declare type RenderableState = { disposed: boolean; visible: boolean; alphaFactor: number; pickable: boolean; colorOnly: boolean; opaque: boolean; writeDepth: boolean; noClip: boolean; }; export interface Renderable<T extends RenderableValues> { readonly id: number; readonly materialId: number; readonly values: T; readonly state: RenderableState; render: (variant: GraphicsRenderVariant, sharedTexturesList?: Textures) => void; getProgram: (variant: GraphicsRenderVariant) => Program; update: () => void; dispose: () => void; } export declare function createRenderable<T extends Values<RenderableSchema>>(renderItem: GraphicsRenderItem, values: T, state: RenderableState): Renderable<T>; export declare type GraphicsRenderable = Renderable<RenderableValues & BaseValues>; export interface ComputeRenderable<T extends RenderableValues> { readonly id: number; readonly values: T; render: () => void; update: () => void; dispose: () => void; } export declare function createComputeRenderable<T extends Values<RenderableSchema>>(renderItem: ComputeRenderItem, values: T): ComputeRenderable<T>;