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