LABS

Labs

3D Graphics, Rendering & Simulation

UNVELL designs and builds its 3D rendering engines from the ground up. A path tracer that computes the physics of light, a WebGL engine that runs in the browser, Metal for iPhone, Vulkan for Windows, Android and VR — all built on the same line of thinking.

This research ships: two of our own titles are live on the App Store, and earlier work powers commercial VR platforms and online design-support tools. This page walks through the technology we have worked on along the way, area by area.

4 backends
CPU, WebGL, Metal and Vulkan renderers, all built in-house
Physically based
PBR and path tracing, computed down to refraction and atmospheric effects
Lightweight by design
High-quality rendering pursued even on WebGL and mobile
Since 2013
Continuous rendering research

Research Areas

The technology we have developed while building products, grouped by area. Every image on this page is an actual frame drawn by our own engines.

Balloon Journey Japan: fields and a town rebuilt from surveyed data
Balloon Journey Japan: fields and a town rebuilt from surveyed data
01

Japan at real scale, in 3D

Starting from surveyed elevation data published by the Geospatial Information Authority of Japan, we rebuild mountains, valleys, coastlines and towns at true scale. Mt. Fuji and the Kurobe Gorge appear at their real size and their real distance.

  • All of Japan handled as one continuous world, with terrain ahead of you streamed in before you arrive
  • Townscapes with buildings, roads and vegetation, rebuilt from openly published geographic data
  • Detail adjusted automatically by distance, so even a phone shows ridgelines all the way to the horizon
  • Ground contact judged at survey-data precision, even during fast low-level flight through a valley
Used inF-2 MISSIONSBalloon Journey Japan
Balloon Journey Japan: a sea of clouds at sunset
Balloon Journey Japan: a sea of clouds at sunset
02

Sky, clouds and weather from physics

Rather than pasting a photograph, we compute how light scatters through the atmosphere. From sunrise to a starry night, the sky and the ambient light change together with time and weather.

  • A sky from Rayleigh and Mie scattering; the same result drives reflections, ambient light and haze color
  • Ray-marched volumetric clouds — one continuous model from below the deck to above a sea of clouds, casting shadows on the ground
  • Weather generated from date and place, so server and device arrive at the same sky by the same calculation
  • Stars, the Milky Way, the moon and aurora placed by astronomical calculation; at night the moon becomes the key light
Used inBalloon Journey JapanF-2 MISSIONSYotei3D
Yotei3D: an ocean rendered in real time in the browser
Yotei3D: an ocean rendered in real time in the browser
03

Ocean and water

The swell of the waves, the sky reflected in them, the wake a ship leaves behind. The sea starts to look real when light and motion come together.

  • Layered Gerstner waves computed on the GPU, for a sea that runs to the horizon
  • Reflections combining a planar reflection pass with the environment map, plus sun glitter
  • Shoreline foam and wakes, found by reading scene depth where hulls and coasts meet the water
  • Distant waves calmed progressively, keeping the horizon free of shimmer
Used inYotei3DF-2 MISSIONSBalloon Journey Japan
Yotei3D: spheres stepping through metalness and roughness
Yotei3D: spheres stepping through metalness and roughness
04

Physically based materials and light

Metal looks like metal, plastic like plastic. Describe a material by its physical properties and the pipeline renders it naturally under any light.

  • Physically based rendering on a GGX microfacet model, with direct and ambient light computed by one consistent equation
  • Image-based lighting from environment maps, and light probes using spherical harmonics
  • All lighting in linear HDR with a single tone-mapping step at the end; bloom, SSAO, god rays and other post effects
  • HDR output matched to the headroom of high-brightness iPhone and Mac displays
Used inYotei3DF-2 MISSIONSBalloon Journey Japan
Rendered with RayGen: glass refraction and depth of field
Rendered with RayGen: glass refraction and depth of field
05

Path tracing

An offline renderer that follows light paths according to physics. Refraction through glass, soft shadows and bounced light all emerge from the calculation. Written from scratch in C++.

  • A BVH built with the surface-area heuristic for fast ray-geometry intersection
  • Direct light sampling with multiple importance sampling, quasi-Monte Carlo sequences and adaptive sampling — less noise for the same compute
  • Anisotropic GGX reflection, refraction with chromatic dispersion, participating media for fog, flame and heat haze, polygonal-aperture bokeh
  • An À-Trous wavelet denoiser that preserves edges using normals and depth
Used inRayGen
F-2 MISSIONS: flying the Kamikochi valley from the cockpit
F-2 MISSIONS: flying the Kamikochi valley from the cockpit
06

Flight simulation and instruments

Instead of moving the aircraft's attitude directly, we derive motion from aerodynamic forces. Holding altitude through a turn by pulling back on the stick — the right technique in a real aircraft — is the right technique here too.

  • A flight model that carries angle of attack as state; stall, G limits and thrust falling with altitude all emerge from the equations
  • A HUD positioned from the geometry of the pilot's eye and the combiner glass, and a lens model of the optical landing system
  • Proportional-navigation guidance, and collisions between fast objects resolved along swept segments
  • A hot-air balloon model with winds that turn with altitude and airflow shaped by terrain
Used inF-2 MISSIONSBalloon Journey Japan
F-2 MISSIONS: a five-ship formation over the Aso caldera
F-2 MISSIONS: a five-ship formation over the Aso caldera
07

Deterministic simulation and server integration

The same input gives the same result on every device. On that foundation we built a world that keeps moving while the app is closed.

  • Results that match bit for bit across Mac, Linux and Android, verified continuously by automated tests
  • The simulation core runs on the server with rendering detached, replaying six hours of flight in under a second
  • Full flight recording, with replays you can review from any camera
  • A network design for online flight with up to 16 players, synchronizing positions 30 times a second
Used inF-2 MISSIONSBalloon Journey Japan
F-2 MISSIONS: the city of Matsushima with more than 50,000 buildings
F-2 MISSIONS: the city of Matsushima with more than 50,000 buildings
08

Optimization driven by measurement

We judge speed by numbers, not by feel. We measure GPU time for each stage of the frame and work on what pays off most.

  • A city scene holding 11.6 million triangles, reduced by visibility tests to about 3.2 million triangles in 778 draw calls
  • Render resolution chosen automatically from the panel's pixel count, absorbing differences between devices
  • Data for more than 150,000 trees brought down from 215 MB to 4.9 MB
  • Measurement built around the worst frame rather than the average; VR managed against a 90 Hz, 11.1 ms frame budget
Used inF-2 MISSIONSBalloon Journey Japan
Balloon Journey Japan: many balloons drawn at once (work in progress)
Balloon Journey Japan: many balloons drawn at once (work in progress)
09

Multi-platform engine design

One simulation core. Only rendering and input are provided per platform, so the same world runs from an iPhone to Windows to a VR headset.

  • Rendering backends for both Metal and Vulkan, and VR through OpenXR
  • Live on iOS; Windows, Android and VR versions in development
  • Draw order treated as a declaration, so ordering mistakes are caught at build time
  • An in-house UI framework where touch, gamepad, keyboard and mouse share one screen code path
  • 36 groups of automated regression tests that verify all game logic with rendering detached
Used inF-2 MISSIONSBalloon Journey Japan

Engine Lineage

Each piece of research became the foundation for the next engine.

  1. 2015 –

    RayGen

    C++ / CPU path tracing

    An offline renderer that computes the physics of light accurately. It remains our reference for materials and lighting, and research continues.

  2. 2018 –

    Yotei3D

    TypeScript / WebGL 2

    A real-time 3D engine for the browser, and the testbed where new techniques — atmosphere, volumetric clouds, ocean, GPU fluids — are tried first.

  3. 2026.07

    F-2 MISSIONS

    Swift / Metal, Vulkan, OpenXR

    After validating the flight model in a Yotei3D prototype, we built a new dedicated engine for iPhone, then extended it to Windows, Android and VR.

  4. 2026.09

    Balloon Journey Japan

    C++20 / Vulkan

    An engine that rebuilds everything so far in C++. It carries terrain for all of Japan, generated weather, and flights that continue on the server.

Products built on this research

F-2 MISSIONS

F-2 MISSIONS

A flight simulator for iOS: real terrain at true scale, flown at real speeds and altitudes.

Read the release article
Balloon Journey Japan

Balloon Journey Japan

An iOS game about reading the wind and travelling the real skies of Japan by balloon.

Read the release article

Open Projects

Part of our source code is published on GitHub.

Path Tracing Renderer Engine

Path Tracing Renderer Engine

A physically-based 3D path tracing rendering engine.

See on GitHub
Yotei3D Web 3D Engine

Yotei3D Web 3D Engine

A nimble 3D rendering engine for the web, with an intuitive API designed to be approachable even for newcomers to 3D.

2D Graphics Rendering Engine

2D Graphics Rendering Engine

Easy to wire up rich user interaction. A simple, flexible interface design.

See on GitHub

Talk to us about 3D

From rendering engine design to geographic data visualization, simulators, and bringing 3D to web and mobile — we put this research to work for your product or operation.

  • 3D visualization of terrain and city data
  • Simulators and training software
  • 3D product viewers and online showrooms
  • Adding 3D rendering to an existing system
  • Faster rendering on mobile and web
Sources and credits

Terrain data: GSI (Geospatial Information Authority of Japan) elevation tiles. Building and road data: MLIT Project PLATEAU, © OpenStreetMap contributors.

This work is based on "USS DWIGHT D.EISENHOWER CVN-69 AIRCRAFT CARRIER" (https://sketchfab.com/3d-models/uss-dwight-deisenhower-cvn-69-aircraft-carrier-f22c344e834f4c3781f676b372a94b2d) by Muhamad Mirza Arrafi (https://sketchfab.com/nazidefenseforceofficial) licensed under CC-BY-4.0 (http://creativecommons.org/licenses/by/4.0/)

F-2 MISSIONS is an independently produced work. It is not affiliated with, endorsed by, or sponsored by Mitsubishi Heavy Industries, Ltd. or any government or defense organization.