Skip to content

Hackshaven/vector-visualizations

Repository files navigation

GPU-Based Vector Field Visualizations using 3D Textures

Click here to launch an interactive container: Binder

Tornado Wind Vectors The goal of this project is to create information-rich visualizations for geo-science that have useful interpretations for scientists and educators. To accomplish this goal, new features in Unity are leveraged to utilize GPU-based particle systems, with a focus on 3D vector force fields. By creating a volume having a 3D vectors at each point, we can inject particles into this volume and watch the dynamics. An analogy is a pin-ball machine, whose mechanisms supply the dynamics that effect ordinary balls.

  • Stage 1 -- Discover - Find NetCDF or GRIB datasets that contain 3D vector fields (3D space with U-V-W values at each point)
  • Stage 2 -- Curate - Store curated vector fields in library to be used by server.
  • Stage 3 -- Serve - Construct REST web API to serve data to C# client within the Unity environment.
  • Stage 4 -- Create - Create Unity 3D texture assets to be used in VFX graphs.
  • Stage 5 -- Visualize - Use 3D textures as property within VFX graph blocks.

The architecture converts NetCDF & GRIB datasets into force vector fields for rendering as 3DTextures in Unity Visual Effect Graphs. In the future, it might be interesting to investigate storing these textures in an HDF Server.

Issues to be resolved:

  • Mapping dataset dimensions and values to 3D texture dimensions and values
  • Specifying slices of the dataset dimensions to the server
  • Managing a library of datasets to be visualized
  • Bringing the real-world interpretation of these dimensions into Unity
  • Varying the VFX graph to show different aspects of the UVW field
  • Rigging camera to best visualize the UVW rendering

Documentation

About

GPU-Based Vector Field Visualizations using 3D Textures

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published