Hi all,
I am currently working on a plugin to integrate NoesisGUI into UE4.
To do so, I do need to get provided with the current ID3D11Device (the same goes for ID3D9Device if there is some.)
I will look onto the OpenGL side afterward.
Right now, I have been searching through source code and documentation…
All I found would be a function “RHIGetNativeDevice()”… I though at the beginning “Wow ! This is cool ! :D”…
Until I realize that this function does only return a nullptr ?
If you have any idea or workaround to get access to it. I am at the moment not used enough to UE4 programming rules and code to find out by myself…
I’ve been wandering around the net for ours without finding anything positive…
Thanks a lot !
Erio.
EDIT:
Hi all.
“Small” update on the topic.
From what I’ve seen whilst wandering in the middle of the doc and source files:
On the documentation page here : FDynamicRHI | Unreal Engine 5.2 Documentation
We can see two class inheriting FDynamicRHI:
**- FNullDynamicRHI
- FOpenGLDynamicRHI**
I pursued my searches wondering why we would get access to OpenGL RHI and not to Windows one
I downloaded the source code of UE 4.3 and started to search a bit everywhere and nowhere for some D3D11 stuffs. this is where I ended finding the declaration of FD3D11DynamicRHI and the function I am seeking from the beginning: ID3D11Device *FD3D11DynamicRHI::GetDevice().
From what I see and understand, FD3D11DynamicRHI is private. Which is a big problem.
I am wondering if this is normal, if this is a choice or if this could be fixed so plugin developpers can get acces to ID3D11Device as we would for OpenGL ?
I will pursue my investigations to get a way to use it.
The definition is located in the
Engine\Source\Runtime\Windows\D3D11RHI\Private
Thanks