最近我一直在为一台旧的PowerPC Mac破解一些OpenGL,这意味着要重温OpenGL 1.x天。
回到1.x时代,1.1似乎是最广泛的公分母。
但这让我开始思考:如果你的目标是1.1,你会排除哪些机器吗?还是所有1.0版本的机器最终都更新为1.1版本?
我想,也许一些早期的SGI硬件可能已经被OpenGL 1.0卡住了?或者可能是一些非常早期的消费者3D卡?
在20世纪90年代,您可能会发现一些SGI机器无法运行OpenGL 1.1,但这可能是因为所有者仍在运行旧版本的IRIX,以与一些奇怪的硬件或软件兼容,如果他们更新,这些硬件或软件就会坏掉。在这种情况下,他们通常都不想在这些机器上添加新东西。
与早期的Direct3D不同,OpenGL(1.x(的早期版本始终保证您的软件能够运行,只是不能保证它能够快速运行。因此,如果您在API中使用较新的功能,旧的机器可能会回到软件渲染,但您的程序不会崩溃。
这对OpenGL 1.1来说并不是一个真正的问题,因为尽管API在一些重要方面发生了变化,顶点数组和纹理对象IIRC,但这些并不是真正的新功能,只是用更少的API调用来做同样的事情的更方便的方法。在那个时代的硬件中,OpenGL基本上运行在昂贵的工作站上,而不是消费型PC/Mac上,OpenGL 1.1几乎是一个纯粹的软件升级,没有新的硬件。
Microsoft Windows NT 3.51仅支持OpenGL 1.0。