we can help you - caciocavallo OpenGL ES backend and possibly OpenVG backend.
Xerxes Rånby
xerxes at zafena.se
Tue Jan 3 04:45:51 PST 2012
2012-01-03 12:47, Kadir BASOL skrev:
> we can help you on this project. But we dont know what to do for OpenGL ES side. You can give us responsibility for this side.
>
Hi today there exist two good Java binding/frameworks LWJGL and JOGL that you can use in combination with OpenJDK to get access to the OpenGL-ES 2.0 drivers.
These bindings provide a JSR 239: JavaTM Binding for the OpenGL ES API, that are similar to the Java OpenGL-ES bindings found inside the Android API stack.
I have put some notes on the TrimSlice forum:
http://www.trimslice.com/forum/viewtopic.php?f=48&t=402 - OpenGL-ES acceleration using JogAmp JOGL + OpenJDK
http://www.trimslice.com/forum/viewtopic.php?f=48&t=393 - OpenGL-ES acceleration using LWJGL + OpenJDK
These notes explain how to test and build these two frameworks on embedded systems to render hardware accelerated and shaded primitives using the OpenGL-ES 2.0 pipeline.
It basically work like this:
First you need the OpenJDK classes and a suitable JVM.
JVMs that are known to work on embedded systems and can be built from free software are JamVM, CACAO, Zero and Shark.
JOGL 2.0 and/or LWJGL can then be used as a clean interface to the GPU manufacturers libGLES_v2.so and libEGL.so libraries.
Try write a caciocavallo back-end based on the JOGL 2.0 or LWJGL example code!
OpenGL-ES itself are fast to render 3D polygons but you will need to write a clever rasterizer in order to make OpenGL-ES render all the frequently found curves and shapes that are commonly found in Java 2d GUI applications.
Switching topic OpenVG (Open Vector Graphics):
One of the best ways get accelerated java 2d and 2.5d (think overlapped windows) gui's on embedded hardware are to first create a open source binding for OpenVG.
OpenVG exist in silicon on most embedded system on a soc chips with integrated GPU core. I know that Nokia and RIM are providing a OpenVG implementations based on JSR 287: Scalable 2D Vector Graphics API 2.0 for Java ME.
Unfortunately currently no free or open-source implementation exist for OpenVG that I am aware of. There do exist some projects that emulates the OpenVG layer by rasterizing OpenVG primitives into OpenGL-ES calls like the jni intense androidvg project.
The JogAmp community have started on implementing a "JOVG" sister project to JOGL that would allow JOGL to make use of OpenVG hardware acceleration in combination with the OpenJDk classes.
https://github.com/syntelos/jovg
Cheers
Xerxes
More information about the caciocavallo-dev
mailing list