Volume visualization has been made available on the web using the Direct Volume Rendering (DVR) technique, powered by the WebGL 1 API. While the technique produces visually pleasing output, the performance of the prototypes that implement this leave much desired. 2017 saw the release of the next version of WebGL, WebGL 2.0 and the introduction of WebAsssembly. These APIs and formats are promising tools for formulating a DVR application that can do high performance rendering at interactive frame rates. This thesis investigates, implements and evaluates a prototype application that utilizes the optimization methods of Adaptive Texture Maps, Octree Empty Space Skipping and Distance Transform Empty Space Skipping. The Distance Transform is further evaluated by a CPU bound and a GPU bound algorithm implementation. The techniques are assessed on readily available off the shelf devices and hardware. The performance of the prototype application ran on these devices is quantified by measuring computation times of costly operations, and measuring frames per second. It is concluded that for different hardware, the methods have different properties. While higher FPS is achieved for all devices by utilizing some combination of the optimization methods, the distance transform is the most consistent. A discussion on embedded devices and their quirks is also held, where memory constraints and the resolution of the data is of greater importance than on the non-embedded devices. This results in some suggested actions that can be taken to also potentially enable high-performance rendering of higher resolution data on these devices.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:liu-158134 |
Date | January 2019 |
Creators | Nilsson, Tobias |
Publisher | Linköpings universitet, Informationskodning |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0019 seconds