トップページ > 記事閲覧
ID3D11Texture2Dを用いた描画
名前:やま 日時: 2018/10/28 17:15

管理人様、 Oculusでの開発を行っているものです。 GET_MIRROR_TEXTURE( )という関数でOculusからミラーリング済みのID3D11Texture2D* を取得しているのですが、 そのID3D11Texture2Dを用いて描画を実現する方法がわかりません。 以下のコードのように実現したいと考えております。 -------------------------------------------------------------- const void* p = GET_MIRROR_TEXTURE( );//OVRからID3D11Texture2Dが返ってくる int handle = DxLib::CreateGraphHandle_ID3D11Texture2D( p ); DxLib::DrawGraph( 0, 0, handle, TRUE ); -------------------------------------------------------------- int CreateGraphHandle_ID3D11Texture2D( void* texture2d ) 上記のようにID3D11Texture2Dを渡すとグラフィックハンドル返すような関数の実装は可能でしょうか? また、下記のようにID3D11DeviceContext::CopyResource()を用いた方法で描画しようと試したところ、裏画面への描画ができました。 -------------------------------------------------------------- //OVRのTexture2Dのサイズは1280*720 //SetGraphMode()のサイズは1280*720 ID3D11Texture2D* p = GET_MIRROR_TEXTURE( );//OVRからTexture2Dが返ってくる ID3D11DeviceContext* context = (ID3D11DeviceContext*)DxLib::GetUseDirect3D11DeviceContext( ); context->CopyResource( ( ID3D11Texture2D* )DxLib::GetUseDirect3D11BackBufferTexture2D( ), p ); //裏画面へコピーを行う DxLib::ScreenFlip( );//裏画面を表画面へ反映 --------------------------------------------------------------
メンテ

Page: 1 |

Re: ID3D11Texture2Dを用いた描画 ( No.1 )
名前:管理人 日時:2018/10/28 22:22

> int CreateGraphHandle_ID3D11Texture2D( void* texture2d ) > 上記のようにID3D11Texture2Dを渡すとグラフィックハンドル返すような関数の実装は可能でしょうか? はい、可能です 早速実装してみましたので、よろしければこちらをダウンロードしてください m(_ _)m https://dxlib.xsrv.jp/temp/DxLibVCTest.zip // Windows版 VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.zip // Windows版 BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCC2Test.zip // Windows版 C++ Builder 10.2 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.zip // Windows版 MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // Windows版 .NET用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.zip // ソース (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい) 以下の関数を追加しました( 関数名は CreateGraphFromSoftImage などと同じようなものにしました ) // ID3D11Texture2D からグラフィックハンドルを作成する int CreateGraphFromID3D11Texture2D( const void *pID3D11Texture2D ) ; 尚、DeleteGraph でグラフィックハンドルを削除しても渡した ID3D11Texture2D は解放されませんので、解放処理は自前で行ってください m(_ _)m
メンテ
Re: ID3D11Texture2Dを用いた描画 ( No.2 )
名前:やま(解決) 日時:2018/10/30 11:22

対応ありがとうございました。 確認したところ、無事に描画することができました。 ありがとうございました。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存