The adapter records everything the client draws (state, transforms, lights, fog, textures and buffers) as a command stream, sent in chunks through the shared memory channel, while IMVU's Direct3D renderer still draws the whole view. The renderer process draws it with Diligent, with shaders reproducing IMVU's Direct3D 9 fixed-function setup, over the right half of the 3D view to compare. It skips to the newest frame when it falls behind, and logs its errors and frame times. Co-Authored-By: Claude Opus 5.5 <[email protected]>
t5de-renderer
A new 3D renderer for the IMVU Classic client. Part of T5DE; unofficial, not affiliated with IMVU.
Two programs (docs/architecture.md): an adapter, t5deRenderEngine.dll, which IMVU Classic loads as a renderer
plugin, and a 64-bit renderer process, t5de-renderer.exe, which draws with
Diligent Engine. For now the client's own Direct3D renderer still
draws the scene, and the renderer process proves the setup by drawing a small box over it. docs/interface.md has
what we know of IMVU's renderer interface.
Building
Needs Visual Studio Build Tools 2026 (the C++ workload) and CMake 3.28 or newer. One preset per program:
cmake --workflow --preset adapter # build/windows-x86/adapter/Release/t5deRenderEngine.dll, and the tests
cmake --workflow --preset renderer # build/windows-x64/renderer/Release/t5de-renderer.exe
The renderer's first configure fetches Diligent Engine (pinned in renderer/CMakeLists.txt) and builds it, which
takes a while.
Trying it
Copy both programs into a T5DE client folder built with the t5de-renderer patch, which has the OpenGL setting load
the adapter in place of glRenderEngine.dll, then choose OpenGL in Settings > Advanced. The adapter's log is
%TEMP%\t5de-renderer.log.