JOGL - 概述

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

Java绑定 Open GL (JOGL)是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的一些功能 :

  • 它可以在多个平台上运行.

  • 它有绑定

  • 它可以渲染2D和3D矢量图形.

  • 它与图形处理单元(GPU)交互以实现快速和
    高质量渲染.渲染是从2D或3D模型创建图像的过程.

  • 它是用于编写3D图形应用程序的行业标准API.例如,游戏,屏保等.

  • 它包含大约150个命令,程序员可以使用这些命令指定开发应用程序的对象和操作.

  • 它包含OpenGL实用程序库(GLU),它提供各种建模功能,例如二次曲面和NURBS曲线. GLU是OpenGL的标准组件.

  • OpenGL的设计侧重于使用多种语言在多个平台上的效率,有效性及其实现.为了保持OpenGL API的简单性,不包括窗口化任务.

因此,OpenGL依赖于其他编程语言来进行窗口化任务./p>

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许可下的独立开源项目,这是一个自由的计算机软件许可证.