2016-05-05 9 views
0

OpenGLでSDL2を使用してアプリケーションで複数の解像度をサポートするかどうかをテストしています。私の "レターボックス"機能を作成するには、glViewportを適切な値に設定してください。すべてが完全に機能します。しかしSDLをリセットするglViewport

、私は(SDL_WINDOWEVENT_MOVEDイベントを受け取った後)私のウィンドウを移動するたびに、私は、SDL_WINDOW_ALLOW_HIGHDPIフラグを設定して、私のウィンドウを作成する場合はSDL中にSDL_GL_GetDrawableSizeを呼び出すことによって確認することができ、ウィンドウのフルサイズにビューポートを変更しますイベント。

ウィンドウを作成するときにSDL_WINDOW_ALLOW_HIGHDPIを設定しないと、ビューポートはリセットされません。私はこれをバグだと思っていますが、SDLのバグジラで何も見つけることができませんので、誰かが同様の動作を見たことがあるかと尋ねると思いました。

この現象が発生するには、網膜のMacBook Proが必要な場合があります。

+1

バグのようです。 SDL bugtrackerに投稿するのがベストでしょう。 – teivaz

答えて

0

とにかく何をしているのですか?常に、各フレームの描画の開始時にビューポートを再設定してください。 HUDを実装したい場合は、フレームバッファオブジェクトなどを使用すると、各フレームを描画するためにビューポート(数回)を設定する必要があります。