Skip to main content
  1. Selected work/

Thalassa θάλασσα

Table of Contents

Thalassa (θάλασσα, “sea” in Greek) is a computer graphics project developed in Three.js that aims to push the limits of what can be rendered on today’s average computer. The main focus was to explore advanced rendering techniques and environmental visualization.

You can access the demo here.

Thalassa Demo Video

Elements
#

  • A temple: A main model along with an Apollo statue, two horse pillars, a vase, and a chest
  • 850 corals of 3 types:
    • BrainCoral: A sphere-like coral with interconnected fissures
    • TubeCoral: A group of tubes placed in a radial manner
    • LSystemCoral: Built using a Stochastic L-System. Also has a swaying animation using shaders
  • 100 rocks
  • A submarine with a front (yellowish) light, and a red intermittent light
  • 5 flocks of fish with 100-200 fish each
  • A shark
  • Animated water surface

Effects
#

  • Bubbles emitted by tube corals (in bursts) and by submarine (when moving)
  • “Marine snow”: slow-falling particles spread across the entire scene
  • Fog
  • Caustic effect

Features
#

  • Flock avoidance
    • The submarine and shark are considered a danger and strongly avoided
    • Corals are also avoided, though not as strongly
  • Collisions
    • Slide on collision to allow smooth movement
    • Submarine collides with temple, terrain, and corals
    • Fish collide with temple and terrain
  • Sand “puff” when the user clicks on the terrain
  • Corals, fish and rocks increase in size when clicked: Good for seeing LOD in action
  • 4 (relevant) camera modes:
    • Perspective: the default camera
    • Submarine Periscope with a cool visual effect and coordinates indicator
    • Submarine FPV with a video
    • Fly mode, with blurred vision
  • Submarine shield: Affects collisions

To see more details and code, visit the repository on GitHub.