什么是标准OpenGL工具包?

时间:2012-07-10 15:39:44

标签: opengl glut toolkit

我只是想要掌握我可以构建的OpenGL,所以我正在寻找的是构建windows等基本的东西。我在阅读教程时注意到的事情之一就是似乎很多信息已经过时了 - 例如很多教程(很多都是几年前写的)都提到使用GLUT,但GLUT在10年多来没有更新 - 永远在电脑时间。人们现在用的是什么?我知道freeglut就在那里,但是它上面没有很多信息 - 如何设置它等等......大多数人都做了什么?让一个简单的窗口系统启动并运行的最简单方法是什么,以便我可以开始使用OpenGL?

1 个答案:

答案 0 :(得分:4)

首先应该了解Legacy OpenGL(一个固定功能管道)与现代OpenGL(一个完全着色器驱动的管道)之间的区别。大多数在线教程都教授传统的OpenGL,因为它很容易上手并且已经存在了很长时间。 Legacy仍然可以正常工作,但您可能想要进入现代OpenGL(至少3.0版本)。现代OpenGL更干净,更灵活,但也更难入门,因此教程更少。它需要用户提供更多的设置和库,并且没有“单向”做事情,因此难以构建快速教程。

学习现代OpenGL的一些好资源是:

对于您的主要问题,我知道3个用于跨平台OpenGL窗口创建的主要库。我建议使用GLFW作为跨平台工具包。您还可以通过直接在各自平台上创建上下文(Windows上的WGL窗口创建,MacOS X上的Cocoa等)而不是使用窗口库来学习很多东西。

  1. GLUT - 你是对的,多年来一直没有更新。它仍然有效,特别是对于传统的OpenGL,但我不确定现代支持有多好。
  2. SDL - 旧的和传统的OpenGL(我认为这是用2.0解决的),并且包含了除OpenGL之外的更多跨平台功能,如线程。它是一个非常重量级的库,但我仍然比GLUT更喜欢它。一个现代的,更新的SDL正在开发中,但我很久没有看到它的任何东西,可能已经停产......它还有一个令人讨厌的许可证,所以要小心。
  3. GLFW - 我个人的最爱。它像GLUT一样干净轻巧,允许您在大多数主要桌面平台上定位现代OpenGL上下文。