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öllerORCID iD
  • 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

Additional images and videos

Additional files

Weblinks

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/",
}