2008年5月17日土曜日

OpenTKでフルスクリーンモード

OpenTK、結構いい感じになってるっぽい。

Ver. 0.9.1になって追加された
「DispreyDevice」というクラスがあるのだが、
これを使うと、その名の通り、
ディスプレイデバイスを簡単に扱える。
具体的には、
ディスプレイの解像度やリフレッシュレートなどを
たったの1~2行で変更したり、元に戻したりできる(!)。

DisplayDevice[] disp = DisplayDevice.AvailableDisplays;

でディスプレイデバイスをリストアップして、
例えば、解像度640*480ピクセル、色32bit、リフレッシュレート60Hzなら、
disp[0].ChangeResolution(disp[0].SelectResolution(640, 480, 32, 60.0f) );

元にもどすなら、
disp[0].RestoreResolution();

これだけでOK。

これに加えて、
http://www.atmarkit.co.jp/fdotnet/dotnettips/199fullscreen/fullscreen.html
を参考にしてフルスクリーンモードの切り替えを実装すると・・・
あっという間に解像度を指定した
フルスクリーンモード切り替えができあがり。


・・・と思ったんだけど。
なんだか極端に描画速度が遅くなるようなので、
ダメっぽい。
もうちょっと、ちゃんと調べてみます。

0 件のコメント: