Skip to content

Guide

How 3D runs in a browser

A web browser talks to the graphics hardware directly to draw 3D. WebGL is that path, and WebGPU is what follows it.

In short

The browser hands the drawing to the graphics hardware

Drawing 3D means telling the graphics hardware what to draw and how. Code in the page hands that over through WebGL, so there is nothing to install.

WebGL 2 is in every major browser. Chrome 56, Firefox 51 and Safari 15 shipped it, so it was settled by 2021.

WebGPU is the next generation. It was redesigned around how graphics hardware is built today, and it can take on compute work as well. It arrived in Chrome 113, Chrome on Android 121, Firefox 141 and Safari 26, and Firefox still runs it only on Windows and some Macs. Checked again against MDN compatibility data on 2 October 2026.

What runs

From the file to the first frame

The first two steps run once. The last two run on every frame.

01

Download the file

The 3D file is fetched and unpacked into geometry, materials and textures. Most of the wait before the first view happens here.

02

Upload to the hardware

Vertex positions and textures are sent to graphics memory. Sent once, after which only draw commands go across.

03

Draw every frame

Camera position and lighting are worked out and the scene is redrawn 30 to 60 times a second. That rate is what makes it feel smooth.

04

Take the input

Turning and zooming are converted into a camera position and applied on the next frame.

Performance

What makes it slow

Three things explain most of it, and deciding them up front is far cheaper than fixing them later.

File size

Vertex count and texture resolution set the download time. Cut geometry with Draco and textures with KTX2.

Number of draw calls

Splitting a model into many small pieces means sending more draw calls to the hardware. Merge the pieces that share a material.

Screen resolution

At a 2x screen scale there are four times the pixels to fill, and at 3x nine times. Capping the scale brings the frame rate back.

What you build with

You rarely touch it directly

Calling WebGL by hand is uncommon. Most work is built with the tools below.

  • Libraries such as three.js and Babylon.js run on WebGL and WebGPU and take care of cameras, lighting and reading files.
  • Where turning the model is all that is needed, a tag-level tool such as model-viewer shows the 3D on its own.
  • Either way the file is prepared as GLB. Export USDZ alongside it to reach the AR viewer on iPhone.

Common questions

What has to be installed to see 3D?

Nothing at all. A web browser is enough.

Does it work on older devices?

It opens in any browser with WebGL 2. How smooth it feels is set by the graphics hardware, though, so heavy models are cut down first.

Show 3D on the web

Vi3w takes a 3D model and hands back a link that opens in a browser.