两个非常奇怪的SlimDX DX11错误

时间:2012-09-08 15:33:33

标签: c# directx slimdx directx-11

我正在将一些代码移植到我的框架中的最后阶段。

最新的问题与我最近发布的问题(Strange "The type arguments for method cannot be inferred from the usage.")非常相似,其中包含在'<'中的文字和'>'在列表中我丢失了移植代码。

最新的违规行是:

        using (var resource = SlimDX.Direct3D11.Resource.FromSwapChain(swapChain, 0))
            renderTarget = new SlimDX.Direct3D11.RenderTargetView(graphics, resource);

我从编译器中收到以下错误:

无法从用法中推断出方法'SlimDX.Direct3D10.Device.OpenSharedResource(System.IntPtr)'的类型参数。尝试显式指定类型参数。

我尝试通过将代码更改为:

来解决此问题
        using (var resource = SlimDX.Direct3D11.Resource.FromSwapChain<SlimDX.Direct3D11.Resource>(swapChain, 0))
            renderTarget = new SlimDX.Direct3D11.RenderTargetView(graphics, resource);

...但现在我遇到了一个更奇怪的运行时错误:

“错误:找不到方法'SlimDX.Direct3D11.Resource.FromPointerReflectionThunk'。”

最初的研究表明,我可能偶然发现了一些超出我头脑的东西:http://www.gamedev.net/topic/542095-slimdx-need-help-from-nativemanaged-interop-expert/

我所要做的就是将这段代码移植到我的框架中:http://www.aaronblog.us/?p=36 ...这就是使用DX11在SlimDX中绘制文本的全部内容。

在某些时候,我希望已经弄清楚如何将这些代码归一化到我的框架中。虽然很重要。

我正在使用SlimDX SDK(2012年1月)。

1 个答案:

答案 0 :(得分:2)

查看您引用的gamedev.net主题中的最后一篇文章 - 它表示您可以通过将类型参数指定为Texture2D来解决问题。

所以你可以试试:

using (var resource = SlimDX.Direct3D11.Resource.FromSwapChain<Texture2D>(swapChain, 0))
    renderTarget = new SlimDX.Direct3D11.RenderTargetView(graphics, resource);