DirectX 和 WPF
我正在尝试开发一个应用程序,其中UI部分是由WPF设计的,引擎是使用C++开发的。 我试图通过使用 WindowsFormsHost 方法从 WPF 获取窗口句柄,在本机代码中使用 DirectX 渲染场景。
虽然我没有收到任何错误,但屏幕上没有呈现任何图像。
就句柄而言,我没有看到问题,因为当我使用本机代码中的相同句柄使用 OpenGL 渲染场景时,它可以正常工作。
就初始化部分和渲染部分而言,我没有看到问题,因为同一部分代码在单独的 Win32 项目中运行良好。
造成这个问题的原因可能是什么? 使用的 DirectX 版本是 DirectX10,使用的操作系统是 Vista。
提前致谢。
I am trying to develop an application where the UI part is designed by WPF and the engine is developed using C++.
I am trying to render a scene using DirectX in native code by getting the window's handle from WPF using WindowsFormsHost method.
Though i do not get any error, no image renders on the screen.
As far as the handle is concerned, I dont see a problem because when i render the scene using OpenGL using the same handle in native code, it works properly.
As far as the initialization part and rendering part is concerned, I dont see a problem because the same part of code works fine in a separate Win32 project.
What might be the cause of this problem?
The version of DirectX being used is DirectX10 and OS used is Vista.
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为您的问题可能是由于 WPF 也使用 DirectX 来渲染窗口这一事实引起的。 OpenGL 可能只是通过不同来解决这个问题。
如果您想在 WPF 应用程序中渲染 DirectX,请查看使用 D3DImage。
http://www.codeproject.com/KB/WPF/D3DImage.aspx
I think your problem might be caused by the fact that WPF is also using DirectX to render the window. OpenGL probably gets around the issue just by being different.
If you want to render DirectX in a WPF app, have a look at using D3DImage.
http://www.codeproject.com/KB/WPF/D3DImage.aspx