molstar
Version:
A comprehensive macromolecular library.
121 lines (120 loc) • 5.34 kB
TypeScript
/**
* Copyright (c) 2020-2025 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author Alexander Rose <alexander.rose@weirdbyte.de>
*/
import { Renderable, RenderableState } from '../renderable';
import { WebGLContext } from '../webgl/context';
import { Transparency } from '../webgl/render-item';
import { AttributeSpec, Values, TextureSpec, ElementsSpec, DefineSpec, UniformSpec } from './schema';
export declare const ImageSchema: {
aGroup: AttributeSpec<"float32">;
aPosition: AttributeSpec<"float32">;
aUv: AttributeSpec<"float32">;
elements: ElementsSpec<"uint32">;
uImageTexDim: UniformSpec<"v2">;
tImageTex: TextureSpec<"image-uint8">;
tGroupTex: TextureSpec<"image-uint8">;
tValueTex: TextureSpec<"image-float32">;
uTrimType: UniformSpec<"i">;
uTrimCenter: UniformSpec<"v3">;
uTrimRotation: UniformSpec<"q">;
uTrimScale: UniformSpec<"v3">;
uTrimTransform: UniformSpec<"m4">;
uIsoLevel: UniformSpec<"f">;
dInterpolation: DefineSpec<"string">;
dLightCount: DefineSpec<"number">;
dColorMarker: DefineSpec<"boolean">;
dClipObjectCount: DefineSpec<"number">;
dClipVariant: DefineSpec<"string">;
uClipObjectType: UniformSpec<"i[]">;
uClipObjectInvert: UniformSpec<"b[]">;
uClipObjectPosition: UniformSpec<"v3[]">;
uClipObjectRotation: UniformSpec<"v4[]">;
uClipObjectScale: UniformSpec<"v3[]">;
uClipObjectTransform: UniformSpec<"m4[]">;
aInstance: AttributeSpec<"float32">;
aTransform: AttributeSpec<"float32">;
uAlpha: UniformSpec<"f">;
uMetalness: UniformSpec<"f">;
uRoughness: UniformSpec<"f">;
uBumpiness: UniformSpec<"f">;
uEmissive: UniformSpec<"f">;
uDensity: UniformSpec<"f">;
uVertexCount: UniformSpec<"i">;
uInstanceCount: UniformSpec<"i">;
uGroupCount: UniformSpec<"i">;
uInvariantBoundingSphere: UniformSpec<"v4">;
uLod: UniformSpec<"v4">;
drawCount: import("./schema").ValueSpec<"number">;
instanceCount: import("./schema").ValueSpec<"number">;
alpha: import("./schema").ValueSpec<"number">;
matrix: import("./schema").ValueSpec<"m4">;
transform: import("./schema").ValueSpec<"float32">;
extraTransform: import("./schema").ValueSpec<"float32">;
hasReflection: import("./schema").ValueSpec<"boolean">;
instanceGranularity: import("./schema").ValueSpec<"boolean">;
boundingSphere: import("./schema").ValueSpec<"sphere">;
invariantBoundingSphere: import("./schema").ValueSpec<"sphere">;
instanceGrid: import("./schema").ValueSpec<"instanceGrid">;
uClippingTexDim: UniformSpec<"v2">;
tClipping: TextureSpec<"image-uint8">;
dClipping: DefineSpec<"boolean">;
dClippingType: DefineSpec<"string">;
uSubstanceTexDim: UniformSpec<"v2">;
tSubstance: TextureSpec<"image-uint8">;
dSubstance: DefineSpec<"boolean">;
uSubstanceGridDim: UniformSpec<"v3">;
uSubstanceGridTransform: UniformSpec<"v4">;
tSubstanceGrid: TextureSpec<"texture">;
dSubstanceType: DefineSpec<"string">;
uSubstanceStrength: UniformSpec<"f">;
uEmissiveTexDim: UniformSpec<"v2">;
tEmissive: TextureSpec<"image-uint8">;
dEmissive: DefineSpec<"boolean">;
emissiveAverage: import("./schema").ValueSpec<"number">;
uEmissiveGridDim: UniformSpec<"v3">;
uEmissiveGridTransform: UniformSpec<"v4">;
tEmissiveGrid: TextureSpec<"texture">;
dEmissiveType: DefineSpec<"string">;
uEmissiveStrength: UniformSpec<"f">;
uTransparencyTexDim: UniformSpec<"v2">;
tTransparency: TextureSpec<"image-uint8">;
dTransparency: DefineSpec<"boolean">;
transparencyAverage: import("./schema").ValueSpec<"number">;
transparencyMin: import("./schema").ValueSpec<"number">;
uTransparencyGridDim: UniformSpec<"v3">;
uTransparencyGridTransform: UniformSpec<"v4">;
tTransparencyGrid: TextureSpec<"texture">;
dTransparencyType: DefineSpec<"string">;
uTransparencyStrength: UniformSpec<"f">;
uOverpaintTexDim: UniformSpec<"v2">;
tOverpaint: TextureSpec<"image-uint8">;
dOverpaint: DefineSpec<"boolean">;
uOverpaintGridDim: UniformSpec<"v3">;
uOverpaintGridTransform: UniformSpec<"v4">;
tOverpaintGrid: TextureSpec<"texture">;
dOverpaintType: DefineSpec<"string">;
uOverpaintStrength: UniformSpec<"f">;
uMarker: UniformSpec<"f">;
uMarkerTexDim: UniformSpec<"v2">;
tMarker: TextureSpec<"image-uint8">;
markerAverage: import("./schema").ValueSpec<"number">;
markerStatus: import("./schema").ValueSpec<"number">;
dMarkerType: DefineSpec<"string">;
uColor: UniformSpec<"v3">;
uColorTexDim: UniformSpec<"v2">;
uColorGridDim: UniformSpec<"v3">;
uColorGridTransform: UniformSpec<"v4">;
uPaletteDomain: UniformSpec<"v2">;
uPaletteDefault: UniformSpec<"v3">;
tColor: TextureSpec<"image-uint8">;
tPalette: TextureSpec<"image-uint8">;
tColorGrid: TextureSpec<"texture">;
dColorType: DefineSpec<"string">;
dUsePalette: DefineSpec<"boolean">;
dGeometryType: DefineSpec<"string">;
};
export type ImageSchema = typeof ImageSchema;
export type ImageValues = Values<ImageSchema>;
export declare function ImageRenderable(ctx: WebGLContext, id: number, values: ImageValues, state: RenderableState, materialId: number, transparency: Transparency): Renderable<ImageValues>;