ページ 11

フルスクリーンと解像度について

Posted: 2012年4月12日(木) 21:47
by thaz
DXライブラリを使用して、解像度512×448のゲームを作っています。
windowモード、フルスクリーンを切り替えられるようにしたいのですが、
フルスクリーンにする場合、ビデオカードが指定の解像度に対応している必要があるということで、
フルスクリーンにする場合、windowモードで解像度を640×480に再設定してDx_Init()してからフルスクリーンにする、
という処理をしているのですが、切り替えは数十秒かかるし、windowモードに戻すときも
一時的に640×480のwindowが表示され見栄えが悪いです。

FCのエミュレータなどでは解像度が512×448などでもフルスクリーン化してくれ、しかもスムーズかと思います。
何か定石のようなものがあるのでしょうか?

Re: フルスクリーンと解像度について

Posted: 2012年4月12日(木) 23:45
by ISLe
thaz さんが書きました:FCのエミュレータなどでは解像度が512×448などでもフルスクリーン化してくれ、しかもスムーズかと思います。
何か定石のようなものがあるのでしょうか?
いまどきは512x448のビットマップ(いわゆるオフスクリーン)に描画して高解像度のディスプレイに引き伸ばして描画するのが王道だと思います。
画面モードを切り替えないのでスムーズですし、引き伸ばしもグラフィックボードのハードウェア機能で高速に処理できます。
512x448をアンチエイリアスかけて引き伸ばすと思いっきりボケるのでオフスクリーンを整数倍にするなどの工夫が必要になる場合もあります。

ちなみに現在は640x480のフルスクリーンに対してどのように描画しているのでしょう。
中央に配置ですか?

Re: フルスクリーンと解像度について

Posted: 2012年4月13日(金) 01:42
by thaz
早速のコメントありがとうございます。
仰るとおり、640×480の中央に配置しております。

「画面モードを切り替えない」というのは、フルスクリーンモードにはしなくてよい、ということでしょうか?

Re: フルスクリーンと解像度について

Posted: 2012年4月13日(金) 10:29
by softya(ソフト屋)
thaz さんが書きました:早速のコメントありがとうございます。
仰るとおり、640×480の中央に配置しております。

「画面モードを切り替えない」というのは、フルスクリーンモードにはしなくてよい、ということでしょうか?
画面モードを切り替えないというのは、今現在のデスクトップの画面モードを取得してDXライブラリをそれに合わせてフルスクリーンにすると言う手法です。

↓ 参考にどうぞ
「いろんなパソコンやモニターで全画面表示」
http://hpcgi2.nifty.com/natupaji/bbs/pa ... ew&no=2506

Re: フルスクリーンと解像度について

Posted: 2012年4月13日(金) 21:07
by thaz
softya(ソフト屋)さん

コメントありがとうございます!
リンク先もとても参考になりました!