The point the camera looks at is its position plus an offset (setCameraFocus, at each tick), so between ticks it now moves with the eased position: panning moves the target the position eases to, and was still at 30 per second. Between ticks, an animation is moved on at the rate it moved at the last step (per tick: the client steps several ticks at once when it falls behind), not only when it moved exactly a frame: animations played at other speeds were posed at the tick, between smooth ones. The engine's stats also log the longest time between frames. 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.