Java Programming Model
JSR 184
JSR 239
OpenGL-ES
EGL
GoForce 3D Hardware
App
•Java Model Software stack
•Top: Java application that runs in a JAVA Virtual Machine.
•Lowest level:  GoForce 3D hardwareyou have the GoForce 3D hardware.
•OpenGL ES / EGL – interfaces directly with the hardware

•JSR184 – 3D scene graph api
•JSR239 – low-level graphics interface in Java (OpenGL bindings in Java – individual draw calls, etc.)

•Java app using JSR184 or JSR239 on GoForce 3D will be hardware accelerated
•Working with VM vendors and JSR184/239 vendors to ensure quality Java support for GoForce 3D

•On top of the hardware there is a layer consisting of OpenGL-ES driver and EGL layer – these two components interface directly with the hardware.  The EGL component is an embedding layer that handles all of your device creation.  If you are familiar with OpenGL on Windows or Linux, in some ways it can be thought of as a windowing-system independent version of WGL or GLX.  OpenGL-ES on the other hand handles all of the graphics calls – state changes, geometry submission, etc.  On top of OpenGL-ES and EGL there are two different Java standards that are becoming increasingly available in Java Virtual Machines.  There’s JSR 184, which is sort of a scene graph API that allows you to specify a geometry database scene type of information. Then underneath the scenes, the Java virtual machine actually interfaces with OpenGL-ES to actually issue the draw calls and do the actual rendering to produce graphics on the screen.  The other standard that is not quite as far as long, but is rapidly gaining increasing acceptance is JSR 239.  JSR 239 is not a scene graphic API, it’s more of a lower level Java interface to the graphics hardware.  Basically it is geared towards offering OpenGL ES bindings in a Java environment so it makes it possible to access the OpenGL API in a Java application.  So a Java application utilizing JSR184 or JSR239 will be hardware accelerated on GoForce 3D hardware, so long as the the virtual machine implementation supports the standards.  We are engaged with both VM vendors and companies providing JSR184/239 solutions to ensure quality JAVA support for GoForce 3D.