Alex Goldring (@SoftEngineer)
2026-01-12 | โค๏ธ 312 | ๐ 38
Virtual Textures in the Browser.
This is a WebGL 2.0 implementation I did in 2023.
The car model is from @Sketchfab by @matousekfoto. Itโs a worst-case for virtual textures because the texture is generated from photogrametry software and has pathologically bad UV layout.
The texture is 16,384 x 16,384 pixels, which is 180 Mb of PNG data. Loading this in Blender would crash Blender for me back then.
The GPU memory requirement for this texture is 1 Gb. The VT displays the model after loading just 34 Kb (one tile). The other tiles are fetched in via a smart priority queue in the background as you move camera around the scene.
The physical page texture is 2k, which is 16 times smaller than the source.
The solution supports multiple separate virtual textures, and has GLTF integration.
Texture filtering as well as anisotropy are fully supported as well.
You can try the demo yourself here: https://company-named.com/dev/prototypes/2023/10/virtual-texture/
Hereโs a writeup I did while working on this: https://discourse.threejs.org/t/virtual-textures/53353/26
The video recorded on a very crummy internet connection and I intentionally reload the page in the middle. The delay comes from the geometry download, actual texture part is near-instant.
๐ ์๋ณธ ๋งํฌ
- https://company-named.com/dev/prototypes/2023/10/virtual-texture/
- https://discourse.threejs.org/t/virtual-textures/53353/26
๋ฏธ๋์ด
![]()
๐ Related
Auto-generated - needs manual review