トップページ > 記事閲覧
GetUseDirect3D11BackBufferTexture2Dが対応するscreenについて
名前:名無三 日時: 2020/04/11 19:45

再度の質問失礼いたします。 GetUseDirect3D11BackBufferTexture2D関数についてなのですが、こちらはDX_SCREEN_BACKのバッファのみ対応ということで正しいでしょうか?
メンテ

Page: 1 |

Re: GetUseDirect3D11BackBufferTexture2Dが対応するscreenについて ( No.1 )
名前:管理人 日時:2020/04/13 05:42

> GetUseDirect3D11BackBufferTexture2D関数についてなのですが、こちらはDX_SCREEN_BACKのバッファのみ対応ということで正しいでしょうか? はい、Direct3D 11 で動作している場合に内部処理で使用されているバックバッファーの Texture2D を取得する為の機能ですので、DXライブラリで言う所の DX_SCREEN_BACK の Texture2D を取得する機能となります
メンテ
Re: GetUseDirect3D11BackBufferTexture2Dが対応するscreenについて ( No.2 )
名前:名無三 日時:2020/04/13 22:59

ありがとうございます、Texture2Dを出力するサイズとデスクトップに出すウィンドウサイズに差があったので他の方法がないかと思いましたが、このままいきます。 続いて2つ質問です。 1: SetDrawScreen(DX_SCREEN_BACK); ClearDrawScreen(); DrawExtendGraph(0, 0, dispx, dispy, screenbuf[i], TRUE); DrawBox(0, 0, 1, 1, GetColor(255, 255, 255), TRUE);//ここで何か書かないと反映できない? tex = (ID3D11Texture2D*)GetUseDirect3D11BackBufferTexture2D(); というようなかたちでTexture2Dを取得しているのですが、DrawBoxの部分がないとDrawExtendGraphで書いた部分が反映されません。こちらも仕様ということでよろしいでしょうか? 2: GetDesktopScreenGraphで1920*1080の範囲を取得した際30fps程度で出力されていますが、より高速に取得することは可能でしょうか?
メンテ
Re: GetUseDirect3D11BackBufferTexture2Dが対応するscreenについて ( No.3 )
名前:管理人 日時:2020/04/15 08:46

> 1.というようなかたちでTexture2Dを取得しているのですが、DrawBoxの部分がないとDrawExtendGraphで書いた部分が反映されません。こちらも仕様ということでよろしいでしょうか? すみません、バグです 高速化のために DrawExtendGraph や DrawBox は描画処理がキャッシュされて、 最後( 若しくは別カテゴリの描画関数が呼ばれた際 )に纏めて描画されるのですが、 GetUseDirect3D11BackBufferTexture2D の中で『キャッシュしていた描画処理を行う』 をしていませんでした 修正版をアップしましたので、よろしければお試しください 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.3 用 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 // ソース (中身を既存のライブラリのファイルに上書きして『リビルド』をして下さい) > 2:GetDesktopScreenGraphで1920*1080の範囲を取得した際30fps程度で出力されていますが、より高速に取得することは可能でしょうか? 少し調べたところ、もう少し高速に画像を取得する方法があったのでちょっと試してみます 数日程( あるいは次の週末まで… )お待ちください m(_ _)m
メンテ
Re: GetUseDirect3D11BackBufferTexture2Dが対応するscreenについて ( No.4 )
名前:名無三 日時:2020/04/15 19:49

> GetUseDirect3D11BackBufferTexture2D 修正感謝します、DrawBox無しに描画できました! > GetDesktopScreenGraph 承知しました、お待ちしております。 僭越ながら、可能であれば8ms以内の時間で取得できますと嬉しいです。
メンテ
Re: GetUseDirect3D11BackBufferTexture2Dが対応するscreenについて ( No.5 )
名前:名無三 日時:2020/04/16 14:34

すいません、更に要望です。 DXLIB_Init前に行ってしまった画像読み込みなどをDXLIB_Initの処理後に再度行えればと思います。 DXLIB_Initの処理が完了しているかを取得する関数があると嬉しいです。
メンテ
Re: GetUseDirect3D11BackBufferTexture2Dが対応するscreenについて ( No.6 )
名前:管理人 日時:2020/04/19 05:30

GetDesktopScreenGraph の高速化ができましたので、よろしければこちらの バージョンをダウンロードしてください 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.3 用 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 // ソース (中身を既存のライブラリのファイルに上書きして『リビルド』をして下さい) 因みに、GetDesktopScreenGraph に渡すグラフィックハンドルが MakeScreen で作成した グラフィックハンドルではない場合はあまり高速ではありませんので、必ず MakeScreen で 作成したグラフィックハンドルを GetDesktopScreenGraph に渡すようにしてください あと、Windows8 から実装されている機能を使用しての高速化なので、Windows7以前では高速化されません > 僭越ながら、可能であれば8ms以内の時間で取得できますと嬉しいです。 今までよりも高速に処理できるAPIを使用しましたが、8ms以内になっているかどうかは不明です ( PCの性能にもよると思いますし… ) > DXLIB_Initの処理が完了しているかを取得する関数があると嬉しいです。 DxLib_IsInit という関数がありますので、よろしければお使いください m(_ _)m // ライブラリが初期化されているかどうかを取得する // 戻り値 TRUE:初期化されている FALSE:初期化されていない int DxLib_IsInit( void ) ;
メンテ
Re: GetUseDirect3D11BackBufferTexture2Dが対応するscreenについて ( No.7 )
名前:名無三(解決感謝) 日時:2020/04/19 10:09

> GetDesktopScreenGraph の高速化ができましたので ほぼノータイムで取得できています、素晴らしいです! > DxLib_IsInit という関数がありますので、よろしければお使いください m(_ _)m そちらの関数のほうがございましたのですね、承知しました。 ありがとうございます!
メンテ

Page: 1 |

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

   クッキー保存