| Literature DB >> 29897886 |
Christoph Müller1, Michael Krone1, Markus Huber1, Verena Biener1, Dominik Herr2,3, Steffen Koch2, Guido Reina1, Daniel Weiskopf1,2, Thomas Ertl1,2.
Abstract
Immersive technologies like stereo rendering, virtual reality, or augmented reality (AR) are often used in the field of molecular visualisation. Modern, comparably lightweight and affordable AR headsets like Microsoft's HoloLens open up new possibilities for immersive analytics in molecular visualisation. A crucial factor for a comprehensive analysis of molecular data in AR is the rendering speed. HoloLens, however, has limited hardware capabilities due to requirements like battery life, fanless cooling and weight. Consequently, insights from best practises for powerful desktop hardware may not be transferable. Therefore, we evaluate the capabilities of the HoloLens hardware for modern, GPU-enabled, high-quality rendering methods for the space-filling model commonly used in molecular visualisation. We also assess the scalability for large molecular data sets. Based on the results, we discuss ideas and possibilities for immersive molecular analytics. Besides more obvious benefits like the stereoscopic rendering offered by the device, this specifically includes natural user interfaces that use physical navigation instead of the traditional virtual one. Furthermore, we consider different scenarios for such an immersive system, ranging from educational use to collaborative scenarios.Entities:
Keywords: Augmented reality; Bioinformatics; GPU; HoloLens; Immersive Analytics; Molecular visualisation; Scientific visualisation
Mesh:
Year: 2018 PMID: 29897886 PMCID: PMC6167047 DOI: 10.1515/jib-2018-0005
Source DB: PubMed Journal: J Integr Bioinform ISSN: 1613-4516
Figure 1:Rendering of the space-filling model for a small protein (PDB ID: 1RWE) coloured by element.
Figure 2:Schematic drawing of GPU-based raycasting: for each sphere, a proxy geometry that covers the whole sphere is rendered (blue quad in the image plane). For each fragment of this quad, a view ray is computed in the pixel shader and a ray-sphere intersection determines whether the actual sphere is visible through this pixel. Our objective is to assess the rendering speed of the custom GPU used by HoloLens for such shader-based methods. We also compare this approach to traditional rendering methods based on triangle meshes.
Figure 3:Live capture from the Unity prototype showing one of the protein data sets used for testing (PDB ID: 1AF6).
Data sets from the Protein Data Bank used for performance evaluation.
| Data set | PDB ID | # of atoms | Scaling of bounding box |
|---|---|---|---|
| Insulin | 1RWE | 826 | 1:1.2E+08 |
| Enterotoxin | 1TII | 5475 | 1:6.8E+07 |
| Maltoporin | 1AF6 | 10,052 | 1:5.9E+07 |
| Plasmid coupling protein | 1GKI | 19,541 | 1:4.8E+08 |
| 4KVB | 50,952 | 1:2.2E+07 |
Figure 4:Live captures from our standalone UWP application rendering the data sets used in our benchmarks using raycasting on instances sprites. Upper row: 1RWE (826 atoms), close-up of 1RWE, 1TII (5475 atoms). Lower row: 1AF6 (10,052 atoms), 1GKI (19,541 atoms), 4KVB (50,952 atoms).
Figure 5:Average frame rates during a full rotation around the data set at 2 m distance.
Approximate number of assembler instructions as reported by the HLSL compiler for the vertex shader (VS), geometry shader (GS), hull shader (HS), domain shader (DS) and pixel shader (PS) stage.
| Rendering technique | VS | GS | HS | DS | PS |
|---|---|---|---|---|---|
| Raycasting with GS | 6 | 127 | – | – | 60 |
| Raycasting with tessellation | 6 | – | 28 | 66 | 60 |
| Raycasting on instanced sprites | 77 | – | – | – | 60 |
| Instanced spheres | 21 | – | – | – | 23 |
| Tessellated hemispheres | 6 | – | 28 | 66 | 23 |
| Tessellated spheres | 6 | – | 27 | 35 | 23 |
A dash indicates that the shader stage is not used for the respective technique. Note that the tessellated hemispheres use a significantly more complex domain shader than the tessellated spheres, because additional code is required to orient the hemispheres towards the user, whereas the orientation of the spheres is irrelevant.
Figure 8:Pipeline statistics collected while flying through the 1RWE data set along the z-axis. The solid lines denote the number of pixel shader invocations. The dotted ones designate the number of vertices emitted in the last stage producing geometry.
Figure 6:Average frame rates during a full rotation around the data set at 1 m distance.
Figure 7:Frame rate over time while flying through 1RWE starting at 2 m distance and ending 2 m behind the data set.
Figure 9:Frame rate over time while flying through 1AF6 starting at 2 m distance and ending 2 m behind the data set.
Comparison of average frame rates for the rotation around the y-axis between the UWP and the Unity prototype.
| Technique | 1RWE | 1TII | 1AF6 | 1GKI | 4KVB | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| 2 m | 1 m | 2 m | 1 m | 2 m | 1 m | 2 m | 1 m | 2 m | 1 m | |
| Raycast. w/ GS | 31.3 | 12.5 | 16.3 | 7.8 | 13.6 | 7.9 | 11.8 | 7.8 | 13.6 | 7.8 |
| Raycast. w/ tessellation | 31.1 | 14.4 | 21.6 | 9.5 | 15.5 | 8.2 | 11.6 | 7.8 | 11.4 | 7.7 |
| Raycast. on inst. sprites | 31.1 | 14.3 | 21.5 | 9.2 | 16.5 | 8.2 | 13.7 | 7.7 | 16.4 | 8.6 |
| Instanced spheres | 60.8 | 31.7 | 31.2 | 21.5 | 21.4 | 18.6 | 13.5 | 12.6 | 7.8 | 7.7 |
| Tess. hemispheres | 35.5 | 31.3 | 20.3 | 13.4 | 13.6 | 9.3 | 8.9 | 7.8 | 7.8 | 7.7 |
| Tess. spheres | 32.5 | 28.3 | 16.3 | 11.5 | 11.6 | 8.1 | 7.7 | 7.8 | 7.8 | 7.8 |
| Unity | 55.6 | 52.6 | 11.7 | 19.9 | 6.2 | 11.5 | 3.0 | 6.7 | 3.0 | 4.4 |