FastHDR Environment Lighting
Ultra-fast, high-quality HDR environment lighting for 3D web scenes. 10x faster than EXR, 95% less GPU memory, works great on mobile and low-end devices. Available in Unity and Blender.
Beautiful environment lighting that loads in milliseconds, uses almost no VRAM, and requires zero CPU processing β perfect for every device, including low-end phones and tablets.
:::tip At a glance Your environment lights up in 134 ms instead of 1,200 ms. Your GPU uses 12 MB instead of 256 MB. Your users download 2 MB instead of 6 MB. Your main thread does nothing β zero processing, zero frame drops. And it looks identical to what you see in your editor. :::
Why FastHDR?
FastHDR is a GPU-native environment map format built on KTX2 supercompression (UASTC HDR 4x4). Unlike EXR, FastHDR files stream directly to GPU memory β no decompression on the main thread, no frame drops, no stalling. No other web 3D framework offers this β it's a Needle Engine exclusive.
Here's what that means in practice:
Budget phones stay smooth. A $150 Android that chokes on a 256 MB EXR texture runs FastHDR without breaking a sweat β because it only needs 12 MB of VRAM vs 256 MB with EXR
Pages load instantly. Your 4K environment is ready in 134 ms. That's faster than most images on the web
No stutter, ever. Traditional HDRIs block the main thread for decompression and mip generation. FastHDR skips all of that β the GPU handles everything directly
Smaller downloads. 75% smaller than EXR. Your users on mobile data will thank you
Every device, every browser. No special libraries, no polyfills, no fallbacks. It just works
Full quality. Pre-computed PMREM gives you physically accurate reflections and lighting β no shortcuts
Size & Performance Comparison
EXR
UltraHDR
FastHDR π΅
2K File Size
5.6 MB
2.1 MB
1.9 MB β
3x smaller
2K GPU Memory
64 MB
69 MB
3 MB β
21x less
4K Load Time
~1,261 ms
~268 ms
~134 ms β
10x faster
4K File Size
21.2 MB
8.2 MB
7.3 MB β
3x smaller
4K GPU Memory
256 MB
277 MB
12 MB β
21x less
CPU Processing
Heavy
Heavy
None β
zero work
Frame Drops
Likely
Likely
None β
zero frame drops
Perfect for:
Mobile-first 3D experiences
Product configurators with realistic reflections
Architectural visualization
Any scene where loading speed and quality both matter
Every device β from budget phones to high-end desktops, everyone benefits from faster loading and lower memory usage
Quick Start
:::tip Works with Unity and Blender FastHDR is available in both Unity and Blender integrations starting with Needle Engine 4.17.0. :::
In Unity or Blender
Use any .exr file β Needle Engine handles the rest:
Open your Needle Engine project
Set your scene's Environment Lighting to any
.exrHDRIWhen you build for production, Needle Engine's optimization pipeline automatically converts it to FastHDR
That's it! Your deployed scene loads with ultra-fast, high-quality lighting
No extra setup required β FastHDR conversion happens automatically during the Needle Engine build optimization step.
Via HTML Attribute
For code-only or three.js projects, use pre-processed FastHDR files from the Needle HDR Library:
You can also use built-in presets without any URL:
Free HDR Library
Browse 27+ free FastHDR environments at cloud.needle.tools/hdris β indoor studios, outdoor landscapes, cityscapes, and more. All ready to use, all in FastHDR format.
How It Works
Traditional HDR workflows load a large .exr file, decompress it on the CPU, generate PMREM mip levels, and then upload to the GPU. This is slow, blocks the main thread, and consumes huge amounts of VRAM.
FastHDR eliminates all of this. During Needle Engine's production build optimization:
PMREM is pre-computed β no runtime mip generation
KTX2 UASTC HDR 4x4 β GPU-native compressed texture format
Hardware transcoding β the GPU decompresses the data directly, no CPU work
Web worker loading β file fetching and parsing happen off the main thread
The result: your lighting appears almost instantly with zero impact on frame rate.
Common Questions
Do I need to change my workflow? No. If you're using Unity or Blender, your existing HDRI environment maps are automatically converted to FastHDR during the production build optimization step.
Can I use my own custom HDRIs?
Yes. When using Unity or Blender, any .exr file you assign as environment lighting will be converted to FastHDR automatically when building for production.
Does FastHDR work on all devices? Yes. The KTX2 UASTC HDR format is supported across all modern browsers and GPUs. This is what makes it especially great for low-end devices.
What about three.js / React-Three-Fiber projects?
FastHDR files (.ktx2) can be loaded directly with three.js KTX2Loader. See the three.js integration docs for details.
Can I use FastHDR for just the background, or just lighting?
Yes. The background-image and environment-image attributes are independent β you can use FastHDR for one or both.
See Also
FastHDR In-Depth Article β Technical deep dive on how FastHDR works
Needle HDR Library β Free FastHDR environments
<needle-engine>Attributes β Web component configurationScripting Examples: Environment & Lighting β Code snippets
Optimization Guide β Performance best practices
Last updated