Download presentation
Presentation is loading. Please wait.
Published byColeen Lawson Modified over 8 years ago
1
What’s New in ParaView John Greenfield Under contract to Sandia National Laboratories Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract DE-AC04-94AL85000.
2
Background…
3
Deploy Research to Production Use the Visual ToolKit (VTK) as a framework Only replace small parts of the framework with our research codes; the rest is tried, tested and supported by a whole community.
4
Sandia Vis R&D with ParaView / VTK ParaView is an open-source visualization toolkit Based on the VTK (Visualization ToolKit) Sandia Vis R&D is the most significant outside technical contributor C ore algorithms that enable vastly improved parallel performance. C ore algorithms that enable vastly improved parallel performance. Volume rendering (synthetic x-rays of simulation results) Volume rendering (synthetic x-rays of simulation results) Image delivery to the desktop. Image delivery to the desktop. Driving 60 mega-pixel display walls. Driving 60 mega-pixel display walls. Able to interactively explore Sandia’s largest simulation data sets (> 70 million finite elements). Able to interactively explore Sandia’s largest simulation data sets (> 70 million finite elements). ParaView stats ParaView: 30 downloads / day around the world. ParaView: 30 downloads / day around the world. VTK (Visualization ToolKit) is used by over 25,000 people worldwide. VTK (Visualization ToolKit) is used by over 25,000 people worldwide.
5
Sandia Production…
6
Sandia ParaView Production Environment Average 25 users per month 47 different users in 2QFY05 Scripts for easy use on clusters Allows use of data in place without moving it. Allows use of data in place without moving it. Allows easy parallel rendering for performance. Allows easy parallel rendering for performance. Available on Linux, Windows, SGI, Mac OSX.
7
Current Sandia Additions…
8
Performance New Way Directly Load 1900 exodus files: 45 seconds Directly Load 1900 exodus files: 45 seconds Clip data 20 seconds Clip data 20 seconds No copying or moving the data at all No copying or moving the data at all “Runtime Vis”: Analysts can look at data as soon as the restart files hit the disk “Runtime Vis”: Analysts can look at data as soon as the restart files hit the disk Old Way Copy/convert data into proper format (hours) Copy/convert data into proper format (hours) New way: Convert using R&D software (minutes) New way: Convert using R&D software (minutes) Load converted data 7 minutes Load converted data 7 minutes Clip data 4 minutes Clip data 4 minutes
9
D3 Load Balancing and Data Distribution Load balancing Data distribution Multi-file Cleanup Ghost cell computation!
10
ICE-T Parallel Rendering Good load balancing characteristics Excellent Scalability (1.5 Billion tri/sec in 2005) Supports both Desktop Delivery and Tiled Displays ICE-T is now the default for all parallel rendering in ParaView (faster/better than Kitware’s alternatives) 20 fps at the Desktop (reduced image res during interaction, full at stop)
11
Movie
12
Performance Results Aggregate rate of over 1.5 billion polygons per second. 128 Processor Cluster running servers Desktop client connected at 100 Mbps Visualizing one of the world’s largest polygonal datasets, a 473 million triangle isosurface generated from a Richtmyer- Meshkov simulation run at LLNL (LLNL: UCRL-MI- 151066).
13
Higher Order Elements Typical approximation Correct “Rendering Higher Order Finite Element Surfaces in Hardware”, Proceedings of GRAPHITE, Melbourne Australia, February 2003.
14
Quadratic Elements Old Way: Hex-20 (incorrect) New Way: Hex-20 (correct)
15
VTK & Chromium
16
Along the Way Generic tetrahedral refinement algorithm available in ParaView now for tri-quadratic elements. Mesh quality filter now in ParaView (for benchmarking our refinement algorithm, but may also be useful to meshing community).
17
Unstructured Volume Rendering
18
CTH AMR (Brand New!)
19
Lookmarks What? Quick and easy way to switch between views How? Bookmarking tool that Adds, Removes, Updates, Organizes, Imports, and Saves Lookmarks Why? Why? -Time Savings -Collaboration-Comparison-Organization
20
Why? Why? Time Savings Time Savings Collaboration Collaboration Comparison Comparison Organization Organization
21
Sandia's current contributions to ParaView Work on the image delivery system. Lookmarks – Visual Bookmarks D3: Load balancing and data distribution. IceT: parallel rendering. Higher order elements: Adaptive sampling of quadratic elements Unstructured Volume Rendering. Mesh Quality Measures Exodus Reader and Writer CTHAMR Reader
22
Sandia's current contributions to VTK VTK OpenGL extension manager vtkPainter vtkParallelRenderManager ICE-T Volume rendering vtkMemoryCoherenceFilter vtkOptimizer vtkFixTetrahedra vtkGradientFilter
23
Sandia's current contributions to VTK (cont.) vtkInteractorStyleRubberBandZoom2: vtkItsReader/Writer: Reads/writes files in its format. vtkTrisReader/Writer: Reads/writes files in.tris format. vtkPerturbPoints: A technique for subdividing tetrahedra, triangles, and lines such that any coincident edges or faces are always subdivided the same way. A filter that converts quadratic finite elements into a collection of linear finite elements adaptively
24
Sandia's current contributions to VTK (cont.) Higher Order Elements A programming interface (developed jointly with Kitware) to allow "read-only" access to higher order finite elements Code for representing higher order (quadratic and higher) finite elements in a more generic and extensible way Readers and writers for storing/retrieving the above meshes to/from disk in an XML file format. Techniques for visualizing the above meshes using isosurfaces and deformed, colored boundary surfaces. A parallel rendering infrastructure in vtk to support Chromium. A utility for performing automated tests of visualization code based on VTK's techniques
25
Sandia's current contributions to VTK (cont.) File writer that is capable of writing out EnSight Gold files. Added functionality to the Exodus reader that allows it to parse a Material/Part/Assembly XML metadata file and organize blocks within ParaView based on that information. Bug-fixes to a Delaunay triangulation routine to correct invalid mesh output
26
Future Sandia Additions…
27
Future additions Improved interface to plotting Parallel volume rendering Shading Targeted interfaces Side-by-side views – Real and phase space. Oculus – volume rendering application
28
Parallel Volume Rendering in ParaView D3 (already in ParaView) can, in parallel, divide a data set by a K-D tree. Visibility sorting of a K-D tree is simple. ICE-T (already in ParaView) has the capability of compositing images in order. So… our approach to parallel volume rendering is to divide the data by a K-D tree and use the tree to order the ICE-T compositing.
29
Perceptual Clues (upcoming) Shadows
30
Perceptual Clues (upcoming) New way: Could use meta data to show realistic material properties Old way: Some random colors
31
Next Directions Unique functionality and performance is good “One size fits all” user interface with 10000 buttons is not Put ‘targeted interfaces’ on top of all the vis code we already have.
32
Prism Link simulation geometry view with multiple phase space views to promote understanding of the physics
33
Oculus Oculus is a volume rendering application with a focus on generating images that are comparable to those made in high energy density physics (HEDP) experiments.
34
VtkHardwareShader – Cg, GLSL, etc. Materials assigned per-vtkActor through vtkProperty End-user (ParaView) assigns Materials to objects in the scene End-user (ParaView) assigns Materials to objects in the scene VTK-based applications coordinate vtkActors and Materials VTK-based applications coordinate vtkActors and Materials XML Material file Describes a shader and it's interface to VTK (types, values, etc.) Describes a shader and it's interface to VTK (types, values, etc.) Values for vtkProperty data members Values for vtkProperty data members Al 2040, Brushed Al 2040,1040 Steel, etc. Al 2040, Brushed Al 2040,1040 Steel, etc. VtkPainters will access all Vertex Attributes ( VTK only sets 4!) Extend vtkDataSetAttributes to flag attributes for hardware VtkDataSetAttributes::SetVertexAttrib{0...N}(...) VtkDataSetAttributes::SetVertexAttrib{0...N}(...)
35
VtkHardwareShader and Decorator
36
VtkHardwareShaderProperty – vtkSNL Prototype
37
vtkPainters vtkPainters are a replacement for vtkPolyDataMapper. vtkPolyDataMapper is monolithic. Obfuscated code. Obfuscated code. Hard to extend. Hard to extend. Not ready for use with shaders. Not ready for use with shaders. A vtkPainter is just a piece of the rendering process. Painters are chained together to form functionality of a mapper. Painters are chained together to form functionality of a mapper.
38
vtkPainters vtkOpenGLPolyDataMapper vtkMapScalarsPainter vtkOpenGLClipPlanesPainter vtkOpenGLLightingPainter vtkOpenGLWireframePainter vtkOpenGLDisplayListPainter vtkVertexArrayPainter
39
vtkPainterDeviceAdapter Painters do not (necessarily) make direct OpenGL calls. They use a vtkPainterDeviceAdapter. They use a vtkPainterDeviceAdapter. The vtkPainterDeviceAdapter provides an abstract interface for pushing attributes (i.e. vertex positions, colors, etc.). Easy to swap the standard vtkPainterDeviceAdapter with one that sends to Cg or Sh or HLSL or whatever.
40
END
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.