Mol* - web molecular graphics

76 views
Skip to first unread message

Alexander Rose

unread,
Mar 10, 2021, 1:47:31 PM3/10/21
to WebGL Dev List
Hey community!

I'd like to share how we use WebGL1/2 in Mol* (https://molstar.org). Thanks for the suggestion Ken Russell. The landing page links to some interactive demos. I highlight two here.

GPU 3D Gaussians & MC, similar to metaballs, ~2800 particles/atoms, shows part of an molecular dynamics simulation result (https://molstar.org/viewer/?snapshot-url=https%3A%2F%2Fmolstar.org%2Fdemos%2Fstates%2Fgain-md.molx&snapshot-url-type=molx)


Below is a quick overview on what extension we rely. Generally the viewer needs to work on most devices so we provide fall-backs.
  • ANGLE_instanced_arrays (required)
  • OES_element_index_uint (required)
  • OES_vertex_array_object (optional)
  • OES_standard_derivatives (optional)
    • SDF text
  • WEBGL_color_buffer_float/EXT_color_buffer_half_float (optional - fall-backs)
    • higher quality manual msaa
    • higher quality GPU 3D Gaussian Sums
    • GPU marching cubes
    • Weighted-blended OIT
  • EXT_blend_minmax (optional - fallback to CPU)
    • assign closest point in GPU 3D Gaussian Sums
  • EXT_frag_depth (optional - fall-backs)
    • sphere and cylinder impostors
    • merge DVR with standard geometry
  • WEBGL_draw_buffers (optional - fallback to CPU)
    • GPU marching cubes
Things to look at in the future are UBOs and WEBGL_multi_draw.

Best regards
Alex

Ken Russell

unread,
Mar 10, 2021, 2:01:19 PM3/10/21
to WebGL Dev List
Thanks for sharing Alex!

Super cool project! It's amazing that you can visualize such complex structures directly in the browser. The startup time for your examples is impressively short for the data they're visualizing, and the run-time performance is very good, as is the rendering quality.

Hoping that the easy access to your visualizations will streamline insights and innovations in the biotech industry and others!

Are there more features/extensions beyond the currently specified ones that would help your project? Any bugs/issues you've run into on various platforms?

Also start looking into WebGPU - it's the next-generation web graphics API hoped to ship toward the end of this year, and offers higher performance and an increased feature set, especially compute shaders - and has the headroom for much more extensibility in the future.

-Ken



--
You received this message because you are subscribed to the Google Groups "WebGL Dev List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to webgl-dev-lis...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/webgl-dev-list/09303d5e-245d-40a1-9f81-3f6b65fd4871n%40googlegroups.com.

Evgeny Demidov

unread,
Mar 10, 2021, 11:28:32 PM3/10/21
to webgl-d...@googlegroups.com
Hi Alex,

This work and your  NGL viewer are very impressive. Do you have any plans for WebXR applications? E.g. is it possible to make something useful for Oculus Quest 2 (chip or PC link)? I have tested simple imposters on Oculus Go at https://www.ibiblio.org/e-notes/webxr/mini.htm and testing them on Quest 2 now (controls work with the left joystick).

Evgeny Demidov

Alexander Rose

unread,
Mar 14, 2021, 3:11:57 AM3/14/21
to WebGL Dev List
Hi Evgeny,

thanks for you kind words. We don't have immediate plans for WebXR but are certainly interested in contributions. As you have shown with your project it should be performant enough for most structures.

Best
Alex
Reply all
Reply to author
Forward
0 new messages