我可以使用除GLUT以外的任何东西使用OpenGL绘制几何图元吗?

时间:2012-03-05 16:42:24

标签: opengl geometry glut

我知道GLUT的二次曲面,我在学校时用过几个程序。现在我正在研究一个真实世界的应用程序,我发现自己需要绘制一些几何图元(立方体,球体,圆柱体),但现在我也知道GLUT不再受支持了,它的最后一次更新就像2005年一样。所以我想知道除了GLUT的二次曲线之外还有什么东西来绘制这样的几何形状。在我继续开始从顶点数组开始创建自己之前,我问是否有任何事情。

4 个答案:

答案 0 :(得分:1)

是的,你可以!您可以使用操作系统的本机API来创建具有OpenGL功能的窗口。

GLUT的优势在于使这项任务更容易,是一种跨平台的解决方案。

还有其他跨平台库使用起来比较复杂,但提供相同的功能,例如Qt

NeHe有大量的示例,它们使用多种不同的技术来完成您的目标。检查页面底部。

这是一个demo for Windows,它创建一个窗口并在其中绘制一个简单的OpenGL三角形。此演示删除所有窗口框架,以给人一种三角形漂浮在屏幕上的印象。并here is a similar demo for Linux

答案 1 :(得分:1)

GLUT只是OpenGL之后生活方式的一些方便框架。问题不在于,GLUT没有维护。问题是,GLUT不是,也绝不会用于严肃的应用程序。

然后还有GLU提供一些原语,但就像GLUT一样,它只是一个伴侣库。你也不需要。

OpenGL的工作方式是,你提供顶点属性数组(位置,颜色,法线,纹理坐标等)并告诉你从那些属性中绘制一组基元(点,线,三角形)。引用到顶点属性数组的第二个索引数组。

OpenGL-3核心之前的版本中曾经存在立即模式,但这种模式已经被淘汰了 - 很好的解决方案。它的唯一用途是填充显示列表,如果使用间接GLX,这些列表曾经具有轻微的性能优势。使用VBO(服务器(= GPU)侧顶点属性存储)不再是一个问题。

答案 2 :(得分:0)

  

现在我正在开发一个真实世界的应用程序,我发现自己需要绘制一些几何图元(立方体,球体,圆柱体),

实际上,我不记得提供通用原语的任何东西,除了过剩。这可能与这些通用基元很容易从头实现的事实有关。

您可以使用其他库(例如libsdl或Qt)来初始化 OpenGL。

如果你找到用于加载网格的通用库(或任何提供“网格”对象的东西),很可能它会有原始的。

  

不再受支持,它的最后一次更新与2005年相同

与流行的看法相反,代码不会腐烂,并且随着时间的推移不会变得更糟。无论多少年前写过,如果它仍然有效,你可以使用它。

还有FreeGLUT项目。上次更新时间:2012年。

答案 3 :(得分:0)

虽然没有维护GLUT,FreeGLUT已经。但仍有几种选择。

GLFW是一个跨平台的窗口系统,易于启动和运行,并且还为程序员提供了对主应用程序循环的控制。

除了跨平台之外,

SFML还支持多种语言以及与其他窗口方案的集成功能。

最后,Qt是另一个流行的跨平台窗口框架。