トップページ > 記事閲覧
描画先画面指定用定義について
名前:P 日時: 2024/09/15 22:38

いつもDXライブラリを使わせていただいています。 DxLib.hの464行目からのdefineされている FRONTとBACK以外のスクリーンは何に使用しているものでしょうか? #define DX_SCREEN_FRONT (0xfffffffc) #define DX_SCREEN_BACK (0xfffffffe) #define DX_SCREEN_WORK (0xfffffffd) #define DX_SCREEN_TEMPFRONT (0xfffffff0) #define DX_SCREEN_OTHER (0xfffffffa) 素材が320x240のサイズで、画像ごとにDrawExtendGraphなどを用いず、 一度描画したあとに一気にリサイズを行いたいです。 (もし、上記以外の方法でベストな方法があれば、お手数ですがご教示いただきたいです)
メンテ

Page: 1 |

Re: 描画先画面指定用定義について ( No.1 )
名前:管理人 日時:2024/09/16 21:41

> FRONTとBACK以外のスクリーンは何に使用しているものでしょうか? 私もどのような用途に使用していたか失念してまっていたので確認したところ DX_SCREEN_WORK と DX_SCREEN_TEMPFRONT は現在は使用していませんでした DX_SCREEN_OTHER はユーザーが指定した Direct3D 11 の RenderTargetView を描画対象にする場合に 使用する定義でした > 素材が320x240のサイズで、画像ごとにDrawExtendGraphなどを用いず、 > 一度描画したあとに一気にリサイズを行いたいです。 SetDrawScreen の引数にすることができる『描画対象にすることができるグラフィックハンドル』を 作成するための関数 MakeScreen を使用するとご希望の処理が実現できます 〜〜グローバル変数定義に追加する記述〜〜 // 仮画面のグラフィックハンドル int TempScreen; 〜〜初期化処理の箇所に追加する処理〜〜 // 320x240 の仮画面を作成 TempScreen = MakeScreen( 320, 240, FALSE ); 〜〜メインループに追加する処理〜〜 // 仮画面を描画対象に設定 SetDrawScreen( TempScreen ); ====描画処理==== // 描画先を裏画面に変更 SetDrawScreen( DX_SCREEN_BACK ); // 裏画面に仮画面を拡大描画 DrawExtendGraph( 0, 0, 画面の横解像度, 画面の縦解像度, TempScreen, FALSE ); // 裏画面の内容を表画面に反映 ScreenFlip(); よろしければお試しください m(_ _)m
メンテ
Re: 描画先画面指定用定義について ( No.2 )
名前:P 日時:2024/09/18 00:28

ご教示いただきありがとうございます。 追加で質問させてください。 興味本位なのですが、SetDrawScreenで画面を切り替えた際、 3D描画で使用するカメラの設定がリセットされるとありますが、どのような影響がでますか? 2Dには影響ないのはわかりますが、3Dの際の影響を知りたいです。 (例えば設定したカメラ位置を復帰させる必要あるとか) お手数ですがよろしくお願いします。
メンテ
Re: 描画先画面指定用定義について ( No.3 )
名前:管理人 日時:2024/09/19 16:45

> (例えば設定したカメラ位置を復帰させる必要あるとか) はい、お察しの通りカメラの位置も向きもリセットされますので、カメラの位置や向きを 改めて設定し直す( 復帰させる )必要があります
メンテ
Re: 描画先画面指定用定義について ( No.4 )
名前:P(解決済み) 日時:2024/09/20 00:43

上記内容、ありがとうございました。 また、リサイズの件もご提示いただいた方法で実装いたします。
メンテ

Page: 1 |

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

   クッキー保存