Hello, everyone!
I've been building a 3D and HDR viewer plugin for Directory Opus. It's called Heimdall3D, and everything in the pictures below was rendered by it from the files on disk:
Download Heimdall3D (version 1.0.13, Windows 10 and 11)
It is completely integrated into Directory Opus:
Every 3D file and HDR image in a folder draws its own thumbnail, rendered from the file. Select a model and it opens in the preview pane, where you can orbit it and play its animation. HDR images keep their full floating point range, with exposure controls and the pixel value under the pointer.
This started as an Opus plugin and it still is one first. It has grown into a substantial codebase since I first posted here, and it now has a second half as well.
Windows Explorer and the Microsoft Store
Heimdall3D also works on a plain Windows install with no Directory Opus on it. There it gives Windows Explorer the same thumbnails and preview pane, and a viewer window opens when you double-click a file. The installer asks which hosts you want it in, and both are ticked.
The Explorer half is also on the Microsoft Store, so it installs and updates like any other Store app. The Opus plugin isn't in that package. A packaged app may not write into another program's folder, and the plugin lives in the Opus one, so it comes from the installer on heimdall3d.com. The pricing page explains the split.
Independent decoding and rendering
Heimdall3D decodes and renders every file itself. It does not use Microsoft's Mixed Reality Viewer, which is what Directory Opus otherwise goes through for 3D previews.
Anyone who owned a Microsoft VR headset probably remembers the frustration when support was dropped. I have two headsets sitting beside me that are now essentially bricked.
Heimdall3D's format support does not depend on what Microsoft installs, removes, or changes. Mixed Reality Viewer is no longer preinstalled on Windows 11, and animation that once worked through it stopped after a Windows update.
The whole pipeline runs through Vulkan on whatever GPU is already in your machine: materials, textures, skinning, shadows, environment lighting and tone mapping. I wrote most of the decoders myself. glTF comes in through cgltf, FBX through ufbx, EXR through OpenEXR and KTX2 through Basis Universal, each pinned at a version and compiled into the binary. Everything ships in one binary with no runtime dependencies.
Supported formats
I only list a model format when its materials, textures, skeleton and animation load too, where the format has them.
Models and motion capture: glTF and GLB, including meshes compressed with Draco or meshopt and textures stored as WebP or Basis. FBX. VRM, read as the glTF it is. OBJ with its .mtl. PLY, ASCII and both binary byte orders. 3DS. 3MF. STL. BVH.
COLLADA opens with its geometry, materials, textures and scene graph. Its animation and skin controllers aren't read yet, so a rigged .dae opens in bind pose. That's the next format work.
HDR images and textures: EXR, Radiance .hdr and .pic, PFM, DDS down to BC7, KTX2 and Basis, and TIFF in both spellings.
PNG, JPEG, WebP and TGA are decoded as the textures inside a model. As files of their own I leave them to Opus, which handles them well already.
Every listed format gets thumbnails, the preview pane and the viewer window, in Opus and in Explorer. If a format you use is missing, tell me which one. Requests decide what gets added next.
More than a basic preview
In the preview pane and the viewer window you can:
- Orbit and inspect models
- Change the lighting and the environment map
- Add up to three point lights, each with its own colour or Kelvin temperature
- Place models on a floor
- Enable depth of field, outlines and cartoon shading, while a clip keeps playing
- Swap every material for a UV checker, to find stretched or overlapping UVs
- Play and inspect animations
These are purely viewing options and never modify the original file.
The ratified glTF material extensions all render, on opaque surfaces and on glass: sheen, anisotropy, clearcoat, iridescence, specular, transmission and IOR. Velvet gets its pale rim, brushed metal stretches its highlight along the grain, and a cut stone with dispersion splits the light into colour.
Motion capture is supported too. If a BVH or FBX file contains a skeleton and animation but no visible mesh, Heimdall3D retargets it onto a mannequin. You can watch the motion instead of staring at an empty preview.
There are also tools for creating images. For example, you can load a motion capture animation and render it from eight directions to create a sprite atlas for a 2D game, or record a model as a turntable. I intend to keep adding tools like this, so please keep the requests coming.
Thumbnails come from a useful camera angle, and a motion capture file shows the mannequin in a representative pose. On my machine a model with 350,000 triangles takes about 1.2 seconds to render, and the result is cached, so opening the folder again costs nothing. HDR, EXR and DDS files show their pixel dimensions in the file list.
The renderer also runs in a separate process. If a particularly hostile file manages to crash it, Directory Opus stays alive.
What is free and what a licence buys
Looking is free and does not expire. Thumbnails, the preview pane and the viewer window need no key and no account, on every supported format, in Opus and in Explorer. Install it, run it on your own files, and you'll know it works on your machine before you pay anything.
A licence buys the four actions that get a picture out of the viewer: saving an image, copying a frame to the clipboard, rendering a sprite sheet, and recording a turntable or animation clip. The key is checked on your own machine with no activation and no network, and one key covers both hosts. Details are on the pricing page.
What you need
Windows 10 or 11, 64-bit, and Directory Opus 13 for the plugin. The renderer wants a graphics card with Vulkan 1.2 or newer, on NVIDIA, AMD or Intel. A machine without one still gets thumbnails and an orbitable preview.
Where I'd still like your help
It works well on my machines, but I can't see how it runs on yours.
I deliberately do not have an NVIDIA card in my development machine right now. After my RTX 3090 died, I replaced it with an Intel Arc B580. That serves the project quite well, since it keeps me honest about the middle of the range, but it does mean I see fewer NVIDIA and AMD systems than you do.
So try it, run it, and complain if a feature that "obviously" belongs there is missing. =)
I'm particularly interested in:
- Files that fail to open or render incorrectly. I genuinely want to see them.
- Unusual FBX and BVH files, since exporters tend to disagree most about these formats.
- Large EXR files, especially those with alpha channels or layers you depend on.
- NVIDIA and AMD systems, and laptops with switchable graphics.
I'm not affiliated with GPSoftware, and Heimdall3D is not endorsed by them. But I like them a lot!
I will always support Directory Opus, as it has supported us.
Take care,
give it a try, let me know what you think!

