2011-05-12 133 views
2

我正在使用opengl 3.3/SDL/glew/Linux(Ubuntu 11.04)編寫遊戲引擎。我想保留在移動設備上部署的可能性(OpenGL ES 2)。這意味着我必須保持與OpenGL ES 2.0兼容。 因此,我的問題是: 是否可以使用SDL /(SDL上的現有修補程序)創建OpenGL ES 2.0上下文。在「標準」Linux系統上創建OpenGL ES 2.0上下文

回答

2

你不需要在計算機上的GL ES 2.0上下文,您可以使用OpenGL 4.1,它具有GL_ARB_es2_compatibility,它補充說,沒有在OpenGL中,使API兼容他們的OpenGL ES功能。

+0

我覺得這個很不錯,只是它可以很容易地在opengl 4.1上下文中運行opengl es程序。但我希望它可以反過來。我想確保我不會意外地使用opengl es 2.0以外的功能。我只想使用相交的一組特徵。 – Bjorn 2011-05-12 14:39:58

1

您可以簡單地使用SDL 1.3,而不是使用SDL 1.2的非官方/修補版本。

引用自己在another question

我建議你下載和安裝的 Khronos OpenGL ES 2.0 SDKs for POWERVR SGX PC Emulation包 (不幸的是,你必須註冊才能 能夠下載)。這使您可以在 臺式計算機上啓動並運行一切,從而使您的 的生活在調試 時更加輕鬆。然後你可以用C/C++來開發你的OpenGL ES 2.0 應用程序。

如果我沒有弄錯我的Android手機 (Samsung Galaxy S)也使用這個 的OpenGL實現。

而不是使用的Khronos的SDK,您 也可以使用OpenGL ES的從Mesa3D項目 2.0 庫(Ubuntu有他們在庫)。 它們工作得很好,但我不能建議他們 因爲我已經遇到了一個 情況下,結果從Khronos的SDK實現 和我的Android設備不同 。

編輯:你還可以創建一個窗口和一個OpenGL爲了實際使用OpenGL渲染上下文 。對於 ,我可以推薦SDL (1.3) 其中也有一個官方端口爲 Android。我使用上述SDK在Android和 Ubuntu上進行了測試。它 允許我使用相同的代碼 都。

+0

創建渲染上下文不是問題。我已經這樣做了。我實際上在使用SDL 1.3。我知道我可以在android手機上開發。總的來說,我想在我的常規opengl 3.3兼容機器/ pc上開發opengl es 2.0,因爲opengl es 2.0是它的一個子集,它在技術上是可行的。這可以通過使SDL創建一個兼容OpenGL 2.0的上下文來實現。 – Bjorn 2011-05-12 14:20:38

+0

啊,對。我簡單地鏈接到了Khronos OpenGL ES 2.0 SDK庫,SDL 1.3似乎對此感到滿意,並且能夠創建上下文並渲染它,並使用OpenGL ES。 – trenki 2011-05-12 14:36:05