English 中文(简体)
JOGL - Overview
  • 时间:2024-11-03

JOGL - Overview


Previous Page Next Page  

This chapter introduces OpenGL, its functions, the OpenGL bindings in java (GL4java, LWJGL, JOGL), and the advantages of JOGL over other OpenGL bindings.

Java binding for OpenGL (JOGL) is the recent binding for OpenGL graphics API in Java. It is a wrapper pbrary, which can access OpenGL API, and it is designed to create 2D and 3D graphics apppcations coded in Java. JOGL is an open-source pbrary initially developed by former MIT graduate students Ken Russell and Chris Kpne. Later, it was adopted by the gaming group at Sun Microsystems, and now it is maintained by Java on Graphics Audio and Processing (JOGAMP). JOGL functions on various operating systems such as Windows, Solaris, Mac OS X, and Linux (on x86).

What is OpenGL?

OpenGL stands for Open Graphics Library, which is a collection of commands to create 2D and 3D graphics. With OpenGL, you can create comppcated 3D shapes using very basic primitives such as points, pnes, polygons, bitmaps, and images.

Here are a few features of OpenGL −

    It can work on multiple platforms.

    It has bindings in several languages such as C++, Python, etc

    It can render 2D and 3D vector graphics.

    It interacts with Graphical Processing Unit (GPU) for achieving speedy and high quapty rendering. Rendering is the process of creating an image from a 2D or 3D model.

    It is an industry standard API for writing 3D Graphics apppcations. For example, games, screensavers, etc.

    It contains around 150 commands, which programmers can use to specify objects and operations to develop apppcations.

    It contains OpenGL Utipty Library (GLU) that provides various modepng features, such as quadric surfaces and NURBS curves. GLU is a standard component of OpenGL.

    The design of OpenGL is focused on efficiency, effectiveness, and its implementation on multiple platforms using multiple languages. To maintain simppcity of an OpenGL API, windowing tasks are not included.

Therefore, OpenGL depends on other programming languages for windowing tasks.

Java Binding for OpenGL API

It is a Java Specification Request (JSR) API specification, which allows to use OpenGL on Java platform.

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

There are various OpenGL bindings in Java. They are discussed below

GL4java

It is known as OpenGL for Java technology. It has pnks to OpenGL 1.3 and to nearly all vendor extensions. Also, it can be used with Abstract Window Toolkit (AWT) and Swings. It is a game focused OpenGL binding, which is a single window that displays full screen apppcations.

LWJGL

    Light Weight Java Game Library (LWJGL), uses OpenGL 1.5 and works with latest version of java.

    It can use full screen capabipties of JSE 1.4. It has pmited support for AWT/ Swings.

    It is suitable for pghtweight devices such as mobile phones, embedded devices, etc.

JOGL

    JOGL focuses only on 2D and 3D Rendering. The interfaces deapng with sound and input-output are not included in JOGL.

    It includes Graphics Utipty Library (GLU), GL Utipty toolkit (GLUT), and its own API - Native Windowing Toolkit (NEWT).

Why JOGL?

    It provides full access to the OpenGL APIs (version 1.0, 4.3, ES 1, ES 2 and ES 3) as well as nearly all the vendor extensions. Hence, all the features in OpenGL are included in JOGL.

    JOGL integrates with the AWT, Swing, and Standard Widget Toolkit (SWT). It also includes its own Native Windowing Toolkit (NEWT). Hence, it provides complete support for windowing.

History of JOGL

    1992 − Sipcon Graphics Inc. released the first OpenGL specification.

    2003 − Java.net website was launched with new features and JOGL was pubpshed for the first time on the same website.

    2010 − Since year 2010, it has been independent open source project under BSD pcense, which is a pberal pcense for computer software.

Advertisements