- JOGL Tutorial
- JOGL - Home
- JOGL - Overview
- JOGL - Installation
- JOGL Basic Templates
- JOGL - API for Basic Templates
- JOGL - Canvas with AWT
- JOGL - Canvas with Swing
- JOGL - GLJPanel Class
- JOGL Graphical Shapes
- JOGL - Drawing Basics
- JOGL - Drawing with GL_Lines
- JOGL - Pre-defined shapes
- JOGL Effects & Transformation
- JOGL - Transformation
- JOGL - Coloring
- JOGL - Scaling
- JOGL - Rotation
- JOGL - Lighting
- JOGL 3D Graphics
- JOGL - 3D Basics
- JOGL - 3D Triangle
- JOGL - 3D Cube
- JOGL - Appendix
- JOGL Useful Resources
- JOGL - Quick Guide
- JOGL - Useful Resources
- JOGL - Discussion
JOGL - 概述
本章介绍 OpenGL、它的功能、java 中的 OpenGL 绑定(GL4java、LWJGL、JOGL)以及 JOGL 相对于其他 OpenGL 绑定的优点。
Java Binding for O pen GL (JOGL) 是 Java 中 OpenGL 图形 API 的最新绑定。它是一个包装库,可以访问 OpenGL API,旨在创建用 Java 编码的 2D 和 3D 图形应用程序。JOGL 是一个开源库,最初由前麻省理工学院研究生 Ken Russell 和 Chris Kline 开发。后来,它被 Sun Microsystems 的游戏组采用,现在由 Java on Graphics Audio andprocessing (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
它被称为 OpenGL for Java 技术。它具有到 OpenGL 1.3 和几乎所有供应商扩展的链接。此外,它还可以与 Abstract Window Toolkit (AWT) 和 Swings 一起使用。它是一个以游戏为中心的 OpenGL 绑定,是一个显示全屏应用程序的单一窗口。
陆万金GL
轻量级 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 和标准窗口小部件工具包 (SWT) 集成。它还包括自己的本机窗口工具包(NEWT)。因此,它提供了对窗口的完整支持。
JOGL的历史
1992 – Silicon Graphics Inc. 发布了第一个 OpenGL 规范。
2003 年 - Java.net 网站推出了新功能,并且 JOGL 首次在同一网站上发布。
2010 - 自2010年以来,它一直是BSD许可证下的独立开源项目,BSD许可证是计算机软件的自由许可证。