diff --git a/src/mol-gl/renderable/cylinders.ts b/src/mol-gl/renderable/cylinders.ts index 7d4c260e6103d432274f450c38897e8dc79fb329..a7a094aada4363c79bc6eeaee477dfac0e301364 100644 --- a/src/mol-gl/renderable/cylinders.ts +++ b/src/mol-gl/renderable/cylinders.ts @@ -14,6 +14,7 @@ import { ValueCell } from '../../mol-util'; export const CylindersSchema = { ...BaseSchema, ...SizeSchema, + aGroup: AttributeSpec('float32', 1, 0), aStart: AttributeSpec('float32', 3, 0), aEnd: AttributeSpec('float32', 3, 0), aMapping: AttributeSpec('float32', 3, 0), diff --git a/src/mol-gl/renderable/direct-volume.ts b/src/mol-gl/renderable/direct-volume.ts index 56e025de3b90a49465a8b257521d3649ded3d217..1c0734384123d35b85f7f2d4ba66da5b091560e8 100644 --- a/src/mol-gl/renderable/direct-volume.ts +++ b/src/mol-gl/renderable/direct-volume.ts @@ -7,59 +7,20 @@ import { Renderable, RenderableState, createRenderable } from '../renderable'; import { WebGLContext } from '../webgl/context'; import { createGraphicsRenderItem } from '../webgl/render-item'; -import { AttributeSpec, Values, UniformSpec, GlobalUniformSchema, InternalSchema, TextureSpec, ValueSpec, ElementsSpec, DefineSpec, InternalValues, GlobalTextureSchema } from './schema'; +import { AttributeSpec, Values, UniformSpec, GlobalUniformSchema, InternalSchema, TextureSpec, ElementsSpec, DefineSpec, InternalValues, GlobalTextureSchema, BaseSchema } from './schema'; import { DirectVolumeShaderCode } from '../shader-code'; import { ValueCell } from '../../mol-util'; export const DirectVolumeSchema = { - uColor: UniformSpec('v3'), - uColorTexDim: UniformSpec('v2'), - tColor: TextureSpec('image-uint8', 'rgb', 'ubyte', 'nearest'), - dColorType: DefineSpec('string', ['uniform', 'attribute', 'instance', 'group', 'groupInstance', 'vertex', 'vertexInstance']), - - uMarkerTexDim: UniformSpec('v2'), - tMarker: TextureSpec('image-uint8', 'alpha', 'ubyte', 'nearest'), - - uOverpaintTexDim: UniformSpec('v2'), - tOverpaint: TextureSpec('image-uint8', 'rgba', 'ubyte', 'nearest'), - dOverpaint: DefineSpec('boolean'), - - uTransparencyTexDim: UniformSpec('v2'), - tTransparency: TextureSpec('image-uint8', 'alpha', 'ubyte', 'nearest'), - dTransparency: DefineSpec('boolean'), - transparencyAverage: ValueSpec('number'), - - dClipObjectCount: DefineSpec('number'), - dClipVariant: DefineSpec('string', ['instance', 'pixel']), - uClippingTexDim: UniformSpec('v2'), - tClipping: TextureSpec('image-uint8', 'alpha', 'ubyte', 'nearest'), - dClipping: DefineSpec('boolean'), - - uVertexCount: UniformSpec('i'), - uInstanceCount: UniformSpec('i'), - uGroupCount: UniformSpec('i'), - uInvariantBoundingSphere: UniformSpec('v4'), - - aInstance: AttributeSpec('float32', 1, 1), - aTransform: AttributeSpec('float32', 16, 1), - - drawCount: ValueSpec('number'), - instanceCount: ValueSpec('number'), - - alpha: ValueSpec('number'), - - matrix: ValueSpec('m4'), - transform: ValueSpec('float32'), - extraTransform: ValueSpec('float32'), - hasReflection: ValueSpec('boolean'), - - boundingSphere: ValueSpec('sphere'), - invariantBoundingSphere: ValueSpec('sphere'), + ...BaseSchema, aPosition: AttributeSpec('float32', 3, 0), elements: ElementsSpec('uint32'), - uAlpha: UniformSpec('f'), + uColor: UniformSpec('v3'), + uColorTexDim: UniformSpec('v2'), + tColor: TextureSpec('image-uint8', 'rgb', 'ubyte', 'nearest'), + dColorType: DefineSpec('string', ['uniform', 'attribute', 'instance', 'group', 'groupInstance', 'vertex', 'vertexInstance']), uIsoValue: UniformSpec('v2'), uBboxMin: UniformSpec('v3'), diff --git a/src/mol-gl/renderable/image.ts b/src/mol-gl/renderable/image.ts index 82c5172132755ee064546fa403ebf7224f74b18a..0b789080095c2f79c114cdd2bbb3fa43262e228c 100644 --- a/src/mol-gl/renderable/image.ts +++ b/src/mol-gl/renderable/image.ts @@ -15,9 +15,9 @@ import { InterpolationTypeNames } from '../../mol-geo/geometry/image/image'; export const ImageSchema = { ...BaseSchema, + aGroup: AttributeSpec('float32', 1, 0), aPosition: AttributeSpec('float32', 3, 0), aUv: AttributeSpec('float32', 2, 0), - elements: ElementsSpec('uint32'), uImageTexDim: UniformSpec('v2'), diff --git a/src/mol-gl/renderable/lines.ts b/src/mol-gl/renderable/lines.ts index a8272b29cca6434e272be5e0c043d2196894f2f0..539a9caaf590ca1f17193266ede60908dc2c0e44 100644 --- a/src/mol-gl/renderable/lines.ts +++ b/src/mol-gl/renderable/lines.ts @@ -14,6 +14,7 @@ import { LinesShaderCode } from '../shader-code'; export const LinesSchema = { ...BaseSchema, ...SizeSchema, + aGroup: AttributeSpec('float32', 1, 0), aMapping: AttributeSpec('float32', 2, 0), aStart: AttributeSpec('float32', 3, 0), aEnd: AttributeSpec('float32', 3, 0), diff --git a/src/mol-gl/renderable/mesh.ts b/src/mol-gl/renderable/mesh.ts index f608ae413dc8bbf327247c1dea480e7545deb208..a2126344100dd1603fb69e624b17586e71c2cf4c 100644 --- a/src/mol-gl/renderable/mesh.ts +++ b/src/mol-gl/renderable/mesh.ts @@ -13,6 +13,7 @@ import { ValueCell } from '../../mol-util'; export const MeshSchema = { ...BaseSchema, + aGroup: AttributeSpec('float32', 1, 0), aPosition: AttributeSpec('float32', 3, 0), aNormal: AttributeSpec('float32', 3, 0), elements: ElementsSpec('uint32'), diff --git a/src/mol-gl/renderable/points.ts b/src/mol-gl/renderable/points.ts index a97b8bb597525ae33dea1f87055b445a9f9f8abd..315d6de4b0c7e8bad628b1855060e3d65d52f2b9 100644 --- a/src/mol-gl/renderable/points.ts +++ b/src/mol-gl/renderable/points.ts @@ -14,6 +14,7 @@ import { ValueCell } from '../../mol-util'; export const PointsSchema = { ...BaseSchema, ...SizeSchema, + aGroup: AttributeSpec('float32', 1, 0), aPosition: AttributeSpec('float32', 3, 0), dPointSizeAttenuation: DefineSpec('boolean'), dPointFilledCircle: DefineSpec('boolean'), diff --git a/src/mol-gl/renderable/schema.ts b/src/mol-gl/renderable/schema.ts index 4a1644272d9c0b98155696217412db47bcb53506..68791ed8549967c35f2f5038cd0406901985aa24 100644 --- a/src/mol-gl/renderable/schema.ts +++ b/src/mol-gl/renderable/schema.ts @@ -242,7 +242,6 @@ export const BaseSchema = { ...ClippingSchema, aInstance: AttributeSpec('float32', 1, 1), - aGroup: AttributeSpec('float32', 1, 0), /** * final per-instance transform calculated for instance `i` as * `aTransform[i] = matrix * transform[i] * extraTransform[i]` diff --git a/src/mol-gl/renderable/spheres.ts b/src/mol-gl/renderable/spheres.ts index 65f0fc4d3d4b71181300dd2f78484ecf469bc4de..58959cf1d2d600528a8621746e2a66fd7d21a84c 100644 --- a/src/mol-gl/renderable/spheres.ts +++ b/src/mol-gl/renderable/spheres.ts @@ -14,6 +14,7 @@ import { ValueCell } from '../../mol-util'; export const SpheresSchema = { ...BaseSchema, ...SizeSchema, + aGroup: AttributeSpec('float32', 1, 0), aPosition: AttributeSpec('float32', 3, 0), aMapping: AttributeSpec('float32', 2, 0), elements: ElementsSpec('uint32'), diff --git a/src/mol-gl/renderable/text.ts b/src/mol-gl/renderable/text.ts index a31ca9939613df91ec0d334b89d88e575da65729..c75fb374ef92fc58ee9c72321ece2a5a7058f7a9 100644 --- a/src/mol-gl/renderable/text.ts +++ b/src/mol-gl/renderable/text.ts @@ -14,6 +14,7 @@ import { ValueCell } from '../../mol-util'; export const TextSchema = { ...BaseSchema, ...SizeSchema, + aGroup: AttributeSpec('float32', 1, 0), aPosition: AttributeSpec('float32', 3, 0), aMapping: AttributeSpec('float32', 2, 0), aDepth: AttributeSpec('float32', 1, 0), diff --git a/src/mol-gl/renderable/texture-mesh.ts b/src/mol-gl/renderable/texture-mesh.ts index 780d997bbde2b32619a4b76b8760bc6d29536a7e..b6eb7fc62cd8c8c3bf9e497192e1485a9c31f4d8 100644 --- a/src/mol-gl/renderable/texture-mesh.ts +++ b/src/mol-gl/renderable/texture-mesh.ts @@ -7,13 +7,13 @@ import { Renderable, RenderableState, createRenderable } from '../renderable'; import { WebGLContext } from '../webgl/context'; import { createGraphicsRenderItem } from '../webgl/render-item'; -import { GlobalUniformSchema, BaseSchema, DefineSpec, Values, InternalSchema, InternalValues, UniformSpec, TextureSpec, GlobalTextureSchema } from './schema'; +import { GlobalUniformSchema, BaseSchema, DefineSpec, Values, InternalSchema, InternalValues, UniformSpec, TextureSpec, GlobalTextureSchema, AttributeSpec } from './schema'; import { MeshShaderCode } from '../shader-code'; import { ValueCell } from '../../mol-util'; export const TextureMeshSchema = { ...BaseSchema, - + aGroup: AttributeSpec('float32', 1, 0), uGeoTexDim: UniformSpec('v2'), /** texture has vertex positions in XYZ and group id in W */ tPositionGroup: TextureSpec('texture', 'rgba', 'float', 'nearest'),