📜  JOGL-概述

📅  最后修改于: 2020-11-13 04:50:12             🧑  作者: Mango


本章介绍OpenGL,其功能,java中的OpenGL绑定(GL4java,LWJGL,JOGL),以及JOGL与其他OpenGL绑定相比的优势。

O pen GL (JOGL)的J ava绑定是Java中OpenGL图形API的最新绑定。它是一个包装器库,可以访问OpenGL API,并且旨在创建以Java编码的2D和3D图形应用程序。 JOGL是一个开放源代码库,最初由前MIT研究生Ken Russell和Chris Kline开发。后来,它被Sun Microsystems的游戏小组采用,现在由Java on Graphics Audio and Processing(JOGAMP)维护。 JOGL可在Windows,Solaris,Mac OS X和Linux(在x86上)等各种操作系统上运行。

什么是OpenGL?

OpenGL代表Open Graphics Library,它是创建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。

Specifications Details
JSR 231 This Java binding package supports Java SE platform.
JSR 239 This Java binding package supports Java ME platform.

Java中有各种OpenGL绑定。他们在下面讨论

GL4java

它被称为Java技术的OpenGL。它具有指向OpenGL 1.3和几乎所有供应商扩展的链接。而且,它可以与“抽象窗口工具包”(AWT)和“ Swings”一起使用。这是针对游戏的OpenGL绑定,这是一个显示全屏应用程序的窗口。

W

  • 轻量级Java游戏库(LWJGL),使用OpenGL 1.5,并与最新版本的Java一起使用。

  • 它可以使用JSE 1.4的全屏功能。它对AWT / Swings的支持有限。

  • 它适用于轻型设备,例如手机,嵌入式设备等。

约格

  • JOGL仅专注于2D和3D渲染。 JOGL不包括处理声音和输入输出的接口。

  • 它包括图形实用程序库(GLU),GL实用程序工具包(GLUT),以及它自己的API-本机窗口工具包(NEWT)。

为什么选择JOGL?

  • 它提供对OpenGL API(1.0、4.3,ES 1,ES 2和ES 3版本)以及几乎所有供应商扩展的完整访问。因此,OpenGL中的所有功能都包含在JOGL中。

  • JOGL与AWT,Swing和Standard Widget Toolkit(SWT)集成。它还包括自己的本机窗口工具包(NEWT)。因此,它为窗口提供了完整的支持。

JOGL的历史

  • 1992年– Silicon Graphics Inc.发布了第一个OpenGL规范。

  • 2003年-Java.net网站启用了新功能,JOGL在该网站上首次发布。

  • 2010年–自2010年以来,它一直是BSD许可下的独立开源项目,BSD许可是计算机软件的自由许可。