トップページ > 記事閲覧
SetUse3DFlag(FALSE) 時、GraphFilterの縮小フィルタを使うと画像が表示されなくなる
名前:SmokingWOLF 日時: 2024/10/13 13:08

いつもDXライブラリにお世話になっております。 SetUse3DFlag(FALSE) を行った状況でGraphFilterのDX_GRAPH_FILTER_DOWN_SCALEを使用すると 画像が表示されなくなる現象を確認しましたのでご報告いたします。 【再現ソースコード】 #include "DxLib.h" int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { SetUse3DFlag(FALSE); // 3Dの機能を停止 // ★この行をコメントアウトすると画像が表示されます ChangeWindowMode(TRUE); // ウィンドウモードに if (DxLib_Init() == -1) { return -1; } // DXライブラリ初期化処理 int Handle = LoadGraph("Animal_Chicken.png");// 画像を読み込む int result = GraphFilter(Handle, DX_GRAPH_FILTER_DOWN_SCALE, 2);// 縮小フィルターを施す int result2 = DrawGraph(0, 0, Handle, TRUE);// 画像を画面に描画 DeleteGraph(Handle);// 読み込んだ画像のグラフィックハンドルを削除 // 正常と思われる返り値なら「正常終了」と表示 if (Handle != -1 && result == 0 && result2 == 0) { DrawString(30, 330, "正常終了", GetColor(255, 255, 255));//表示 } else { DrawString(30, 330, "エラー発生", GetColor(255, 255, 255));//表示 } WaitKey();// キー入力待ち DxLib_End(); // DXライブラリの後始末 return 0; // ソフトの終了 } 【テストに使用した画像】 silversecond.net/tmp/Animal_Chicken.png 【状況】 上記ソースコードを実行すると、Handleが「-1以外」、GraphFilterとDrawGraphの返り値が共に「0」となり 画面下部に「正常終了」という文字だけは表示されていますが、 表示されて欲しい画像が何も表示されない状態になります。 SetUse3DFlag(FALSE);の行をコメントアウトして実行すると、 同じく「正常終了」という文字が表示されますが、 こちらの方では期待通り、縮小された画像が画面に表示されます。 使用したDXライブラリはVer3.24e(10/13の12:30にダウンロードさせていただいたDxLibVCTest.zip)、 コンパイル環境はVisual Studio Community 2022の「x86」です。 よければ一度ご確認いただけますと幸いです。
メンテ

Page: 1 |

Re: SetUse3DFlag(FALSE) 時、GraphFilterの縮小フィルタを使うと画像が表示されなくなる ( No.1 )
名前:管理人 日時:2024/10/14 01:42

再現用のコードと画像をご提供いただきありがとうございます すみません、バグで SetUse3DFlag(FALSE) の状態では GraphFilter の DX_GRAPH_FILTER_DOWN_SCALE が正常に 動作しないようになっていました 修正版をこちらにアップしましたので、よろしければお試しください 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 12 用 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 // ソース (中身を既存のライブラリのファイルに上書きして『リビルド』をして下さい)
メンテ
Re: SetUse3DFlag(FALSE) 時、GraphFilterの縮小フィルタを使うと画像が表示されなくなる ( No.2 )
名前:SmokingWOLF(解決済み) 日時:2024/10/14 10:44

早々のご対応ありがとうございます! 無事に動作することを確認いたしました。 ソースコードもありがとうございました。 プレイヤーが仮想マシン上などでゲームを動作させる場合などに 3D機能なしのモードが意外に利用されているようなので、 対応してくださってとても助かりました。 今後も引き続き、素晴らしいライブラリを使わせていただきます!
メンテ
Re: SetUse3DFlag(FALSE) 時、GraphFilterの縮小フィルタを使うと画像が表示されなくなる ( No.3 )
名前:管理人(解決済み) 日時:2024/10/16 00:35

正常に動作したようで何よりです > プレイヤーが仮想マシン上などでゲームを動作させる場合などに > 3D機能なしのモードが意外に利用されているようなので、 > 対応してくださってとても助かりました。 なんと、そうなのですね 確かに仮想マシン上でGPUもエミュレートするのは難しそうですね… ( GPU の挙動を CPU でエミュレートしたらかえって遅そうですし… ) 3D機能ありの場合のみ使用できるグラフィック機能が増えてきたのでソフトウェアレンダリング( 3D機能なし )でも 使えるように改善したいのですが、ソフトウェアレンダリングのコードを追加すると 顕著にexeファイルのサイズが大きくなるので難しく… 悩ましい所です… (- -;
メンテ

Page: 1 |

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

   クッキー保存