2017-04-19 117 views
0

我是新來的OpenGL和SDL,我遇到了一些我寫的基本程序的問題。我縮小了範圍,看起來問題在於SDL_CreateRenderer函數與SDL如何管理OpenGL之間的衝突。SDL_Renderer opengl衝突

基本上這個程序是一個簡單的遊戲,用OpenGL繪製,問題已經隨着我創建菜單而上升。由於遊戲窗口是使用「SDL_WINDOW_OPENGL」標誌創建的,因此我爲該菜單創建了另一個窗口。每當我需要在遊戲和菜單之間切換時,我只需隱藏並顯示我需要的任何窗口。雖然我需要創建一個渲染器,但是如果我嘗試返回到OpenGL窗口,所有東西都會崩潰(計算機變慢,所有東西都沒有響應...),所以要在菜單窗口上繪製。

任何人都可以猜測問題可能出在哪裏?或者任何人都可以提出一個更好的方法來解決我的遊戲菜單問題?

+2

您需要提供[MCVE](https://stackoverflow.com/help/mcve)。 – Alden

+0

好的!我在做這個工作!感謝您的建議! –

+0

您是否將GL上下文切換回初始窗口?也許軟件渲染器會爲你解決它,但我不明白爲什麼你首先需要單獨的窗口。 – keltar

回答

0

不要試圖-OP間的OpenGL和SDL_Renderer:即使你可能你的平臺沒有/沒有在OpenGL方面實現SDL_Renderer保證SDL_Renderer API沒有任何辦法正確地設置/恢復SDL_Renderer使用的OpenGL狀態。