Login Sign up

Tuesday Oct. 13, 2020, 5:30 p.m.–Oct. 13, 2020, 6 p.m. in Jupyter in Scientific Research

Using WebGL2 transform/feedback in Jupyter widgets for advanced computations and graphics

Aaron Watters

Audience level:
Experienced

Brief Summary

The transform/feedback mechanism of WebGL2 allows Javascript programs running in a browser to use the GPU to implement novel graphics processing stages and other computations. This talk outlines the transform/feedback processing model and describes how it can be embedded in a Jupyter context to generate iso-surfaces, clustering, graph layouts, and other highly parallel computations.

Outline

The transform/feedback mechanism of WebGL2 allows Javascript programs running in a browser to use the graphics processor (GPU) to implement novel graphics processing stages and other computations. This talk outlines the transform/feedback processing model and describes a three dimensional isosurface generator implemented using transform/feedback as well as WebGL instanced rendering. The isosurface generator is integrated with the three.js graphics modelling library to create visualizations of scientific data for use in web pages or Jupyter notebooks. The talk also demonstrates some uses of isosurfaces for visualizing and exploring spatial genomics, quantum physics, astrophysical phenomena, and other mathematical structures. The talk will also explore other possible applications of transform/feedback to implement particle system simulations, matrix operations, classification algorithms, statistical clustering or other large scale highly parallel computations. This presentation discusses components of the feedWebGL2 github library which provides several abstraction layers built over the basic WebGL2 Javascript API and also exposes the transform feedback functionality to Jupyter notebooks using a widget interface.