The renderer becomes two programs: the adapter (t5deRenderEngine.dll, 32-bit, in IMVU's process) and a 64-bit renderer process (t5de-renderer.exe) drawing with Diligent Engine, fetched with FetchContent and pinned. For now a spike: the adapter starts the renderer process for each engine and signals each frame through a shared memory channel, and the renderer process draws a box into a child window in the client's 3D view. Co-Authored-By: Claude Opus 5.5 <[email protected]>
29 lines
1.3 KiB
Markdown
29 lines
1.3 KiB
Markdown
# t5de-renderer
|
|
|
|
A new 3D renderer for the IMVU Classic client. Part of [T5DE](https://git.t5de.dev/t5de/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](https://github.com/DiligentGraphics/DiligentCore). 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:
|
|
|
|
```sh
|
|
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`.
|