OpenGL是Open Graphics Library的简称,是一种三维图形处理库,被广泛应用于专业图形处理、科学计算等领域。OpenGL由SGI公司开发,1992年发布1.0版本,随后成为工业标准,由独立财团OpenGL Architecture Review Board (ARB)控制。OpenGL支持转换三维空间数据至二维图像并显示,提供跨平台移植性,并在不同操作系统上可用。在Windows系统中,OpenGL的实现有两种:MS实现和SGI实现。MS实现会自动检测显示卡制造商提供的ICD驱动程序,以利用OpenGL硬件加速能力。开发者可以使用这两种实现,不过使用ICD驱动时会更快些。SGI实现是纯软件实现,不能利用硬件加速,但便于调试程序。SGI曾经宣布研发OpenGL++,特点是面向对象,提供树形场景支持,大幅简化使用OpenGL处理复杂场景的工作。然而,SGI与微软合作开发Ferihant后,宣布停止支持Windows下的OpenGL实现。此合作后不久,SGI中止合作并撤回科学家,Ferihant项目最终失败。在游戏开发领域,DirectX与OpenGL是主要的图形处理接口。DirectX是由微软开发,专为高性能游戏设计,提供直接访问显存的途径,解决GDI体系性能不足的问题。DirectX以COM接口形式提供,相对复杂且稳定性较差。OpenGL在三维图形加速卡商用和家用后,逐渐成为游戏开发者的选择,尤其是在实时三维游戏领域。1996年12月,ID Software的John Carmack在其开发计划中指出DirectX API存在严重问题,认为OpenGL更适合各种应用,包括Quake和Softimage等。他呼吁微软积极支持OpenGL,微软终于在Win95 OSR2版本中集成OpenGL,并为以前版本的Win95提供单独的OpenGL实现。