Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
面向初级中级C+的高级OpenGL友好库+;程序员_Opengl - Fatal编程技术网

面向初级中级C+的高级OpenGL友好库+;程序员

面向初级中级C+的高级OpenGL友好库+;程序员,opengl,Opengl,最近有人建议我应该 现在完全跳过低级API,只使用在其上构建的一些高级库。因为在普通opengl/directx上构建需要大量工作,即使对于有经验的程序员也是如此 有人能推荐一些适合我的或者我能找到适合我的地方吗谢谢这取决于你想做什么。许多人选择像SDL(简单directmedia层)这样的东西,它是OpenGL/DirectDraw/GDI(以及更多)的抽象,但它仍然有点低级。它是用C++来实现的。 简单DirectMedia层是一个 跨平台多媒体图书馆 旨在提供低级别访问 音频、键盘、鼠标、

最近有人建议我应该 现在完全跳过低级API,只使用在其上构建的一些高级库。因为在普通opengl/directx上构建需要大量工作,即使对于有经验的程序员也是如此


有人能推荐一些适合我的或者我能找到适合我的地方吗谢谢

这取决于你想做什么。许多人选择像SDL(简单directmedia层)这样的东西,它是OpenGL/DirectDraw/GDI(以及更多)的抽象,但它仍然有点低级。它是用C++来实现的。 简单DirectMedia层是一个 跨平台多媒体图书馆 旨在提供低级别访问 音频、键盘、鼠标、操纵杆、, 通过OpenGL的3D硬件和2D视频 帧缓冲区。它被MPEG使用 播放软件、模拟器等 热门游戏,包括奖项 赢得Linux端口“文明: 呼唤权力。”


选择这样一个非常流行的库的一个优点是有大量的示例工作。

IMO,就从您使用的平台进行抽象而言(即获取上下文、获取键盘/鼠标输入等),胜过一切

但是,人们经常寻找的不仅仅是打开窗户的方法。通常情况下,他们所寻找的是所谓场景图的实现。一个好的人将抽象出在GL中所能做的一切,成为一个直观的树结构(技术上是一个图表,但通常更容易被认为是一棵树)。为了完整起见,几乎所有这类库都提供了自己的上下文打开、模型加载和调试功能


这一类别中一些流行的库是和。看起来也很有希望,但它还没有正式发布。

SDL并没有真正抽象OpenGL(除非您使用的是硬件加速的2D曲面,我不知道它使用什么)。相反,它使设置OpenGL上下文变得很容易,但是您仍然需要直接与OpenGL交互来绘制任何东西(除非,正如我前面所说,您使用的是SDL的2D内容)。