我正在使用SlimDX,想知道是否可以在WPF的D3DImage中使用DirectX 10?我能找到的唯一示例和文档只展示了如何使用DX9表面。
是的,您可以使用D3DImage在WPF中使用DirectX 10、11和DirectWrite,只需将渲染目标表面创建为共享,然后基于该共享纹理句柄创建一个DX9纹理以在WPF中使用。
这意味着您可以像使用DX9一样使用10、11和DirectWrite,没有额外的开销,也没有空间问题。
在此博客文章中引用了一个具有DX9、DX10、DX11和DirectWrite集成的示例WPF项目:
Microsoft代码包包含Windows 7组件的薄型托管包装器,包括DX9、DX10、DX11和DirectWrite,以及Windows 7中的各种其他非托管库。
SurfaceQueueInteropHelper是一个WPF控件,它自动管理在WPF中创建DX9、10和11上下文,并管理D3DImage更新和渲染系统的各个方面,包括设备丢失事件。