From 06f84e6ef14d29ca85ea2efc20209a69bf127325 Mon Sep 17 00:00:00 2001 From: Alexander Rose <alex.rose@rcsb.org> Date: Fri, 21 Sep 2018 18:00:34 -0700 Subject: [PATCH] wip, lines --- src/mol-geo/geometry/geometry.ts | 2 +- src/mol-geo/geometry/lines/lines-builder.ts | 7 ++----- .../representation/structure/representation/surface.ts | 6 +++--- src/mol-geo/representation/structure/units-visual.ts | 2 +- .../representation/structure/visual/util/gaussian.ts | 2 +- src/mol-gl/shader/lines.vert | 5 ----- 6 files changed, 8 insertions(+), 16 deletions(-) diff --git a/src/mol-geo/geometry/geometry.ts b/src/mol-geo/geometry/geometry.ts index e5a5667b7..5f75fc6c9 100644 --- a/src/mol-geo/geometry/geometry.ts +++ b/src/mol-geo/geometry/geometry.ts @@ -25,7 +25,7 @@ export namespace Geometry { switch (geometry.kind) { case 'mesh': return geometry.triangleCount * 3 case 'points': return geometry.pointCount - case 'lines': return geometry.lineCount + case 'lines': return geometry.lineCount * 2 * 3 } } diff --git a/src/mol-geo/geometry/lines/lines-builder.ts b/src/mol-geo/geometry/lines/lines-builder.ts index 74a5fcadd..db6ae4b45 100644 --- a/src/mol-geo/geometry/lines/lines-builder.ts +++ b/src/mol-geo/geometry/lines/lines-builder.ts @@ -33,10 +33,8 @@ export namespace LinesBuilder { ChunkedArray.add2(mappings, -1, -1); ChunkedArray.add2(mappings, 1, 1); ChunkedArray.add2(mappings, 1, -1); - // ChunkedArray.add3(indices, offset, offset + 1, offset + 2); - // ChunkedArray.add3(indices, offset + 1, offset + 3, offset + 2); - ChunkedArray.add3(indices, offset + 2, offset + 1, offset); - ChunkedArray.add3(indices, offset + 2, offset + 3, offset + 1); + ChunkedArray.add3(indices, offset, offset + 1, offset + 2); + ChunkedArray.add3(indices, offset + 1, offset + 3, offset + 2); }, getLines: () => { const mb = ChunkedArray.compact(mappings, true) as Float32Array @@ -44,7 +42,6 @@ export namespace LinesBuilder { const gb = ChunkedArray.compact(groups, true) as Float32Array const sb = ChunkedArray.compact(starts, true) as Float32Array const eb = ChunkedArray.compact(ends, true) as Float32Array - console.log(indices.elementCount, mappings.elementCount, groups.elementCount) return { kind: 'lines', lineCount: indices.elementCount / 2, diff --git a/src/mol-geo/representation/structure/representation/surface.ts b/src/mol-geo/representation/structure/representation/surface.ts index 9842fbbf0..98c50c392 100644 --- a/src/mol-geo/representation/structure/representation/surface.ts +++ b/src/mol-geo/representation/structure/representation/surface.ts @@ -12,11 +12,11 @@ import { MarkerAction } from '../../../geometry/marker-data'; import { Loci } from 'mol-model/loci'; import { PickingId } from '../../../geometry/picking'; import { Task } from 'mol-task'; -import { GaussianDensityPointVisual, DefaultGaussianDensityPointProps } from '../visual/gaussian-density-point'; +import { GaussianDensityPointVisual } from '../visual/gaussian-density-point'; import { DefaultGaussianWireframeProps, GaussianWireframeVisual } from '../visual/gaussian-surface-wireframe'; export const DefaultSurfaceProps = { - // ...DefaultGaussianSurfaceProps, + ...DefaultGaussianSurfaceProps, // ...DefaultGaussianDensityPointProps, ...DefaultGaussianWireframeProps, } @@ -40,7 +40,7 @@ export function SurfaceRepresentation(): SurfaceRepresentation { createOrUpdate: (props: Partial<SurfaceProps> = {}, structure?: Structure) => { currentProps = Object.assign({}, DefaultSurfaceProps, currentProps, props) return Task.create('Creating SurfaceRepresentation', async ctx => { - // await gaussianSurfaceRepr.createOrUpdate(currentProps, structure).runInContext(ctx) + await gaussianSurfaceRepr.createOrUpdate(currentProps, structure).runInContext(ctx) // await gaussianPointRepr.createOrUpdate(currentProps, structure).runInContext(ctx) await gaussianWireframeRepr.createOrUpdate(currentProps, structure).runInContext(ctx) }) diff --git a/src/mol-geo/representation/structure/units-visual.ts b/src/mol-geo/representation/structure/units-visual.ts index ae26180d3..bc669e87c 100644 --- a/src/mol-geo/representation/structure/units-visual.ts +++ b/src/mol-geo/representation/structure/units-visual.ts @@ -424,7 +424,7 @@ export function UnitsLinesVisual<P extends UnitsLinesProps>(builder: UnitsLinesV lines = newProps.unitKinds.includes(unit.kind) ? await createLines(ctx, unit, currentStructure, newProps, lines) : Lines.createEmpty(lines) - ValueCell.update(renderObject.values.drawCount, lines.lineCount) + ValueCell.update(renderObject.values.drawCount, lines.lineCount * 2 * 3) updateState.updateColor = true } diff --git a/src/mol-geo/representation/structure/visual/util/gaussian.ts b/src/mol-geo/representation/structure/visual/util/gaussian.ts index da5993c35..ce06f079d 100644 --- a/src/mol-geo/representation/structure/visual/util/gaussian.ts +++ b/src/mol-geo/representation/structure/visual/util/gaussian.ts @@ -11,7 +11,7 @@ import { Box3D } from 'mol-math/geometry'; import { SizeTheme } from 'mol-view/theme/size'; export const DefaultGaussianDensityProps = { - resolutionFactor: 4, + resolutionFactor: 6, radiusOffset: 0, smoothness: 1.5, } diff --git a/src/mol-gl/shader/lines.vert b/src/mol-gl/shader/lines.vert index 7e0b02eda..5aae3b718 100644 --- a/src/mol-gl/shader/lines.vert +++ b/src/mol-gl/shader/lines.vert @@ -119,9 +119,4 @@ void main(){ offset *= clip.w; clip.xy += offset; gl_Position = clip; - - // gl_Position = uProjection * (modelView * vec4(aEnd.x * 5.0 - 5.0, aMapping.y * 5.0, 2.0, 1.0)); - - // TODO - // vViewPosition = (projectionMatrixInverse * clip).xyz; } \ No newline at end of file -- GitLab