From bba73bc096250a3c7fc036d84b1ea054d1b70b06 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Sun, 23 Jun 2019 08:03:04 +0200 Subject: iOS: Initial working commit supporting iOS (ipad pro 11) using our OpenJFK 9 x86_64 and arm64 build. Test demo class is 'com.jogamp.opengl.demos.ios.Hello', residing in the new demo folder 'src/demos/com/jogamp/opengl/demos/ios/Hello.java'. This commit does not yet include a working NEWT specialization for iOS, but it shall followup soon. Instead this commit demonstrates JOGL operating on native UIWindow, UIView and CAEAGLLayer as provided by Nativewindow's IOSUtil. Test Video https://www.youtube.com/watch?v=Z4lUQNFTGMI +++ Notable bug: The FBO used and sharing the COLORBUFFER RENDERBUFFER memory resources with CAEAGLLayer to be displayed in the UIView seemingly cannot handle GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24 or GL_DEPTH_COMPONENT32 depth buffer - none at all (Device + Simulation). Therefor the default demo GLEventListener chosen here don't require a depth buffer ;-) This issue can hopefully be mitigated with other means than using a flat FBO sink similar to FBO multisampling. --- make/scripts/make.jogl.all.ios.amd64.sh | 35 +++++++++++++++++++++++++++++++++ make/scripts/make.jogl.all.ios.arm64.sh | 35 +++++++++++++++++++++++++++++++++ make/scripts/make.jogl.all.macosx.sh | 4 ++-- make/scripts/setenv-jogl.sh | 4 +--- make/scripts/tests-osx-x64.sh | 4 ++-- make/scripts/tests-x64.sh | 2 ++ make/scripts/tests.sh | 9 ++++++--- 7 files changed, 83 insertions(+), 10 deletions(-) create mode 100755 make/scripts/make.jogl.all.ios.amd64.sh create mode 100755 make/scripts/make.jogl.all.ios.arm64.sh (limited to 'make/scripts') diff --git a/make/scripts/make.jogl.all.ios.amd64.sh b/make/scripts/make.jogl.all.ios.amd64.sh new file mode 100755 index 000000000..8ea91b984 --- /dev/null +++ b/make/scripts/make.jogl.all.ios.amd64.sh @@ -0,0 +1,35 @@ +#! /bin/sh + +if [ -e /opt-share/etc/profile.ant ] ; then + . /opt-share/etc/profile.ant +fi + +# -Dc.compiler.debug=true +# +# -Dtarget.sourcelevel=1.6 \ +# -Dtarget.targetlevel=1.6 \ +# -Dtarget.rt.jar=/opt-share/jre1.6.0_30/lib/rt.jar \ + +# Force OSX SDK 10.6, if desired +# export SDKROOT=macosx10.6 + +export SDKROOT=iphonesimulator12.2 +xcrun --show-sdk-path + +JAVA_HOME=`/usr/libexec/java_home -version 1.8` +PATH=$JAVA_HOME/bin:$PATH +export JAVA_HOME PATH +which java +java -version + +export SOURCE_LEVEL=1.6 +export TARGET_LEVEL=1.6 +export TARGET_RT_JAR=/opt-share/jre1.6.0_30/lib/rt.jar + +#export JOGAMP_JAR_CODEBASE="Codebase: *.jogamp.org" +export JOGAMP_JAR_CODEBASE="Codebase: *.goethel.localnet" + +ant \ + -Drootrel.build=build-ios-amd64 \ + -DisIOSAmd64=true \ + $* 2>&1 | tee make.jogl.all.ios-amd64.log diff --git a/make/scripts/make.jogl.all.ios.arm64.sh b/make/scripts/make.jogl.all.ios.arm64.sh new file mode 100755 index 000000000..8a101adf2 --- /dev/null +++ b/make/scripts/make.jogl.all.ios.arm64.sh @@ -0,0 +1,35 @@ +#! /bin/sh + +if [ -e /opt-share/etc/profile.ant ] ; then + . /opt-share/etc/profile.ant +fi + +# -Dc.compiler.debug=true +# +# -Dtarget.sourcelevel=1.6 \ +# -Dtarget.targetlevel=1.6 \ +# -Dtarget.rt.jar=/opt-share/jre1.6.0_30/lib/rt.jar \ + +# Force OSX SDK 10.6, if desired +# export SDKROOT=macosx10.6 + +export SDKROOT=iphoneos12.2 +xcrun --show-sdk-path + +JAVA_HOME=`/usr/libexec/java_home -version 1.8` +PATH=$JAVA_HOME/bin:$PATH +export JAVA_HOME PATH +which java +java -version + +export SOURCE_LEVEL=1.6 +export TARGET_LEVEL=1.6 +export TARGET_RT_JAR=/opt-share/jre1.6.0_30/lib/rt.jar + +#export JOGAMP_JAR_CODEBASE="Codebase: *.jogamp.org" +export JOGAMP_JAR_CODEBASE="Codebase: *.goethel.localnet" + +ant \ + -Drootrel.build=build-ios-arm64 \ + -DisIOSArm64=true \ + $* 2>&1 | tee make.jogl.all.ios-arm64.log diff --git a/make/scripts/make.jogl.all.macosx.sh b/make/scripts/make.jogl.all.macosx.sh index 94b7f13b3..d9db72045 100755 --- a/make/scripts/make.jogl.all.macosx.sh +++ b/make/scripts/make.jogl.all.macosx.sh @@ -7,8 +7,8 @@ fi # Force OSX SDK 10.6, if desired # export SDKROOT=macosx10.6 -JAVA_HOME=`/usr/libexec/java_home` -#JAVA_HOME=`/usr/libexec/java_home -version 1.8` +#JAVA_HOME=`/usr/libexec/java_home` +JAVA_HOME=`/usr/libexec/java_home -version 1.8` #JAVA_HOME=`/usr/libexec/java_home -version 1.7` #JAVA_HOME=`/usr/libexec/java_home -version 1.6` PATH=$JAVA_HOME/bin:$PATH diff --git a/make/scripts/setenv-jogl.sh b/make/scripts/setenv-jogl.sh index 79db4f9b1..cbc85760d 100755 --- a/make/scripts/setenv-jogl.sh +++ b/make/scripts/setenv-jogl.sh @@ -72,9 +72,7 @@ fi JOAL_DIR=`dirname $joalpf` JOAL_BUILDDIR="$JOAL_DIR"/"$JOGL_BUILDDIR_BASE" if [ ! -e "$JOAL_BUILDDIR" ] ; then - echo JOAL_BUILDDIR "$JOAL_BUILDDIR" does not exist - print_usage - exit + echo JOAL_BUILDDIR "$JOAL_BUILDDIR" does not exist \(warning\) fi JOAL_JAR="$JOAL_BUILDDIR"/jar/joal.jar diff --git a/make/scripts/tests-osx-x64.sh b/make/scripts/tests-osx-x64.sh index f0d8ffacf..949adc045 100755 --- a/make/scripts/tests-osx-x64.sh +++ b/make/scripts/tests-osx-x64.sh @@ -4,8 +4,8 @@ #export DYLD_LIBRARY_PATH=$HOME/ffmpeg-2.2.3/lib:$DYLD_LIBRARY_PATH export DYLD_LIBRARY_PATH=/usr/local/Cellar/ffmpeg/2.8/lib:$DYLD_LIBRARY_PATH -JAVA_HOME=`/usr/libexec/java_home` -#JAVA_HOME=`/usr/libexec/java_home -version 1.8` +#JAVA_HOME=`/usr/libexec/java_home` +JAVA_HOME=`/usr/libexec/java_home -version 1.8` #JAVA_HOME=`/usr/libexec/java_home -version 1.7` #JAVA_HOME=`/usr/libexec/java_home -version 1.7.0_25` #JAVA_HOME=`/usr/libexec/java_home -version 1.6.0` diff --git a/make/scripts/tests-x64.sh b/make/scripts/tests-x64.sh index 52216502f..e7301aef5 100755 --- a/make/scripts/tests-x64.sh +++ b/make/scripts/tests-x64.sh @@ -1,5 +1,7 @@ #! /bin/bash +#set -x + SDIR=`dirname $0` #export LD_LIBRARY_PATH=$HOME/libav-0.8/lib:$LD_LIBRARY_PATH diff --git a/make/scripts/tests.sh b/make/scripts/tests.sh index bad31647a..0342f7da3 100644 --- a/make/scripts/tests.sh +++ b/make/scripts/tests.sh @@ -5,6 +5,8 @@ if [ -z "$1" -o -z "$2" -o -z "$3" ] ; then exit 0 fi +#set -x + javaexe="$1" shift javaxargs=$1 @@ -97,6 +99,7 @@ function jrun() { swton=$1 shift + D_ARGS="-Djogl.debug.GLProfile" #D_ARGS="-Djogl.debug.DebugGL" #D_ARGS="-Djogl.debug.TraceGL" #D_ARGS="-Djogl.debug.DebugGL -Djogl.debug.TraceGL" @@ -435,7 +438,7 @@ function testawtswt() { #testnoawt com.jogamp.opengl.test.junit.jogl.acore.TestGLVersionParsing00NEWT $* #testnoawt com.jogamp.opengl.test.junit.jogl.acore.TestMainVersionGLWindowNEWT $* #testawt com.jogamp.opengl.test.junit.jogl.acore.TestMainVersionGLCanvasAWT $* -#testnoawt com.jogamp.opengl.test.junit.jogl.acore.TestGLProfile00NEWT $* +testnoawt com.jogamp.opengl.test.junit.jogl.acore.TestGLProfile00NEWT $* #testnoawt com.jogamp.opengl.test.junit.jogl.acore.TestGLProfile01NEWT $* #testnoawt com.jogamp.opengl.test.junit.jogl.acore.TestGLProfile02NEWTNoARBCtx $* #testnoawt com.jogamp.opengl.test.junit.jogl.acore.TestGLProfile03NEWTOffscreen $* @@ -754,7 +757,7 @@ function testawtswt() { #testawt com.jogamp.opengl.test.bugs.Bug735Inv2AppletAWT $* #testawt com.jogamp.opengl.test.bugs.Bug735Inv3AppletAWT $* #testawt com.jogamp.opengl.test.bugs.Bug735Inv4AWT $* - +# # # SWT (testswt) # @@ -762,7 +765,7 @@ function testawtswt() { #testswt com.jogamp.opengl.test.junit.jogl.swt.TestSWTAccessor02NewtGLWindow $* #testswt com.jogamp.opengl.test.junit.jogl.swt.TestNewtCanvasSWTGLn $* #testswt com.jogamp.opengl.test.junit.jogl.swt.TestSWTJOGLGLCanvas01GLn $* -testswt com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NewtCanvasSWT $* +#testswt com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NewtCanvasSWT $* #testswt com.jogamp.opengl.test.junit.jogl.demos.es2.swt.TestGearsES2SWT $* #testswt com.jogamp.opengl.test.junit.jogl.swt.TestSWTEclipseGLCanvas01GLn $* #testswt com.jogamp.opengl.test.junit.jogl.swt.TestBug672NewtCanvasSWTSashForm $* -- cgit v1.2.3