計算機圖形學發展史與現狀
有鑑於此,SGI 決定在 IRISGL 基礎上開發出一種功能類似、但可移植性更好的圖形 API—這就是 OpenGL。OpenGL 被打造為開放性標準,任何軟硬體廠商均可自由使用,這讓它受到廣泛的 歡迎。
OpenGL 1.0 獲得意料之中的巨大成功
1992 年 7 月,SGI 正式釋出 OpenGL 1.0 標準。OpenGL 1.0 完全實現了 SGI 的預期設計目標: 功能強大、移植性良好並能自由使用。隨後,SGI 發起成立了“OpenGL 架構委員會”(OpenGLArchitecture Review Board,簡稱 ARB)來共同管理和推廣這項先進的標準,OpenGL 後繼標準 的制定權也逐漸轉移給 ARB 組織。在 ARB 內部,產生新標準的過程非常民主化:各成員以投 票的方式來決定新版 OpenGL 標準應具有的功能特性,並據投票結果製作正式標準文件,各軟 硬體廠商再根據這份標準文件的內容在自己的系統上實現;而所有的 OpenGL 版本都必須通過 文件規定的全部測試專案方能生效。ARB 組織的成員都非泛泛之輩,目前其核心成員包括 SGI、3Dlabs、Intel、IBM、nVIDIA、ATi、Microsoft、Apple 等業界領袖。
OpenGL 1.0 獲得意料之中的巨大成功,專業圖形領域唯它馬首是瞻。看到這一點,微軟甚為心動,當時它正在開發的 Windows NT 系統如果獲得 OpenGL 的支援無疑會如虎添翼;而 SGI 也希望能夠讓OpenGL 廣為流傳。於是 SGI 和微軟進行首次合作、聯手將 OpenGL 1.0移植到Windows NT 平臺。這項工作自然沒有什麼懸念,適用於 NT 的 OpenGL 1.0 順利推出,這使得 Windows NT 系統成為圖形工作站的又一個可選操作平臺,很多運行於 UNIX 之下的專業圖形軟 件也逐漸被移植,微軟和 SGI 都如願以償。
OpenGL 1.1:成功,最後一版 For Windows
1995 年,SGI 推出了更為完善的 OpenGL 1.1 版本。OpenGL 1.1 的效能比 1.0 版提高甚多, 同時還加入了諸如頂點陣列、頂點位置、新紋理等新特性,並增強了元檔案對OpenGL 的呼叫 等等。OpenGL 1.1 同樣獲得了成功,而它也有對應的 Windows NT 版本。
1997 年,受 3D 顯示卡的刺激,Windows 95 平臺下開始湧現出大量的 3D 遊戲,可微軟自己的 Direct 3D 3.0 圖形介面極為糟糕,idSoftware 公司的頂尖程式設計師 John Carmack(Quake 之父) 嘲諷它簡直就是“支離破碎的 API”。很自然,強大的 OpenGL 成為取代 DirectX 的最佳選擇。但問題是微軟雖然在 NT 系統中引入了 OpenGL,但其同時代的 Windows 95 卻無法支援 OpenGL,面對這種局面,idSoftware 公司聯合其它遊戲開發商強烈要求微軟在 Windows 95 中也引入OpenGL API,微軟也很瞭解自己“Direct 3D 3.0”是什麼貨色、它很快就接受了這項建議。 而後,id 公司開發出基於 OpenGL 的 Quake2,想必有過 3 年以上游戲玩齡的讀者都會記得 Quake2 那無以倫比的 3D 場景和激烈刺激的競技畫面。而 OpenGL API 因此立下大功,幾乎所有遊戲開發商都轉向 OpenGL,微軟後來也不得不順應潮流、在 Windows95 OSR2 版及 Windows 98 中正 式支援 OpenGL,相關遊戲開始大量湧現,而 AutoCAD、3DS MAX、Maya 等許多專業 3D 設計 軟體也被移植到普通 PC 平臺。今天,預算有限的設計者可以在 PC 中執行這些軟體,莫不拜 OpenGL 所賜。