JogAmp is a project that develops a collection of high performance
Java™ libraries for 3D Graphics, Multimedia and Processing.
This platform provide Java™ language bindings to the OpenGL®,
OpenCL™, OpenAL and OpenMAX APIs.
The platform consists of four modules:
- Gluegen. This is a tool which automatically generates the Java code
and Java Native Interface code necessary to call C libraries. It is
also needed to build the other modules of JogAmp.
- JOGL (Java OpenGL). It is the main module of JogAmp. It provides
access to the APIs in the OpenGL, ES, and EGL specifications. The
module includes also a native windowing toolkit, NEWT.
- JOAL (Java OpenAL). It implements the Java bindings for OpenAL API
and is designed to provide hardware-supported 3D spatialized audio.
- JOCL (Java OpenCL). It provides the Java bindings for OpenCL API.
By default this script builds the package to install by default the
modules Gluegen and JOGL. The build of JOAL is optional and enabled by
default but can be disabled passing the following environment variable
JOAL=no ./jogamp.SlackBuild
The build of module JOCL is optional and disabled by default. To
enable it pass the following environment variable
JOCL=yes ./jogamp.SlackBuild
Furthermore:
1. The script requires the setting of the system environment
variable $JAVA_HOME that should be available with an usual
configuration. If not, please to set it before launch the script
export JAVA_HOME=<path to your JDK installation>
(for example: export JAVA_HOME=/usr/lib64/openjdk17)
2. The path of Java executables (java, javac, ecc.) should be included
in the system environment variable $PATH of root user. If not you
have to set a full path to $JAVA_HOME/bin as following
export PATH=$JAVA_HOME/bin:$PATH
3. The build requires an installed openJDK 17 compliant SDK available
in the SBo repository. This script is tested with the package
zulu-openJDK17 but it should work also with the openJDK17 package.
The build against jdk (8u361) or jdk19 packages is not sure.
4. At the end, this slackbuild is still experimental because the
installation is not tested in runtime with the development of
applets and Java applications or the acquire as dependency by
packages that supports JogAmp. At the moment, the script installs
the JAR archives compatible with all platforms and the libraries,
but it is not sure if the compilers get access to these bindings.
So, it is possible that something still needs to be added or set in
the configuration post installation. If you would contribute,
please report to the mantainer for any issue or feedback to fix,
extend, and/or improve the slackbuild.