The full view is now the default. While the renderer process covers the whole view (Channel::covering, set after each frame it presents), the adapter skips the client's renderer's clears and draws, decided per frame; the client's renderer still gets state and resources, and draws again as soon as the renderer process stops covering the view. The client's window no longer gets WS_CLIPCHILDREN: the client draws when its window gets WM_PAINT, which a window entirely covered by clipped children never gets (it fell to about one frame a second). The flip model swap chain shows above the client's drawing anyway. 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.