Find JSRs
Submit this Search

Ad Banner

Summary  |  Proposal  |  Detail (Summary & Proposal)
JSRs: Java Specification Requests
JSR 231: JavaTM Binding for the OpenGL® API

Stage Access Start Finish
Maintenance Release 2 Download page 19 May, 2008  
Maintenance Draft Review 2 Download page 25 Mar, 2008 28 Apr, 2008
Maintenance Release Download page 11 Apr, 2007  
Maintenance Draft Review Download page 05 Feb, 2007 13 Mar, 2007
Final Release Download page 14 Sep, 2006  
Final Approval Ballot View results 08 Aug, 2006 21 Aug, 2006
Proposed Final Draft Download page 17 Mar, 2006  
Public Review Ballot View results 17 Jan, 2006 23 Jan, 2006
Public Review Download page 21 Dec, 2005 23 Jan, 2006
Early Draft Review Download page 19 Oct, 2005 18 Nov, 2005
Expert Group Formation   21 Oct, 2003 19 Aug, 2004
JSR Review Ballot View results 07 Oct, 2003 20 Oct, 2003
Status: Maintenance
JCP version in use: 2.6
Java Specification Participation Agreement version in use: 2.0

Java bindings to the OpenGL native 3D graphics library.

Please direct comments on this JSR to the Spec Lead(s)

Specification Leads
  Kenneth Russell Sun Microsystems, Inc.
Expert Group
  Brutzman, Donald Paul Hudson, Alan IBM
  Impact Science & Technology Radeski, Alex SAS Institute Inc.
  Sun Microsystems, Inc.

Updates to the Original JSR

The following updates were made to the original proposal.


Specification Lead: Travis Bryson, Kenneth Russell

E-Mail Address:,

Telephone Number: +1 510 996 7218, +1 408 276 7266

Fax Number: -

2006.06.20: The Spec Lead and EG changed the name from "JavaTM Bindings for OpenGL®" to "JavaTM Binding for the OpenGL® API"

Original Java Specification Request (JSR)

Identification | Request | Contributions

Section 1. Identification

Submitting Member: Sun Microsystems

Name of Contact Person: Daniel Petersen

E-Mail Address:

Telephone Number: +1 408 276 3296

Fax Number: +1 408 276 5060

Specification Lead: Daniel Petersen

E-Mail Address:

Telephone Number: +1 408 276 3296

Fax Number: +1 408 276 5060

Initial Expert Group Membership:

Sun Microsystems

Supporting this JSR:


Section 2: Request

2.1 Please describe the proposed Specification:

This specification will describe the Java bindings to the native 3D graphics library, OpenGL. This will include all core GL calls as well as the GLU library. Functionality available from the wgl/glx/agl platform specific libraries will be abstracted out to create a platform independent way of selecting framebuffer attributes and performing platform specific framebuffer operations. The specification will be made device agnostic to allow for the possibility of subsetting the API for different classes of devices (via future JSR's).

2.2 What is the target Java platform? (i.e., desktop, server, personal, embedded, card, etc.)

J2SETM desktop platforms.

2.3 What need of the Java community will be addressed by the proposed specification?

There is a need to have access to hardware accelerated 3D graphics from a low level 3D graphics library. OpenGL is the major platform independent, low level 3D API in the market today. Creating Java bindings to this library will meet the needs of the Java Platform for 3D graphics capabilities.

2.4 Why isn't this need met by existing specifications?

There is an existing 3D API for Java, called Java 3D. This is a high level, scene graph based API and does not meet the needs of those who require only a low level 3D API or those already using their own scene graph structure. Further, with the abundance of OpenGL applications on the market, having an API based on the OpenGL specification will ease the efforts of porting these applications to the Java platform.

2.5 Please give a short description of the underlying technology or technologies:

OpenGL version 1.5, bindings for the J2SE Platform.

2.6 Is there a proposed package name for the API Specification? (i.e., javapi.something, org.something, etc.)

2.7 Does the proposed specification have any dependencies on specific operating systems, CPUs, or I/O devices that you know of?

An OpenGL library must be present on the platform.

2.8 Are there any security issues that cannot be addressed by the current security model?


2.9 Are there any internationalization or localization issues?


2.10 Are there any existing specifications that might be rendered obsolete, deprecated, or in need of revision as a result of this work?


2.11 Please describe the anticipated schedule for the development of this specification.

First Draft: January 2004
Public Review: March 2004
Final Draft: May 2004

2.12 Please describe the anticipated working model for the Expert Group working on developing this specification.

The primary means of communication will be email, with conference calls and face-to-face meetings scheduled as needed.

2.13 Please describe how the RI and TCK will de delivered, i.e. as part of a profile or platform edition, or stand-alone, or both. Include version information for the profile or platform in your answer.

The RI and TCK will be delivered stand-alone.

2.14 Please state the rationale if previous versions are available stand-alone and you are now proposing in 2.13 to only deliver RI and TCK as part of a profile or platform edition (See sections 1.1.5 and 1.1.6 of the JCP 2 document).


2.15 Please provide a description of the business terms for the Specification, RI and TCK that will apply when this JSR is final.

The specification will be released in accordance with standard terms as specified by the JCP process.

The reference implementation (RI) will be delivered in binary form free of charge from Licensing details are expected to be under the Binary Code License (BCL).

The source for the reference implementation is expected to be delivered via the Sun Community Source License under standard SCSL terms & licensing and available free of charge to all Java 2 platform, Enterprise Edition and Java 2 platform, Standard Edition licensees.

The TCK will be made available free of charge to all J2SE and J2EE licensees.

The TCK will be offered for license at no charge, without support or any trademark license rights, to qualified not-for-profit entities (including not-for-profit) academic institutions) and qualified individuals engaged in efforts to create compatible implementations of the Specification.

Section 3: Contributions

3.1 Please list any existing documents, specifications, or implementations that describe the technology. Please include links to the documents if they are publicly available.

The OpenGL 1.4 documentation can be found at:

The 1.5 documentation is schdeuled to be finalized in December 2003.

3.2 Explanation of how these items might be used as a starting point for the work.

The core OpenGL calls will be declared as native methods within a base OpenGL class. The wgl/glx/agl functionality will be abstracted out to make a platform independent way of accessing these features. The GLU library will be ported over to Java.