2013-12-08 66 views
1

是否有一些超级简单的基本hello世界立方体项目(带有安装教程)适用于SDL2,可轻松构建和运行(Windows,Linux,例如Ubuntu,Mac OS X ,Android,iOS),使用OpenGL 3.x或4.x和OpenGLES 2.0或3.0中的现代OpenGL?SDL2跨平台OpenGL 3+和OpenGL ES 2.0或3.0

我下载SDL2,这是很容易得到他们的榜样testgles.cpp和testgl.cpp建立...

然而,testgl.cpp一个是可怕的旧(GL2风格),所以我尝试testgles.cpp。不幸的是,即使这是充满旧式固定函数调用,如glMatrixMode(GL_MODELVIEW)。令人讨厌的是,它与SDLTest_Common代码过度集成。

是否有更好的简单干净的Hello World项目(例如彩色立方体,纹理立方体),我可以从哪里开始?

或者有没有一些原因,他们为什么不包括这样的例子启动项目或教程?

或者我应该使用一个不同的库而不是SDL2,这是更简单的&更清洁设置?基本上我想写OpenGL/OpenGLES(也许是DirectX)跨平台的C++代码。但是设置SDL2比我想象的要复杂得多,也更痛苦。

到目前为止,我只是使用SDL2代码创建了一个svn存储库,并获得了testgl.cpp和testgles.cpp以构建这五个平台。但是那使用了很多旧式的OpenGL/OpenGLES代码,所以现在我慢慢地使用它来使用更新的东西......这非常痛苦。我不明白为什么SDL2不仅仅包括使用现代OpenGL/OpenGLES(和DirectX)的基本hello world跨平台开始项目(例如纹理立方体)。

+0

此问题是离线! – Vallentin

回答

0

如果你想编写跨平台的OpenGL,你可以看看GLFW来设置你的OpenGL上下文。它处理简单的窗口和上下文创建以及用户输入。

我有一种方法在我的示例代码here的某些示例中呈现彩色立方体。它在我的图书馆中相当混乱,但它会向我的包装类发出大量呼叫。他们也可以在同一个图书馆,或者你可以看看他们的最新版本here

0

SDL2是一个很好的开始。我甚至可以说,SDL是最受欢迎的多平台解决方案,特别是你在考虑使用joystics还是以后会变得越来越流行。没有必要寻找任何其他库。但请记住,这只是提供媒体访问的低级别层。向用户提供高质量的Opengl 3.0项目并不是他们的工作。你需要的是学习一些现代的OGL基础 - 而且你必须在别的地方去做。就如此容易。

您可以随时带上某种类似的项目并链接到官方的SDL wiki。 ;)SDL社区将为此做出重大贡献。

并顺便说一句。 DirectX是“微软的非开源SDL” - 它非常非跨平台。