2013-08-31 6 views
8

私はSDL 2.0で遊んでいましたが、検索した後、私は網膜マックをサポートする方法についてオンラインで何かを見つけませんでした。次のコードを使用してウィンドウを作成するとき。SDL 2.0 retina mac

gWindow = SDL_CreateWindow("SDL Tutorial", SDL_WINDOWPOS_UNDEFINED, 
      SDL_WINDOWPOS_UNDEFINED, 500, 500, SDL_WINDOW_SHOWN); 

それはアプリケーションがhidpi画面を使用して動作するようになっている方法ですので、これは本当に問題ではありません* 1000 1000の実際の大きさを持つウィンドウを作成します。しかし、画像をロードすると、網膜スクリーンの2倍の大きさの画像をロードする方法が見つからず、画像が常にぼやけて見えることがあります。

答えて

13

現在のバージョンのSDL2は、網膜をサポートしています。

網膜ウィンドウを作成するには、SDL_CreateWindow()にフラグSDL_WINDOW_ALLOW_HIGHDPIを渡します。

リサイズイベントの後、API呼び出しSDL_GL_GetDrawableSize()を使用して実際のバッファー解像度を確認できます。

0

現在のところ、SDLはMacでの網膜ディスプレイ(WindowsマシンではHigh-DPIディスプレイ)をサポートしていません。

ここでは、ありこれらの機能を追加する最善の方法についての議論があり、そしてSDLのバグトラッカーには、いくつかのプロトタイプパッチ:https://bugzilla.libsdl.org/show_bug.cgi?id=1934

おそらく、我々はSDL2の将来のリリースで公式の網膜のサポートが表示されます。また、独自のSDLライブラリをコンパイルしたい場合は、それらのパッチを使用してください。