SlimDXのD3D10とD3D11の間でテクスチャを共有するためのコードを実装しようと頭を悩ませています。
この方法は問題を引き起こしています:
public void InitialiseTextureSharing()
{
// A DirectX10 Texture2D sharing the DirectX11 Texture2D
sharedResource = new SlimDX.DXGI.Resource(textureD3D11);
textureD3D10 = device10_1.OpenSharedResource(sharedResource.SharedHandle); // This fails to compile!
}
コンパイラから次のエラーが発生します。
メソッド'SlimDX.Direct3D10.Device.OpenSharedResource(System.IntPtr)'の型引数は、使用法から推測できません。タイプ引数を明示的に指定してみてください。
(私にとって)奇妙なことは、このコードは、動作するはずの誰かから直接移植されているということです。元のコードは次のとおりです。
// A DirectX10 Texture2D sharing the DirectX11 Texture2D
SlimDX.DXGI.Resource sharedResource = new SlimDX.DXGI.Resource(textureD3D11);
SlimDX.Direct3D10.Texture2D textureD3D10 = device10_1.OpenSharedResource(sharedResource.SharedHandle);
私の実装との違いは、SlimDXフォームで「sharedResource」オブジェクトと「textureD3D10」オブジェクトをインスタンス化していることです。
私は確かにコンパイルエラーを予期していませんでした。私がこれに基づいているコードは次のとおりです:http ://www.aaronblog.us/?p = 36...これはすべてDX11を使用してSlimDXでテキストを描画することに関するものです。
私はこれに完全に困惑しています。私は同様の問題の解決策を含む投稿を見てきましたが、これを私のものに適応させることは現在私を超えています。
すべてのポインタは非常に高く評価されます。
アップデート:
SlimDX APIドキュメントからのOpenSharedResourceの署名:
http://slimdx.org/docs/html/M_SlimDX_Direct3D11_Device_OpenSharedResource__1.htm
...およびリソース: http ://slimdx.org/docs/html/T_SlimDX_DXGI_Resource.htm