0

(Vsync の目的で) ダブル バッファリングを使用する必要があるアプリケーションを作成しようとしています。SDL.NETを使用しています。私が理解したことから、ダブルバッファリングを行うには、OpenGl = true で SetVideoMode を設定する必要があります。

コードは次のとおりです。

        Video.Initialize();

        Video.GLSetAttribute(OpenGLAttr.DoubleBuffer, 1);
        Video.GLSetAttribute(OpenGLAttr.SwapControl, 1);
        Video.GLSetAttribute(OpenGLAttr.RedSize, 8);
        Video.GLSetAttribute(OpenGLAttr.GreenSize, 8);
        Video.GLSetAttribute(OpenGLAttr.BlueSize, 8);
        Video.GLSetAttribute(OpenGLAttr.DepthSize, 16);

        Video.SetVideoMode(VideoInfo.ScreenWidth, VideoInfo.ScreenHeight, false, true, true, true);

4 番目のパラメーター (bool opengl) が false の場合、機能します。新しいフルスクリーン ウィンドウが作成されて表示されます (ただし、この場合、上記の OpenGLAttr のセットは意味がないと思います)。

4 番目のパラメーターが true の場合、何も起こりません。新しいウィンドウが作成されます (少なくとも、開いているウィンドウのリストに表示されます) が、alt+tab で移動できません。

私は何を間違っていますか?

4

1 に答える 1

0

問題は、画面に何も出力しなかったことです。 Video.GLSwapBuffers() を実行すると、黒い画面が表示されました。

于 2013-11-14T13:43:02.293 に答える