Add the renderer process

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]>
This commit is contained in:
dhkatzandClaude Opus 5.5 committed 2026-10-28 05:17:03 -07:00
1 parent 0d126574bf
commit 9a7d7d2908
18 files changed
+491 -57

No files matched your search

+33 -12
View File
@@ -3,29 +3,43 @@
"cmakeMinimumRequired": { "major": 3, "minor": 28, "patch": 0 },
"configurePresets": [
{
"name": "windows-x86",
"displayName": "Windows, 32-bit (Visual Studio Build Tools)",
"description": "IMVU Classic is a 32-bit Visual C++ program: build for Win32 with MSVC.",
"name": "windows",
"hidden": true,
"generator": "Visual Studio 18 2026",
"architecture": { "value": "Win32", "strategy": "set" },
"binaryDir": "${sourceDir}/build/${presetName}",
"installDir": "${sourceDir}/build/${presetName}/install",
"installDir": "${sourceDir}/build/install",
"condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Windows" }
},
{
"name": "windows-x86",
"inherits": "windows",
"displayName": "Adapter (32-bit)",
"description": "t5deRenderEngine.dll, loaded into IMVU Classic, a 32-bit Visual C++ program.",
"architecture": { "value": "Win32", "strategy": "set" }
},
{
"name": "windows-x64",
"inherits": "windows",
"displayName": "Renderer process (64-bit)",
"description": "t5de-renderer.exe, with Diligent Engine (fetched and built on the first configure).",
"architecture": { "value": "x64", "strategy": "set" }
}
],
"buildPresets": [
{ "name": "debug", "configurePreset": "windows-x86", "configuration": "Debug" },
{ "name": "release", "configurePreset": "windows-x86", "configuration": "Release" }
{ "name": "adapter-debug", "configurePreset": "windows-x86", "configuration": "Debug" },
{ "name": "adapter-release", "configurePreset": "windows-x86", "configuration": "Release" },
{ "name": "renderer-debug", "configurePreset": "windows-x64", "configuration": "Debug" },
{ "name": "renderer-release", "configurePreset": "windows-x64", "configuration": "Release" }
],
"testPresets": [
{
"name": "debug",
"name": "adapter-debug",
"configurePreset": "windows-x86",
"configuration": "Debug",
"output": { "outputOnFailure": true }
},
{
"name": "release",
"name": "adapter-release",
"configurePreset": "windows-x86",
"configuration": "Release",
"output": { "outputOnFailure": true }
@@ -33,11 +47,18 @@
],
"workflowPresets": [
{
"name": "release",
"name": "adapter",
"steps": [
{ "type": "configure", "name": "windows-x86" },
{ "type": "build", "name": "release" },
{ "type": "test", "name": "release" }
{ "type": "build", "name": "adapter-release" },
{ "type": "test", "name": "adapter-release" }
]
},
{
"name": "renderer",
"steps": [
{ "type": "configure", "name": "windows-x64" },
{ "type": "build", "name": "renderer-release" }
]
}
]