JOGL - 概述



本章介紹了 OpenGL、其功能、Java 中的 OpenGL 繫結(GL4java、LWJGL、JOGL)以及 JOGL 相對於其他 OpenGL 繫結的優勢。

Java 繫結 OpenGL (JOGL) 是 Java 中 OpenGL 圖形 API 的最新繫結。它是一個包裝庫,可以訪問 OpenGL API,並且旨在建立用 Java 編寫的 2D 和 3D 圖形應用程式。JOGL 是一個開源庫,最初由麻省理工學院的畢業生 Ken Russell 和 Chris Kline 開發。後來,它被 Sun Microsystems 的遊戲小組採用,現在由 Java on Graphics Audio and Processing (JOGAMP) 維護。JOGL 在各種作業系統上執行,例如 Windows、Solaris、Mac OS X 和 Linux(在 x86 上)。

什麼是 OpenGL?

OpenGL 代表開放圖形庫,它是一組用於建立 2D 和 3D 圖形的命令。使用 OpenGL,您可以使用非常基本的基元(如點、線、多邊形、點陣圖和影像)建立複雜的 3D 形狀。

以下是 OpenGL 的一些特性 -

  • 它可以在多個平臺上執行。

  • 它在多種語言中都有繫結,例如 C++、Python 等

  • 它可以渲染 2D 和 3D 向量圖形。

  • 它與圖形處理單元 (GPU) 互動,以實現快速和高質量的渲染。渲染是從 2D 或 3D 模型建立影像的過程。

  • 它是編寫 3D 圖形應用程式的行業標準 API。例如,遊戲、螢幕保護程式等。

  • 它包含大約 150 個命令,程式設計師可以使用這些命令來指定物件和操作以開發應用程式。

  • 它包含 OpenGL 實用程式庫 (GLU),該庫提供了各種建模功能,例如二次曲面和 NURBS 曲線。GLU 是 OpenGL 的標準組件。

  • OpenGL 的設計重點是效率、有效性和在多個平臺上使用多種語言實現。為了保持 OpenGL API 的簡單性,不包括視窗任務。

因此,OpenGL 依賴於其他程式語言來執行視窗任務。

OpenGL API 的 Java 繫結

它是一個 Java 規範請求 (JSR) API 規範,允許在 Java 平臺上使用 OpenGL。

規範 詳情
JSR 231 此 Java 繫結包支援 Java SE 平臺。
JSR 239 此 Java 繫結包支援 Java ME 平臺。

Java 中有各種 OpenGL 繫結。下面將討論它們

GL4java

它被稱為 Java 技術的 OpenGL。它與 OpenGL 1.3 和幾乎所有供應商擴充套件都有連結。此外,它可以與抽象視窗工具包 (AWT) 和 Swing 一起使用。它是一個以遊戲為中心的 OpenGL 繫結,它是一個顯示全屏應用程式的單個視窗。

LWJGL

  • 輕量級 Java 遊戲庫 (LWJGL) 使用 OpenGL 1.5 並與最新版本的 Java 一起使用。

  • 它可以使用 JSE 1.4 的全屏功能。它對 AWT/Swing 的支援有限。

  • 它適用於輕量級裝置,例如手機、嵌入式裝置等。

JOGL

  • JOGL 僅專注於 2D 和 3D 渲染。處理聲音和輸入/輸出的介面不包含在 JOGL 中。

  • 它包括圖形實用程式庫 (GLU)、GL 實用程式工具包 (GLUT) 及其自己的 API - 本機視窗工具包 (NEWT)。

為什麼選擇 JOGL?

  • 它提供了對 OpenGL API(版本 1.0、4.3、ES 1、ES 2 和 ES 3)以及幾乎所有供應商擴充套件的完全訪問許可權。因此,JOGL 包含 OpenGL 中的所有功能。

  • JOGL 與 AWT、Swing 和標準小部件工具包 (SWT) 整合。它還包含自己的本機視窗工具包 (NEWT)。因此,它提供了對視窗的完全支援。

JOGL 的歷史

  • 1992 年 - Silicon Graphics Inc. 釋出了第一個 OpenGL 規範。

  • 2003 年 - Java.net 網站推出,具有新功能,並且 JOGL 首次在同一網站上釋出。

  • 2010 年 - 自 2010 年以來,它一直是 BSD 許可下的獨立開源專案,BSD 許可證是計算機軟體的自由許可證。

廣告