Wrap IMVU's Direct3D renderer in the pass-through
IMVU's OpenGL renderer needs a real graphics driver; Direct3D also runs on Windows' basic display driver and is what most players use. The log can now be read while the client runs. Verified in rooms: every call goes through. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
dc643d271b
commit
3c28a8794b
6 files changed
+52
-35
No files matched your search
@@ -112,4 +112,16 @@ static_assert(sizeof(PiRenderEngine) == 12, "vtable pointer, magic, size");
|
||||
using IsRenderEngineSupported = int(__cdecl*)();
|
||||
using CreateRenderEngine = SharedPtr<PiRenderEngine>(__cdecl*)(SharedPtr<INativeWindow> window);
|
||||
|
||||
// The renderers SceneWindow.dll's createRenderer makes (values from _avatarwindow.pyd's RendererType).
|
||||
enum class RendererType : int {
|
||||
Direct3D = 1, // RenderEngineDx, Direct3D 9
|
||||
OpenGL = 2, // the plugin glRenderEngine.dll
|
||||
SwiftShader = 9, // RenderEngineDx on swiftshader.dll
|
||||
};
|
||||
|
||||
// SceneWindow.dll's createRenderer(boost::shared_ptr<INativeWindow>, RendererType), exported by this name.
|
||||
using CreateRenderer = SharedPtr<PiRenderEngine>(__cdecl*)(SharedPtr<INativeWindow> window, RendererType type);
|
||||
inline constexpr const char* createRendererName =
|
||||
"?createRenderer@@YA?AV?$shared_ptr@VPiRenderEngine@@@boost@@V?$shared_ptr@VINativeWindow@@@2@W4RendererType@@@Z";
|
||||
|
||||
} // namespace t5de::imvu
|
||||
Reference in new issue
Block a user