Article

Using GPU Shaders for Visualization

Authors:
To read the full-text of this research, you can request a copy directly from the author.

Abstract

GPU shaders seem used mostly for gaming and other forms of entertainment and simulation. But they have less-obvious visualization uses, for the same reasons that interest the gaming community: improved appearance and performance. This column looks at the use of shaders and the OpenGL shading language (GLSL) in two common visualization applications: point clouds and contour cutting planes.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the author.

... A fourth approach (which is not very common in the research community) is the use of Compute Shaders through OpenGL, 26 which has been recently developed in its native programming language. This development is placed on a lower level (closer to the hardware) compared to CUDA and OpenCL, 27 allowing finer customizations and a higher efficiency of the implementation. ...
... In this work, GPU computing is considered using the Compute Shaders technology provided by OpenGL. 27 Similar to CUDA and OpenCL technologies, Compute Shaders are efficiently designed to divide the overall workflow in multiple work groups (see Figure 5). Each work group contains a fixed number of work items capable of sharing its own group memory, which in our case is the information of the macroscopic flow variables. ...
Article
In this article, a highly accurate and GPU accelerated Lattice Boltzmann Method (LBM) is presented. The methodology is derived from a combination of conventional and recent LBM algorithms, mainly focusing on reducing the computational time, memory allocation, and complexity of existing algorithms. The general implementation focuses on accelerating the overall methodology using GPGPU technology based on Compute Shaders from OpenGL and avoids the storage of the distribution function components to reduce the memory allocation size. Furthermore, an efficient spatial interpolation of the probability distribution function components is described, based on a directional interpolation, without unnecessary control points for the reconstruction of virtual nodes data. The present methodology, tested for spatial accuracy via 2D and 3D Lid Driven Cavity benchmark cases, shows excellent agreement with the results reported in the literature. Additionally, time efficiency is analyzed by comparing different configurations for the construction of virtual streaming points.
... and OpenGL. We give a brief high-level overview of the OpenGL pipeline before describing how programmable shaders, originally designed for custom 3D rendering effects, can be highly advantageous for data visualization (Bailey, 2009). Finally, we apply these techniques to the visualization of neurophysiological data. ...
... Whereas graphics cards are routinely used for 3D scientific visualization (Lefohn et al., 2003;Rößler et al., 2006;Petrovic et al., 2007), they are much less common in 2D visualization applications (Bailey, 2009). Previous uses of shaders in such applications mainly center around mapping (McCormick et al., 2004;Liu et al., 2013), images or videos (Farrugia et al., 2006). ...
Article
Full-text available
Large datasets are becoming more and more common in science, particularly in neuroscience where experimental techniques are rapidly evolving. Obtaining interpretable results from raw data can sometimes be done automatically; however, there are numerous situations where there is a need, at all processing stages, to visualize the data in an interactive way. This enables the scientist to gain intuition, discover unexpected patterns, and find guidance about subsequent analysis steps. Existing visualization tools mostly focus on static publication-quality figures and do not support interactive visualization of large datasets. While working on Python software for visualization of neurophysiological data, we developed techniques to leverage the computational power of modern graphics cards for high-performance interactive data visualization. We were able to achieve very high performance despite the interpreted and dynamic nature of Python, by using state-of-the-art, fast libraries such as NumPy, PyOpenGL, and PyTables. We present applications of these methods to visualization of neurophysiological data. We believe our tools will be useful in a broad range of domains, in neuroscience and beyond, where there is an increasing need for scalable and fast interactive visualization.
... In contrast to that, Florek and Novotnỳ [2006] provide an example of a geometry-based technique, using the geometry processing stages of the graphics pipeline to produce an interactive parallel coordinates display. Furthermore, a series of articles by Bailey [2009;2011;2013] covers a selection of specific GPU techniques, both imageand geometrybased. Our approach resembles the latter examples, however the techniques that we propose are more general and not limited to specific visual representations. ...
Conference Paper
This paper outlines Glance, a unifying framework for exploring multidimensional, multivariate data in the context of AR/VR environments, along with specific implementation techniques that utilize programmable GPUs. The presented techniques extend the graphics pipeline through programmable shaders in order to support more general geometries and operations. Our point of departure from existing structural theories of graphics is a general spatial substrate, where data is encoded using higher-dimensional geometric primitives. From there, we define a series of processing stages, utilizing shaders to enable flexible and dynamic coordinate transformations. Furthermore, we describe how advanced visualization techniques, such as faceting and multiple views, can be integrated elegantly into our model. Bridging between Computer Graphics and Information Visualization theories, the elements of our framework are composable and expressive, allowing a diverse set of visualizations to be specified in a universal manner (see figure 1).
... These small GPU programs allow the parallel execution of operations on the level of a graphics vertex or of an output fragment (i.e. a single pixel in the generated image), the generation of new geometry by the graphics subsystem, or the general parallel execution of operations. We will not go into detail of graphics technology here, for an introduction to GPU-based visualization we refer the reader to, for example, Bailey (2009Bailey ( , 2011Bailey ( , 2013 or Engel et al. (2006). On the CPU side, Met.3D is implemented in C++. ...
Article
Full-text available
We present "Met.3D", a new open-source tool for the interactive three-dimensional (3-D) visualization of numerical ensemble weather predictions. The tool has been developed to support weather forecasting during aircraft-based atmospheric field campaigns; however, it is applicable to further forecasting, research and teaching activities. Our work approaches challenging topics related to the visual analysis of numerical atmospheric model output – 3-D visualization, ensemble visualization and how both can be used in a meaningful way suited to weather forecasting. Met.3D builds a bridge from proven 2-D visualization methods commonly used in meteorology to 3-D visualization by combining both visualization types in a 3-D context. We address the issue of spatial perception in the 3-D view and present approaches to using the ensemble to allow the user to assess forecast uncertainty. Interactivity is key to our approach. Met.3D uses modern graphics technology to achieve interactive visualization on standard consumer hardware. The tool supports forecast data from the European Centre for Medium Range Weather Forecasts (ECMWF) and can operate directly on ECMWF hybrid sigma-pressure level grids. We describe the employed visualization algorithms, and analyse the impact of the ECMWF grid topology on computing 3-D ensemble statistical quantities. Our techniques are demonstrated with examples from the T-NAWDEX-Falcon 2012 (THORPEX – North Atlantic Waveguide and Downstream Impact Experiment) campaign.
... These small GPU programs allow the parallel execution of operations on the level of a graphics vertex or of an output fragment (i.e. a single pixel in the generated image), the generation of new geometry by the graphics subsystem, or the general parallel execution of operations. We will not go into detail of graphics technology here, for an introduction to 15 GPU based visualization we refer the reader to, for example, Bailey (2009Bailey ( , 2011Bailey ( , 2013 or Engel et al. (2006). On the CPU side, Met.3D is implemented in C++. ...
Article
Full-text available
We present Met.3D, a new open-source tool for the interactive 3-D visualization of numerical ensemble weather predictions. The tool has been developed to support weather forecasting during aircraft-based atmospheric field campaigns, however, is applicable to further forecasting, research and teaching activities. Our work approaches challenging topics related to the visual analysis of numerical atmospheric model output – 3-D visualization, ensemble visualization, and how both can be used in a meaningful way suited to weather forecasting. Met.3D builds a bridge from proven 2-D visualization methods commonly used in meteorology to 3-D visualization by combining both visualization types in a 3-D context. We address the issue of spatial perception in the 3-D view and present approaches to using the ensemble to allow the user to assess forecast uncertainty. Interactivity is key to our approach. Met.3D uses modern graphics technology to achieve interactive visualization on standard consumer hardware. The tool supports forecast data from the European Centre for Medium Range Weather Forecasts and can operate directly on ECMWF hybrid sigma-pressure level grids. We describe the employed visualization algorithms, and analyse the impact of the ECMWF grid topology on computing 3-D ensemble statistical quantitites. Our techniques are demonstrated with examples from the T-NAWDEX-Falcon 2012 campaign.
... Ein derartiger Lastabfall in der berechneten Kraft-Verschiebungskurve ist ein charakteristisches Indiz für das plötzliche Auftreten eines Stabilitätsproblems. Bei einer Laststeuerung würde die Struktur hochdynamisch in eine neue Gleichgewichtslage übergehen, was Abbildung 2: Suchraster -Kraftangriffspunkte für die geometrisch nichtlineare Analyse. Abbildung 6: Resultate der Simulation, sowie der Auswertung in der VR (Rasterpunkte -grün; neuerkritischer Punkt -rot). in Abbildung 6 leicht zu erkennen ist, lassen sich aus der mittels GLSL-Shader[13] unterstützten Visualisierung sehr schnell neue Informationen extrahieren. In diesem Fall wird aus der Interpolation der gewichteten, nichtlinearen Rastersuche ein kritisches Areal näher betrachtet und ein neuer Rasterpunkt (rot markiert) mit einer maximalen Gewichtung identifiziert. ...
... McDonnel and Elmqvist [26] suggest using GPU techniques to rapidly render nodes for graphs and charts, and provide a graphics pipeline; similarly, Bailey [27] offers a brief tutorial on using GPU shaders to generate scatterplots and isocontours. In this paper, we use the GPU not merely for rendering large numbers of objects rapidly, but also for accelerating a computation process. ...
Conference Paper
Full-text available
The Voronoi Treemap is a space-filling treemap technique that relaxes the constraints of rectangular nodes. Its organic shapes maintain a one-to-one aspect ratio, are flexible with their placement, allowing stable zooming and dynamic data values. In this paper, we present algorithms for efficient computation and dynamic update of Voronoi Treemaps. Our GPGPU-based technique allows for rapid computation of centroidal Voronoi Diagrams, providing almost two orders of magnitude speedup over previous work. In addition, we present a hierarchical algorithm for stable updates. Finally, we demonstrate the application of Voronoi treemaps to real-world dynamic datasets, including interactive navigation.
Article
Full-text available
The present work offers a solution for rendering of polylines with geospatial coordinates in OpenGL ES, a simplified variant of the OpenGL graphical application programming interface for devices such as mobile phones. A mathematical analysis was made to create a method for obtaining the Model-View-Projection matrix, which was used in the transformation of the coordinates corresponding to each of the polylines, since the ranges of values of these are not understood in the normalized OpenGL space, which is -1 to 1, but they are in relation to the coordinate system to which they belong; accordingly, it was possible to handle higher coordinate ranges. Using the Unified Modeling Language, class diagrams are presented, which group together OpenGL ES-specific concepts and those related to rendering elements through the shading language and methods to ensure high drawing performances. It also proposes how to create and configure an application in Visual Studio 2017, with the cross-platform development module, for the creation of mobile applications in C ++, with OpenGL ES 2.0. For the validation of the proposed methods, a test application for the Android operating system was implemented.
Thesis
Räumlich-zeitliche Daten sind Daten, welche sowohl einen Raum- als auch einen Zeitbezug aufweisen. So können beispielsweise Zeitreihen von Geodaten, thematische Karten die sich über die Zeit verändern, oder Bewegungsaufzeichnungen von sich bewegenden Objekten als räumlich-zeitliche Daten aufgefasst werden. In der heutigen automatisierten Welt gibt es eine wachsende Anzahl von Datenquellen, die beständig räumlich-zeitliche Daten generieren. Hierzu gehören beispielsweise Verkehrsüberwachungssysteme, die Bewegungsdaten von Menschen oder Fahrzeugen aufzeichnen, Fernerkundungssysteme, welche regelmäßig unsere Umgebung scannen und digitale Abbilder wie z.B. Stadt- und Landschaftsmodelle erzeugen, sowie Sensornetzwerke in unterschiedlichsten Anwendungsgebieten, wie z.B. der Logistik, der Verhaltensforschung von Tieren, oder der Klimaforschung. Zur Analyse räumlich-zeitlicher Daten werden neben der automatischen Analyse mittels statistischer Methoden und Data-Mining auch explorative Methoden angewendet, welche auf der interaktiven Visualisierung der Daten beruhen. Diese Methode der Analyse basiert darauf, dass Anwender in Form interaktiver Visualisierung die Daten explorieren können, wodurch die menschliche Wahrnehmung sowie das Wissen der User genutzt werden, um Muster zu erkennen und dadurch einen Einblick in die Daten zu erlangen. Diese Arbeit beschreibt ein Software-Framework für die Visualisierung räumlich-zeitlicher Daten, welches GPU-basierte Techniken beinhaltet, um eine interaktive Visualisierung und Exploration großer räumlich-zeitlicher Datensätze zu ermöglichen. Die entwickelten Techniken umfassen Datenhaltung, Prozessierung und Rendering und ermöglichen es, große Datenmengen in Echtzeit zu prozessieren und zu visualisieren. Die Hauptbeiträge der Arbeit umfassen: - Konzept und Implementierung einer GPU-zentrierten Visualisierungspipeline. Die beschriebenen Techniken basieren auf dem Konzept einer GPU-zentrierten Visualisierungspipeline, in welcher alle Stufen -- Prozessierung,Mapping, Rendering -- auf der GPU ausgeführt werden. Bei diesem Konzept werden die räumlich-zeitlichen Daten direkt im GPU-Speicher abgelegt. Während des Rendering-Prozesses werden dann mittels Shader-Programmen die Daten prozessiert, gefiltert, ein Mapping auf visuelle Attribute vorgenommen, und schließlich die Geometrien für die Visualisierung erzeugt. Datenprozessierung, Filtering und Mapping können daher in Echtzeit ausgeführt werden. Dies ermöglicht es Usern, die Mapping-Parameter sowie den gesamten Visualisierungsprozess interaktiv zu steuern und zu kontrollieren. - Interaktive Visualisierung attributierter 3D-Trajektorien. Es wurde eine Visualisierungsmethode für die interaktive Exploration einer großen Anzahl von 3D Bewegungstrajektorien entwickelt. Die Trajektorien werden dabei innerhalb einer virtuellen geographischen Umgebung in Form von einfachen Geometrien, wie Linien, Bändern, Kugeln oder Röhren dargestellt. Durch interaktives Mapping können Attributwerte der Trajektorien oder einzelner Messpunkte auf visuelle Eigenschaften abgebildet werden. Hierzu stehen Form, Höhe, Größe, Farbe, Textur, sowie Animation zur Verfügung. Mithilfe dieses dynamischen Mappings wurden außerdem verschiedene Visualisierungsmethoden implementiert, wie z.B. eine Focus+Context-Visualisierung von Trajektorien mithilfe von interaktiven Dichtekarten, sowie einer Space-Time-Cube-Visualisierung zur Darstellung des zeitlichen Ablaufs einzelner Bewegungen. - Interaktive Visualisierung geographischer Netzwerke. Es wurde eine Visualisierungsmethode zur interaktiven Exploration geo-referenzierter Netzwerke entwickelt, welche die Visualisierung von Netzwerken mit einer großen Anzahl von Knoten und Kanten ermöglicht. Um die Analyse von Netzwerken verschiedener Größen und in unterschiedlichen Kontexten zu ermöglichen, stehen mehrere virtuelle geographische Umgebungen zur Verfügung, wie bspw. ein virtueller 3D-Globus, als auch 2D-Karten mit unterschiedlichen geographischen Projektionen. Zur interaktiven Analyse dieser Netzwerke stehen interaktive Tools wie Filterung, Mapping und Selektion zur Verfügung. Des weiteren wurden Visualisierungsmethoden für verschiedene Arten von Netzwerken, wie z.B. 3D-Netzwerke und zeitlich veränderliche Netzwerke, implementiert. Zur Demonstration des Konzeptes wurden interaktive Tools für zwei unterschiedliche Anwendungsfälle entwickelt. Das erste beinhaltet die Visualisierung attributierter 3D-Trajektorien, welche die Bewegungen von Flugzeugen um einen Flughafen beschreiben. Es ermöglicht Nutzern, die Trajektorien von ankommenden und startenden Flugzeugen über den Zeitraum eines Monats interaktiv zu explorieren und zu analysieren. Durch Verwendung der interaktiven Visualisierungsmethoden für 3D-Trajektorien und interaktiven Dichtekarten können Einblicke in die Daten gewonnen werden, wie beispielsweise häufig genutzte Flugkorridore, typische sowie untypische Bewegungsmuster, oder ungewöhnliche Vorkommnisse wie Fehlanflüge. Der zweite Anwendungsfall beinhaltet die Visualisierung von Klimanetzwerken, welche geographischen Netzwerken in der Klimaforschung darstellen. Klimanetzwerke repräsentieren die Dynamiken im Klimasystem durch eine Netzwerkstruktur, die die statistische Beziehungen zwischen Orten beschreiben. Das entwickelte Tool ermöglicht es Analysten, diese großen Netzwerke interaktiv zu explorieren und dadurch die Struktur des Netzwerks zu analysieren und mit den geographischen Daten in Beziehung zu setzen. Interaktive Filterung und Selektion ermöglichen es, Muster in den Daten zu identifizieren, und so bspw. Cluster in der Netzwerkstruktur oder Strömungsmuster zu erkennen.
Article
CFD simulation tools typically are expert systems and demand for specific expertise, moreover, commonly provided visualizations of the simulation results are hard to analyze and interpret, especially to people not closely related to the specific area of expertise. As a recent example, the need for such simulations, as well as tools for comprehensive visualizations and analysis of the generated results became clear in 2007 when the windstorm 'Kyrill' hit Europe and caused massive damages to the forests. Proper storm simulations can support forest planning in order to prevent future storm damages. The recently introduced concepts of eRobotics aim to bridge the gap between expert systems and comprehensive software applications by supporting the understanding of complex simulation results with realistic virtual environments. In this paper, we extend the eRobotics approach to the forest planning domain. Accurate CFD simulations are combined with comprehensive visualization approaches in order to act as a decision support system to optimize future forest developments under ecological and sustainable aspects. Finally, a comparison of real-world and simulated storm damage caused by the windstorm Kyrill will show the applicability and benefits of the presented system regarding damage prevention and sustainable forest development.
Article
Full-text available
Zusammenfassung Im Beitrag wird ein Überblick über heute verfügbare Methoden des Virtual Engineering (VE) gegeben. Zunächst werden für die Finite-Elemente-Methode (FEM) Verfahren zur Modell-, Dimensions-und Diskretisierungs-fehlerschätzung sowie zur Kopplung unterschiedlicher Netzgebiete dargestellt, mit denen es möglich ist, qualifi-zierte, problemangepasste FEM-Berechnungsmodelle zu gewinnen. Im zweiten Teil des Beitrags wird auf Ver-fahren zur Verbesserung der Ergebnispräsentation in der Virtuellen Realität (VR) eingegangen. Die Vorteile der Nutzung der verbesserten Methoden im VE werden anhand der Modellierung und Simulation eines Gasfeder-dämpfers dargestellt.
Article
GPU shaders aren't just for special effects. Previously, I looked at some uses for them in visualization. Here, the idea continues. Because visualization relies so much on high speed interaction, we use shaders for the same reason we use them in effects programming: appearance and performance. In the drive to understand large, complex data sets, no method should be overlooked. This article describes two additional visualization applications: line integral convolution (LIC) and terrain bump-mapping. I also comment on the recent (and rapid) changes to OpenGL and what these mean to educators.
Conference Paper
Full-text available
Deformable isosurfaces, implemented with level-set methods, have demonstrated a great potential in visualization for applications such as segmentation, surface processing, and surface reconstruction. Their usefulness has been limited, however, by their high computational cost and reliance on significant parameter tuning. This paper presents a solution to these challenges by describing graphics processor (GPU) based on algorithms for solving and visualizing level-set solutions at interactive rates. Our efficient GPU-based solution relies on packing the level-set isosurface data into a dynamic, sparse texture format. As the level set moves, this sparse data structure is updated via a novel GPU to CPU message passing scheme. When the level-set solver is integrated with a real-time volume renderer operating on the same packed format, a user can visualize and steer the deformable level-set surface as it evolves. In addition, the resulting isosurface can serve as a region-of-interest specifier for the volume renderer. This paper demonstrates the capabilities of this technology for interactive volume visualization and segmentation.
Article
The rapid increase in the performance of graphics hardware, coupled with recent improvements in its programmability, have made graphics hardware a compelling platform for computationally demanding tasks in a wide variety of application domains. In this report, we describe, summarize, and analyze the latest research in mapping general‐purpose computation to graphics hardware. We begin with the technical motivations that underlie general‐purpose computation on graphics processors (GPGPU) and describe the hardware and software developments that have led to the recent interest in this field. We then aim the main body of this report at two separate audiences. First, we describe the techniques used in mapping general‐purpose computation to graphics hardware. We believe these techniques will be generally useful for researchers who plan to develop the next generation of GPGPU algorithms and techniques. Second, we survey and categorize the latest developments in general‐purpose application development on graphics hardware.
Article
Diffusion Tensor Imaging (DTI) of the human brain, coupled with tractography techniques, enable the extraction of large-collections of three-dimensional tract pathways per subject. These pathways and pathway bundles represent the connectivity between different brain regions and are critical for the understanding of brain related diseases. A flexible and efficient GPU-based rendering technique for DTI tractography data is presented that addresses common performance bottlenecks and image-quality issues, allowing interactive render rates to be achieved on commodity hardware. An occlusion query-based pathway LoD management system for streamlines/streamtubes/tuboids is introduced that optimizes input geometry, vertex processing, and fragment processing loads, and helps reduce overdraw. The tuboid, a fully-shaded streamtube impostor constructed entirely on the GPU from streamline vertices, is also introduced. Unlike full streamtubes and other impostor constructs, tuboids require little to no preprocessing or extra space over the original streamline data. The supported fragment processing levels of detail range from texture-based draft shading to full raycast normal computation, Phong shading, environment mapping, and curvature-correct text labeling. The presented text labeling technique for tuboids provides adaptive, aesthetically pleasing labels that appear attached to the surface of the tubes. Furthermore, an occlusion query aggregating and scheduling scheme for tuboids is described that reduces the query overhead. Results for a tractography dataset are presented, and demonstrate that LoD-managed tuboids offer benefits over traditional streamtubes both in performance and appearance.
Conference Paper
In this work we present a flexible framework for GPU-based volume rendering. The framework is based on a single pass volume raycasting approach and is easily extensible in terms of new shader functionality. We demonstrate the flexibility of our system by means of a number of high-quality standard and nonstandard volume rendering techniques. Our implementation shows a promising performance in a number of benchmarks while producing images of higher accuracy than obtained by standard pre-integrated slice-based volume rendering.
Conference Paper
Quantitative techniques for visualization are critical to the successful analysis of both acquired and simulated scientific data. Many visualization techniques rely on indirect mappings, such as transfer functions, to produce the final imagery. In many situations, it is preferable and more powerful to express these mappings as mathematical expressions, or queries, that can then be directly applied to the data. We present a hardware-accelerated system that provides such capabilities and exploits current graphics hardware for portions of the computational tasks that would otherwise be executed on the CPU. In our approach, the direct programming of the graphics processor using a concise data parallel language, gives scientists the capability to efficiently explore and visualize data sets.
Conference Paper
Segmentation of structures from measured volume data, such as anatomy in medical imaging, is a challenging data-dependent task. In this paper, we present a segmentation method that leverages the parallel processing capabilities of modern programmable graphics hardware in order to run significantly faster than previous methods. In addition, collocating the algorithm computation with the visualization on the graphics hardware circumvents the need to transfer data across the system bus, allowing for faster visualization and interaction. This algorithm is unique in that it utilizes sophisticated graphics hardware functionality (i.e., floating point precision, render to texture, computational masking, and fragment programs) to enable fast segmentation and interactive visualization.
Conference Paper
The process of visualizing a scientific data set requires an extensive knowledge of the domain in which the data set is created. Because an in-depth knowledge of all scientific domains is not available to the creator of visualization software, a flexible and extensible visualization system is essential in providing a productive tool to the scientist. This paper presents a shading language, based on the RenderMan shading language, that extends the shading model used to render volume data sets. Data shaders, written in this shading language, give the users of a volume rendering system a means of specifying how a volume data set is to be rendered. This flexibility is useful both as a visualization tool in the scientific community and as a research tool in the visualization community
Article
The latest real-time graphics architectures include programmable floating-point vertex and fragment processors, with support for data-dependent control flow in the vertex processor. We present a programming language and a supporting system that are designed for programming these stream processors. The language follows the philosophy of C, in that it is a hardware-oriented, generalpurpose language, rather than an application-specific shading language. The language includes a variety of facilities designed to support the key architectural features of programmable graphics processors, and is designed to support multiple generations of graphics architectures with different levels of functionality. The system supports both of the major 3D graphics APIs: OpenGL and Direct3D. This paper identifies many of the choices that we faced as we designed the system, and explains why we made the decisions that we did.