【发布时间】:2011-12-19 14:30:23
【问题描述】:
我有一些关于 OpenGL 的基本观点/问题,不仅涉及代码,还涉及概念。如果您能回答、肯定或扩展其中任何一个,我将不胜感激。我警告你,有些人可能很幼稚,所以请多多包涵。
我知道 OpenGL 只是一个标准,而不是一个软件。例如,“获取”OpenGL 实际上涉及获取第三方实现,该实现不一定必须得到 Khronos 的认可。
OpenGL 通常指的是 GL 实用程序 (GLU) 和 GL 实用程序工具包 (GLUT) 的组合。他们有以
glu和glut开头的方法,分别是。而以gl开头的“基本”OpenGL 方法是由那些制作图形驱动程序的公司(即NVIDIA)实现的?我假设
glut方法是特定于操作系统的助手,例如glutKeyboardFunc()必须是,才能解释键盘。因此,如果我想要一种更强大的替代方法来解释键盘输入,我只会使用 OS API。 OpenGL 本身纯粹是关于图形的,但glut有这种东西,因为图形没有多少没有实时的人工控制。在我看来
glu方法可能与调用一系列较低级别的gl方法相同。我想引用的一个例子是glOrtho()和gluPerspective()。在我看来,它们的工作方式相似,但计算透视可能更复杂,所以gluPerspective()是为了方便起见,但可能只解决一些gl方法。我在大学使用 freeglut 学习了基本的 OpenGL,并且我一直有这种使用 OpenGL 的“核心”方式的愿景,只使用低级方法。我不知道这是否是一个完全幼稚的想法,但是是否有一种“专业”的方式来编写 OpenGL,以发挥其最大的功能?比如,大概游戏开发者不会使用
glutPostRedisplay(),对吧?这似乎太容易和方便了,就像它隐藏了很多正在发生的事情一样。我怀疑 C++ 也是如此,因为 GLUT 回调对命名空间中的方法不友好(正如我在其他问题中看到的那样)。
【问题讨论】:
-
这个问题有时有点模糊,应该分成几个不同的问题。
-
哦,我很抱歉;找到了 (4) 的答案