我想要做的是让Windows应用程序启动另一个Direct3D应用程序,并将Direct3D应用程序渲染到父进程提供的控件中。
这甚至可能吗?如果是,怎么办呢?
答案 0 :(得分:5)
可以轻松完成,只需在创建D3DDevice时将HWND窗口id作为参数传递即可。 它甚至可以在互操作期间工作 - 你可以将hWnd从.NET传递给C ++并使用native directX渲染C#窗口。
答案 1 :(得分:1)
这是一个示例,在现有的Win32窗口中托管WPF窗口的内容。我在编写基于WPF的屏幕保护程序时这样做,必须渲染到屏幕保护程序的小预览窗口。
http://stuff.seans.com/2008/09/01/writing-a-screen-saver-in-wpf/
答案 2 :(得分:0)
这是可能的。我记得在编写屏幕保护程序时在VB6中这样做。屏幕保护程序控制面板使用预览窗口的HWND向屏幕保护程序发送命令行。使用该HWND,您可以获得HDC,并从那里获得您需要的一切。