Information
- Publication Type: Master Thesis
- Workgroup(s)/Project(s):
- Date: May 2021
- Date (Start): 10. July 2020
- Date (End): 10. May 2021
- Second Supervisor: Harald Steinlechner
- Diploma Examination: 10. May 2021
- Open Access: yes
- First Supervisor: Eduard Gröller
- Pages: 104
- Keywords: DSL, visualization
Abstract
Visualizing data is an integral part of many scientific disciplines. Due to the complexity of 3D visualizations, their creation usually requires visualization experts. This thesis proposes a system for specifying visualizations without requiring in-depth knowledge about computer graphics. Instead, visualizations are defined in a domain-specific language. This language enables users to easily create and edit 3D visualizations on their own. The language provides configuration capabilities for all aspects of the visualization pipeline, ranging from data transformation up to rendering. Configuring the visualization pipeline is facilitated through a versatile extension mechanism, allowing the definition of modules. Pre-defined modules provide a wide range of 3D visualization techniques, such as volumes or point clouds. Additionally, users can create new modules to support other visualization techniques. Our visualization description is a declarative language specified in a human-readable text format. Due to this format, visualizations created with our language are simple to store and share. Using a text-based format is a natural method for communicating information over the web. Hence, it makes our visualization description easily transferable. Interactivity is another crucial aspect of 3D visualization that our language supports. User events emit messages that the visualization can then use to modify itself. The message system also makes it possible to visualize dynamic data. Modifications of the visualizations pass through our system to automatically analyze the changes. Then just the needed subset of rendering calls to achieve the change execute. With this approach, GPU resources like shaders, buffers, and textures only update when required. This strategy enhances rendering performance and hides implementation detail from the user making the system easier approachable.Additional Files and Images
Weblinks
- Entry in reposiTUm (TU Wien Publication Database)
- Entry in the publication database of TU-Wien
- DOI: 10.34726/hss.2021.80484
BibTeX
@mastersthesis{scholz_2021, title = "A Modular Domain-Specific Language for Interactive 3D Visualization ", author = "Dominik Scholz", year = "2021", abstract = "Visualizing data is an integral part of many scientific disciplines. Due to the complexity of 3D visualizations, their creation usually requires visualization experts. This thesis proposes a system for specifying visualizations without requiring in-depth knowledge about computer graphics. Instead, visualizations are defined in a domain-specific language. This language enables users to easily create and edit 3D visualizations on their own. The language provides configuration capabilities for all aspects of the visualization pipeline, ranging from data transformation up to rendering. Configuring the visualization pipeline is facilitated through a versatile extension mechanism, allowing the definition of modules. Pre-defined modules provide a wide range of 3D visualization techniques, such as volumes or point clouds. Additionally, users can create new modules to support other visualization techniques. Our visualization description is a declarative language specified in a human-readable text format. Due to this format, visualizations created with our language are simple to store and share. Using a text-based format is a natural method for communicating information over the web. Hence, it makes our visualization description easily transferable. Interactivity is another crucial aspect of 3D visualization that our language supports. User events emit messages that the visualization can then use to modify itself. The message system also makes it possible to visualize dynamic data. Modifications of the visualizations pass through our system to automatically analyze the changes. Then just the needed subset of rendering calls to achieve the change execute. With this approach, GPU resources like shaders, buffers, and textures only update when required. This strategy enhances rendering performance and hides implementation detail from the user making the system easier approachable. ", month = may, pages = "104", address = "Favoritenstrasse 9-11/E193-02, A-1040 Vienna, Austria", school = "Research Unit of Computer Graphics, Institute of Visual Computing and Human-Centered Technology, Faculty of Informatics, TU Wien", keywords = "DSL, visualization", URL = "https://www.cg.tuwien.ac.at/research/publications/2021/scholz_2021/", }