Back to Projects

Color Cloud Visualization in VR

Preview Project View Code

What

An immersive web-based 3D visualization tool that transforms real-time color data from a video into dynamic point clouds in multiple color spaces: RGB, CIEXYZ, CIExyY, and CIELAB. The application allows users to:

  • Switch between color spaces interactively
  • View the original video alongside the corresponding 3D color cloud
  • Interact with the scene in VR/MR using Meta Quest controllers, including grabbing and moving the video plane

How

Built using:

  • Three.js to render 3D scenes and integrate WebXR for VR/MR support
  • Custom GLSL shaders to:
    • Sample color data from a video texture
    • Convert RGB to XYZ, xyY, and LAB color spaces
    • Render color points as particles with realistic depth and point sizing
  • Different shaders for both main color cloud and its corresponding "shadow" projection
  • Real-time interaction using GUI (via lil-gui) and Meta Quest controller events
  • HTMLMesh GUI panel that is interactable inside VR
  • Live video texture as input, sampled at regular intervals to create a 3D point cloud

Results

The project successfully demonstrates:

  • Real-time, immersive visualization of color data from a video across four color models
  • Both direct and density-based visual modes
  • VR interaction for exploring color space representations spatially
  • Hands-on experience in shader programming, 3D color theory, and XR interaction systems
  • Final outcome: an educational and exploratory tool that bridges computer graphics, color science, and XR interaction design
Preview Project View Code