Inspiration

  • NASA ocean data shows large-scale structure, but lacks fine detail.
  • We wanted to turn that into something you can move through and experience, not just look at.

What it does

  • Visualizes ocean life and motion using:
    • chlorophyll (structure)
    • currents (direction)
  • Lets you drive a boat through the system, with particles reinforcing motion.

How we built it

  • Used NASA data as geographic + directional reference.
  • Generated a synthetic field to match real ocean structure.
  • Created flow using:
    • a dominant current (Kuroshio-like)
    • eddies + curl noise
  • Applied LIC (line integral convolution) to produce filament structures.
  • Rendered as a single shader-driven texture with animated UV distortion.
  • Added particles for local motion feedback.

Challenges we ran into

  • Real NASA data was too low-resolution and incomplete for visual quality.
  • Direct use looked flat and blocky.
  • Needed to fill in gaps without losing realism.
  • Balancing accuracy vs visual clarity.

Accomplishments that we're proud of

  • Turned coarse data into a visually rich, flowing system.
  • Achieved thin, coherent filament structures instead of blobs.
  • Built something explorable, not just viewable.
  • Strong performance (single quad + shader).

What we learned

  • Real data provides structure, but not visual detail.
  • The most important visuals came from simulation layered on top of data.
  • Techniques like LIC are critical for revealing flow structure.
  • Interactivity (driving through it) makes the data intuitive.

Built With

  • c#
  • convolution
  • hlsl
  • hlsl-shaders
  • integral
  • kuroshio-extension-data
  • line
  • nasa-neo-(modis)
  • numpy
  • particlesystem
  • pillow
  • python
  • rigidbody2d
  • scipy
  • shader-graph
  • unity-(urp)
  • unity-editor-scripting
  • unity-input-system
Share this project:

Updates