Sign in to follow this  

[.net] D3D Device from C# to unmanaged C++

This topic is 3719 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi All, Here is my problem: On one hand C# is great for fast dev and UIs, but on the other hand I have a huge - rather non trivial - code base in (unmanaged) C++ / DirectX. So, quite obviously, I would like to create a D3D device from C# and invoke unmanaged C++ methods, passing the device pointer to them (IDirect3DDevice9*), so that rendering can happen from unmanaged C++. Does anyone have experience on this? I have searched the forum (hope I did not miss the answer), but most posts are about interop between managed/unmanaged C++ - What I would like is C# to unmanaged C++. I know window handles (HWND) can be passed btw C# and a C++ DLL, but initializing the device on C# side seems much more elegant (and, let's face it, so much easier!). Thanks! Sylvain.

Share this post


Link to post
Share on other sites
You want Device.UnmanagedComPointer.

It returns a pointer to the unmanaged device. Pass it to c++, cast it to an IDirect3DDevice9*, and you should be set.

Share this post


Link to post
Share on other sites

This topic is 3719 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this