📅  最后修改于: 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代表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依赖于其他编程语言来执行窗口任务。
它是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绑定。他们在下面讨论
它被称为Java技术的OpenGL。它具有指向OpenGL 1.3和几乎所有供应商扩展的链接。而且,它可以与“抽象窗口工具包”(AWT)和“ Swings”一起使用。这是针对游戏的OpenGL绑定,这是一个显示全屏应用程序的窗口。
轻量级Java游戏库(LWJGL),使用OpenGL 1.5,并与最新版本的Java一起使用。
它可以使用JSE 1.4的全屏功能。它对AWT / Swings的支持有限。
它适用于轻型设备,例如手机,嵌入式设备等。
JOGL仅专注于2D和3D渲染。 JOGL不包括处理声音和输入输出的接口。
它包括图形实用程序库(GLU),GL实用程序工具包(GLUT),以及它自己的API-本机窗口工具包(NEWT)。
它提供对OpenGL API(1.0、4.3,ES 1,ES 2和ES 3版本)以及几乎所有供应商扩展的完整访问。因此,OpenGL中的所有功能都包含在JOGL中。
JOGL与AWT,Swing和Standard Widget Toolkit(SWT)集成。它还包括自己的本机窗口工具包(NEWT)。因此,它为窗口提供了完整的支持。
1992年– Silicon Graphics Inc.发布了第一个OpenGL规范。
2003年-Java.net网站启用了新功能,JOGL在该网站上首次发布。
2010年–自2010年以来,它一直是BSD许可下的独立开源项目,BSD许可是计算机软件的自由许可。