当前位置: 首页 > 文档资料 > JOGL 中文教程 >

概述

优质
小牛编辑
132浏览
2023-12-01

本章介绍OpenGL,它的功能,java中的OpenGL绑定(GL4java,LWJGL,JOGL),以及JOGL优于其他OpenGL绑定的优点。

O pen GL (JOGL)的J ava绑定是Java中最近对OpenGL图形API的绑定。 它是一个包装库,可以访问OpenGL API,它旨在创建用Java编码的2D和3D图形应用程序。 JOGL是一个开源库,最初由前麻省理工学院的研究生Ken Russell和Chris Kline开发。 后来,它被Sun Microsystems的游戏小组采用,现在由Java在图形音频和处理(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。

产品规格细节
JSR 231此Java绑定包支持Java SE平台。
JSR 239此Java绑定包支持Java ME平台。

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

GL4java

它被称为OpenGL for Java技术。 它包含指向OpenGL 1.3和几乎所有供应商扩展的链接。 此外,它可以与Abstract Window Toolkit(AWT)和Swings一起使用。 这是一个以游戏为中心的OpenGL绑定,它是一个显示全屏应用程序的单一窗口。

LWJGL

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

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

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

JOGL

  • JOGL仅关注2D和3D渲染。 处理声音和输入输出的接口不包含在JOGL中。

  • 它包括图形实用程序库(GLU),GL实用工具包(GLUT)和它自己的API - Native Windowing Toolkit(NEWT)。

JOGL为什么?

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

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

JOGL的历史

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

  • 2003年 - Java.net网站推出了新功能,JOGL首次在同一网站上发布。

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