我正在将一些代码移植到我的框架中的最后阶段。
最新的问题与我最近发布的问题(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月)。
答案 0 :(得分:2)
查看您引用的gamedev.net主题中的最后一篇文章 - 它表示您可以通过将类型参数指定为Texture2D
来解决问题。
所以你可以试试:
using (var resource = SlimDX.Direct3D11.Resource.FromSwapChain<Texture2D>(swapChain, 0))
renderTarget = new SlimDX.Direct3D11.RenderTargetView(graphics, resource);