1

是否有一些用于 SDL2 的超级简单的基本 hello world 立方体项目(带有设置教程),可以使用现代 OpenGL (如 OpenGL 3.x 或4.x 和 OpenGLES 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 跨平台启动项目(例如纹理立方体)。

4

2 回答 2

0

SDL2 是一个很好的开始方式。我什至可以说,SDL 是最流行的多平台库,尤其是您考虑使用 Joystics 或稍后使用 Steam。无需寻找任何其他库。但请记住,它只是提供媒体访问的底层。向用户提供高质量的 Opengl 3.0 项目不是他们的工作。您需要学习一些现代 OGL 基础知识——而且您必须在其他地方学习。就如此容易。

您总是可以使用类似这样的项目并链接到官方 SDL wiki。;) SDL 社区对此非常满意。

顺便说一下。DirectX 是“微软的非开源 SDL”——而且它非常不跨平台。

于 2015-08-23T11:16:08.670 回答
-1

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

我有一种方法可以在此处的一些示例代码中呈现彩色立方体。尽管它对我的包装类进行了很多调用,但它非常融入我的库中。它们也可以在同一个库中使用,或者您可以在此处查看它们的最新版本。

于 2013-12-08T23:39:14.923 回答