使用D3DImage在WPF环境中使用某些图形卡通过SharpDX进行渲染时,我遇到了一个奇怪的问题。
我正在使用DirectX11,它通过D3D9纹理使用此处的代码绑定到D3Dimage:http://directx4wpf.codeplex.com/,尽管我还设法通过在SharpDX示例中运行WPFHost示例来重现问题。 / p>
问题是对ClearRenderTargetView的调用似乎不会影响视图端口中不受绘制调用影响的像素块。在下图中,我在使用红色调用ClearRenderTargetView后渲染灰色多边形。左边的图像是单个渲染后的图像,右边的图像是稍微缩小后的图像 - 注意视图没有清除。如果我只是简单地拨打清除电话而没有任何抽奖电话,我什么也看不见。
仅在使用Intel HD4000集成显卡(W7 64位)的笔记本电脑上运行时才会出现此问题。在通过专用GT 650M或我的开发台式机(W8,GTX645)运行时,我不会在同一台笔记本电脑上出现问题。
如果我使用HD4000直接在Windows窗体主机中使用DX11运行相同的代码,我就不会遇到问题。
使用DirectX和SharpDX对我来说是新的,我正在尝试对现有的WPF应用程序进行一些图形改进。到目前为止,部署似乎很头疼......
可能导致此问题的任何想法,以及可用的修复或变通方法?我想到的一件事(但未尝试过)是创建一个完全填满屏幕的可绘制对象(例如透明四边形),因为这需要每个像素块被触摸"。虽然看起来不是一个很好的主意。
感谢, 马特