0

最近我一直在为旧的 PowerPC Mac 开发一些 OpenGL,这意味着重温 OpenGL 1.x 时代。

回到 1.x 时代,1.1 似乎是最广泛的公分母。

但这让我开始思考:如果你的目标是 1.1,你会排除任何机器吗?还是所有支持 1.0 的机器最终都更新为也可以处理 1.1?

我猜也许一些非常早期的 SGI 硬件可能已经卡在 OpenGL 1.0 上?或者可能是一些非常早期的消费 3D 卡?

4

1 回答 1

1

您可能会在 1990 年代发现一些无法运行 OpenGL 1.1 的 SGI 机器,但那是因为所有者仍在运行旧版本的 IRIX,以便与一些奇怪的硬件或软件兼容,这些硬件或软件一旦更新就会损坏。在这种情况下,他们通常不想在这些机器上放置新东西。

与早期的 Direct3D 不同,早期版本的 OpenGL (1.x) 始终保证您的软件可以运行——只是不能保证它运行得很快。因此,如果您在 API 中使用较新的功能,旧机器可能会退回到软件渲染,但您的程序不会中断。

这对 OpenGL 1.1 来说并不是真正的问题,因为虽然 API 在一些重要方面发生了变化,顶点数组和纹理对象 IIRC,但这些并不是真正的新功能,只是用更少的 API 调用来做同样事情的更方便的方法。对于那个时代的硬件,OpenGL 基本上运行在昂贵的工作站上,而不是消费 PC/Mac,OpenGL 1.1 几乎是一个纯粹的软件升级,没有新的硬件。

于 2020-07-25T01:15:29.837 回答