diff --git a/android/bloom/AndroidManifest.xml b/android/bloom/AndroidManifest.xml
index 16144258..880dd91f 100644
--- a/android/bloom/AndroidManifest.xml
+++ b/android/bloom/AndroidManifest.xml
@@ -15,6 +15,7 @@
android:label="Bloom"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:launchMode="singleTask"
+ android:screenOrientation="landscape"
android:configChanges="orientation|screenSize|keyboardHidden">
diff --git a/android/bloom/build.bat b/android/bloom/build.bat
deleted file mode 100644
index df521d1f..00000000
--- a/android/bloom/build.bat
+++ /dev/null
@@ -1,29 +0,0 @@
-cd jni
-call ndk-build
-if %ERRORLEVEL% EQU 0 (
- echo ndk-build has failed, build cancelled
- cd..
-
- mkdir "assets\shaders\base"
- xcopy "..\..\data\shaders\base\*.spv" "assets\shaders\base" /Y
-
-
- mkdir "assets\shaders\bloom"
- xcopy "..\..\data\shaders\bloom\*.spv" "assets\shaders\bloom" /Y
-
- mkdir "assets\textures"
- xcopy "..\..\data\textures\cubemap_space.ktx" "assets\textures" /Y
-
- mkdir "assets\models"
- xcopy "..\..\data\models\retroufo.dae" "assets\models" /Y
- xcopy "..\..\data\models\retroufo_glow.dae" "assets\models" /Y
- xcopy "..\..\data\models\cube.obj" "assets\models" /Y
-
- mkdir "res\drawable"
- xcopy "..\..\android\images\icon.png" "res\drawable" /Y
-
- call ant debug -Dout.final.file=vulkanBloom.apk
-) ELSE (
- echo error : ndk-build failed with errors!
- cd..
-)
diff --git a/android/bloom/build.py b/android/bloom/build.py
new file mode 100644
index 00000000..bbf55142
--- /dev/null
+++ b/android/bloom/build.py
@@ -0,0 +1,47 @@
+import os
+import shutil
+import subprocess
+import sys
+import glob
+
+APK_NAME = "vulkanBloom"
+SHADER_DIR = "bloom"
+ASSETS_MODELS = ["retroufo.dae", "retroufo_glow.dae", "cube.obj"]
+ASSETS_TEXTURES = ["cubemap_space.ktx"]
+
+if subprocess.call("ndk-build", shell=True) == 0:
+ print("Build successful")
+
+ # Assets
+ os.makedirs("./assets/shaders/base", exist_ok=True)
+ os.makedirs("./assets/shaders/%s" % SHADER_DIR, exist_ok=True)
+ os.makedirs("./assets/textures", exist_ok=True)
+ os.makedirs("./assets/models", exist_ok=True)
+ os.makedirs("./res/drawable", exist_ok=True)
+
+ # Shaders
+ # Base
+ for file in glob.glob("../../data/shaders/base/*.spv"):
+ shutil.copy(file, "./assets/shaders/base")
+ # Sample
+ for file in glob.glob("../../data/shaders/%s/*.spv" %SHADER_DIR):
+ shutil.copy(file, "./assets/shaders/%s" % SHADER_DIR)
+ # Textures
+ for file in ASSETS_TEXTURES:
+ shutil.copy("../../data/textures/%s" % file, "./assets/textures")
+ # Models
+ for file in ASSETS_MODELS:
+ shutil.copy("../../data/models/%s" % file, "./assets/models")
+
+ # Icon
+ shutil.copy("../../android/images/icon.png", "./res/drawable")
+
+ if subprocess.call("ant debug -Dout.final.file=%s.apk" % APK_NAME, shell=True) == 0:
+ if len(sys.argv) > 1:
+ if sys.argv[1] == "-deploy":
+ if subprocess.call("adb install -r %s.apk" % APK_NAME, shell=True) != 0:
+ print("Could not deploy to device!")
+ else:
+ print("Error during build process!")
+else:
+ print("Error building project!")
diff --git a/android/debugmarker/AndroidManifest.xml b/android/debugmarker/AndroidManifest.xml
index a6365a84..65c11486 100644
--- a/android/debugmarker/AndroidManifest.xml
+++ b/android/debugmarker/AndroidManifest.xml
@@ -15,6 +15,7 @@
android:label="Debug marker"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:launchMode="singleTask"
+ android:screenOrientation="landscape"
android:configChanges="orientation|screenSize|keyboardHidden">
diff --git a/android/debugmarker/build.bat b/android/debugmarker/build.bat
deleted file mode 100644
index 40dcb469..00000000
--- a/android/debugmarker/build.bat
+++ /dev/null
@@ -1,24 +0,0 @@
-cd jni
-call ndk-build
-if %ERRORLEVEL% EQU 0 (
- echo ndk-build has failed, build cancelled
- cd..
-
- mkdir "assets\shaders\base"
- xcopy "..\..\data\shaders\base\*.spv" "assets\shaders\base" /Y
-
- mkdir "assets\shaders\debugmarker"
- xcopy "..\..\data\shaders\debugmarker\*.spv" "assets\shaders\debugmarker" /Y
-
- mkdir "assets\models"
- xcopy "..\..\data\models\treasure_smooth.dae" "assets\models" /Y
- xcopy "..\..\data\models\treasure_glow.dae" "assets\models" /Y
-
- mkdir "res\drawable"
- xcopy "..\..\android\images\icon.png" "res\drawable" /Y
-
- call ant debug -Dout.final.file=vulkanDebugmarker.apk
-) ELSE (
- echo error : ndk-build failed with errors!
- cd..
-)
diff --git a/android/debugmarker/build.py b/android/debugmarker/build.py
new file mode 100644
index 00000000..f531f1cc
--- /dev/null
+++ b/android/debugmarker/build.py
@@ -0,0 +1,42 @@
+import os
+import shutil
+import subprocess
+import sys
+import glob
+
+APK_NAME = "vulkanDebugmarker"
+SHADER_DIR = "debugmarker"
+ASSETS_MODELS = ["treasure_smooth.dae", "treasure_glow.dae"]
+
+if subprocess.call("ndk-build", shell=True) == 0:
+ print("Build successful")
+
+ # Assets
+ os.makedirs("./assets/shaders/base", exist_ok=True)
+ os.makedirs("./assets/shaders/%s" % SHADER_DIR, exist_ok=True)
+ os.makedirs("./assets/models", exist_ok=True)
+ os.makedirs("./res/drawable", exist_ok=True)
+
+ # Shaders
+ # Base
+ for file in glob.glob("../../data/shaders/base/*.spv"):
+ shutil.copy(file, "./assets/shaders/base")
+ # Sample
+ for file in glob.glob("../../data/shaders/%s/*.spv" %SHADER_DIR):
+ shutil.copy(file, "./assets/shaders/%s" % SHADER_DIR)
+ # Models
+ for file in ASSETS_MODELS:
+ shutil.copy("../../data/models/%s" % file, "./assets/models")
+
+ # Icon
+ shutil.copy("../../android/images/icon.png", "./res/drawable")
+
+ if subprocess.call("ant debug -Dout.final.file=%s.apk" % APK_NAME, shell=True) == 0:
+ if len(sys.argv) > 1:
+ if sys.argv[1] == "-deploy":
+ if subprocess.call("adb install -r %s.apk" % APK_NAME, shell=True) != 0:
+ print("Could not deploy to device!")
+ else:
+ print("Error during build process!")
+else:
+ print("Error building project!")
diff --git a/android/distancefieldfonts/AndroidManifest.xml b/android/distancefieldfonts/AndroidManifest.xml
index a1fdbb46..27cf582a 100644
--- a/android/distancefieldfonts/AndroidManifest.xml
+++ b/android/distancefieldfonts/AndroidManifest.xml
@@ -15,6 +15,7 @@
android:label="Distance Field Fonts"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:launchMode="singleTask"
+ android:screenOrientation="landscape"
android:configChanges="orientation|screenSize|keyboardHidden">
diff --git a/android/distancefieldfonts/build.bat b/android/distancefieldfonts/build.bat
deleted file mode 100644
index 414aefa4..00000000
--- a/android/distancefieldfonts/build.bat
+++ /dev/null
@@ -1,27 +0,0 @@
-cd jni
-call ndk-build
-if %ERRORLEVEL% EQU 0 (
- echo ndk-build has failed, build cancelled
- cd..
-
- mkdir "assets\shaders\base"
- xcopy "..\..\data\shaders\base\*.spv" "assets\shaders\base" /Y
-
-
- mkdir "assets\shaders\distancefieldfonts"
- xcopy "..\..\data\shaders\distancefieldfonts\*.spv" "assets\shaders\distancefieldfonts" /Y
-
- mkdir "assets\textures"
- xcopy "..\..\data\textures\font_sdf_rgba.ktx" "assets\textures" /Y
- xcopy "..\..\data\textures\font_bitmap_rgba.ktx" "assets\textures" /Y
-
- xcopy "..\..\data\font.fnt" "assets" /Y
-
- mkdir "res\drawable"
- xcopy "..\..\android\images\icon.png" "res\drawable" /Y
-
- call ant debug -Dout.final.file=vulkanDistancefieldfonts.apk
-) ELSE (
- echo error : ndk-build failed with errors!
- cd..
-)
diff --git a/android/distancefieldfonts/build.py b/android/distancefieldfonts/build.py
new file mode 100644
index 00000000..92e8dcf2
--- /dev/null
+++ b/android/distancefieldfonts/build.py
@@ -0,0 +1,44 @@
+import os
+import shutil
+import subprocess
+import sys
+import glob
+
+APK_NAME = "vulkanDistancefieldfonts"
+SHADER_DIR = "distancefieldfonts"
+ASSETS_TEXTURES = ["font_sdf_rgba.ktx", "font_bitmap_rgba.ktx"]
+
+if subprocess.call("ndk-build", shell=True) == 0:
+ print("Build successful")
+
+ # Assets
+ os.makedirs("./assets/shaders/base", exist_ok=True)
+ os.makedirs("./assets/shaders/%s" % SHADER_DIR, exist_ok=True)
+ os.makedirs("./assets/textures", exist_ok=True)
+ os.makedirs("./res/drawable", exist_ok=True)
+
+ # Shaders
+ # Base
+ for file in glob.glob("../../data/shaders/base/*.spv"):
+ shutil.copy(file, "./assets/shaders/base")
+ # Sample
+ for file in glob.glob("../../data/shaders/%s/*.spv" %SHADER_DIR):
+ shutil.copy(file, "./assets/shaders/%s" % SHADER_DIR)
+ # Textures
+ for file in ASSETS_TEXTURES:
+ shutil.copy("../../data/textures/%s" % file, "./assets/textures")
+ # Font file
+ shutil.copy("../../data/font.fnt", "./assets")
+
+ # Icon
+ shutil.copy("../../android/images/icon.png", "./res/drawable")
+
+ if subprocess.call("ant debug -Dout.final.file=%s.apk" % APK_NAME, shell=True) == 0:
+ if len(sys.argv) > 1:
+ if sys.argv[1] == "-deploy":
+ if subprocess.call("adb install -r %s.apk" % APK_NAME, shell=True) != 0:
+ print("Could not deploy to device!")
+ else:
+ print("Error during build process!")
+else:
+ print("Error building project!")
diff --git a/android/geometryshader/AndroidManifest.xml b/android/geometryshader/AndroidManifest.xml
index 234bcc21..e2369a7c 100644
--- a/android/geometryshader/AndroidManifest.xml
+++ b/android/geometryshader/AndroidManifest.xml
@@ -15,6 +15,7 @@
android:label="Geometry shader"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:launchMode="singleTask"
+ android:screenOrientation="landscape"
android:configChanges="orientation|screenSize|keyboardHidden">
diff --git a/android/geometryshader/build.bat b/android/geometryshader/build.bat
deleted file mode 100644
index 2bca1ea9..00000000
--- a/android/geometryshader/build.bat
+++ /dev/null
@@ -1,24 +0,0 @@
-cd jni
-call ndk-build
-if %ERRORLEVEL% EQU 0 (
- echo ndk-build has failed, build cancelled
- cd..
-
- mkdir "assets\shaders\base"
- xcopy "..\..\data\shaders\base\*.spv" "assets\shaders\base" /Y
-
-
- mkdir "assets\shaders\geometryshader"
- xcopy "..\..\data\shaders\geometryshader\*.spv" "assets\shaders\geometryshader" /Y
-
- mkdir "assets\models"
- xcopy "..\..\data\models\suzanne.obj" "assets\models" /Y
-
- mkdir "res\drawable"
- xcopy "..\..\android\images\icon.png" "res\drawable" /Y
-
- call ant debug -Dout.final.file=vulkanGeometryshader.apk
-) ELSE (
- echo error : ndk-build failed with errors!
- cd..
-)
diff --git a/android/geometryshader/build.py b/android/geometryshader/build.py
new file mode 100644
index 00000000..42cbbdee
--- /dev/null
+++ b/android/geometryshader/build.py
@@ -0,0 +1,42 @@
+import os
+import shutil
+import subprocess
+import sys
+import glob
+
+APK_NAME = "vulkanGeometryshader"
+SHADER_DIR = "geometryshader"
+ASSETS_MODELS = ["suzanne.obj"]
+
+if subprocess.call("ndk-build", shell=True) == 0:
+ print("Build successful")
+
+ # Assets
+ os.makedirs("./assets/shaders/base", exist_ok=True)
+ os.makedirs("./assets/shaders/%s" % SHADER_DIR, exist_ok=True)
+ os.makedirs("./assets/models", exist_ok=True)
+ os.makedirs("./res/drawable", exist_ok=True)
+
+ # Shaders
+ # Base
+ for file in glob.glob("../../data/shaders/base/*.spv"):
+ shutil.copy(file, "./assets/shaders/base")
+ # Sample
+ for file in glob.glob("../../data/shaders/%s/*.spv" %SHADER_DIR):
+ shutil.copy(file, "./assets/shaders/%s" % SHADER_DIR)
+ # Models
+ for file in ASSETS_MODELS:
+ shutil.copy("../../data/models/%s" % file, "./assets/models")
+
+ # Icon
+ shutil.copy("../../android/images/icon.png", "./res/drawable")
+
+ if subprocess.call("ant debug -Dout.final.file=%s.apk" % APK_NAME, shell=True) == 0:
+ if len(sys.argv) > 1:
+ if sys.argv[1] == "-deploy":
+ if subprocess.call("adb install -r %s.apk" % APK_NAME, shell=True) != 0:
+ print("Could not deploy to device!")
+ else:
+ print("Error during build process!")
+else:
+ print("Error building project!")
diff --git a/android/radialblur/AndroidManifest.xml b/android/radialblur/AndroidManifest.xml
index 84d86593..39719255 100644
--- a/android/radialblur/AndroidManifest.xml
+++ b/android/radialblur/AndroidManifest.xml
@@ -15,6 +15,7 @@
android:label="Radial Blur"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:launchMode="singleTask"
+ android:screenOrientation="landscape"
android:configChanges="orientation|screenSize|keyboardHidden">
diff --git a/android/radialblur/build.bat b/android/radialblur/build.bat
deleted file mode 100644
index a90eb9d3..00000000
--- a/android/radialblur/build.bat
+++ /dev/null
@@ -1,26 +0,0 @@
-cd jni
-call ndk-build
-if %ERRORLEVEL% EQU 0 (
- echo ndk-build has failed, build cancelled
- cd..
-
- mkdir "assets\shaders\base"
- xcopy "..\..\data\shaders\base\*.spv" "assets\shaders\base" /Y
-
- mkdir "assets\shaders\radialblur"
- xcopy "..\..\data\shaders\radialblur\*.spv" "assets\shaders\radialblur" /Y
-
- mkdir "assets\models"
- xcopy "..\..\data\models\glowsphere.dae" "assets\models" /Y
-
- mkdir "assets\textures"
- xcopy "..\..\data\textures\particle_gradient_rgba.ktx" "assets\textures" /Y
-
- mkdir "res\drawable"
- xcopy "..\..\android\images\icon.png" "res\drawable" /Y
-
- call ant debug -Dout.final.file=vulkanRadialblur.apk
-) ELSE (
- echo error : ndk-build failed with errors!
- cd..
-)
diff --git a/android/radialblur/build.py b/android/radialblur/build.py
new file mode 100644
index 00000000..10a49af3
--- /dev/null
+++ b/android/radialblur/build.py
@@ -0,0 +1,47 @@
+import os
+import shutil
+import subprocess
+import sys
+import glob
+
+APK_NAME = "vulkanRadialblur"
+SHADER_DIR = "radialblur"
+ASSETS_MODELS = ["glowsphere.dae"]
+ASSETS_TEXTURES = ["particle_gradient_rgba.ktx"]
+
+if subprocess.call("ndk-build", shell=True) == 0:
+ print("Build successful")
+
+ # Assets
+ os.makedirs("./assets/shaders/base", exist_ok=True)
+ os.makedirs("./assets/shaders/%s" % SHADER_DIR, exist_ok=True)
+ os.makedirs("./assets/textures", exist_ok=True)
+ os.makedirs("./assets/models", exist_ok=True)
+ os.makedirs("./res/drawable", exist_ok=True)
+
+ # Shaders
+ # Base
+ for file in glob.glob("../../data/shaders/base/*.spv"):
+ shutil.copy(file, "./assets/shaders/base")
+ # Sample
+ for file in glob.glob("../../data/shaders/%s/*.spv" %SHADER_DIR):
+ shutil.copy(file, "./assets/shaders/%s" % SHADER_DIR)
+ # Textures
+ for file in ASSETS_TEXTURES:
+ shutil.copy("../../data/textures/%s" % file, "./assets/textures")
+ # Models
+ for file in ASSETS_MODELS:
+ shutil.copy("../../data/models/%s" % file, "./assets/models")
+
+ # Icon
+ shutil.copy("../../android/images/icon.png", "./res/drawable")
+
+ if subprocess.call("ant debug -Dout.final.file=%s.apk" % APK_NAME, shell=True) == 0:
+ if len(sys.argv) > 1:
+ if sys.argv[1] == "-deploy":
+ if subprocess.call("adb install -r %s.apk" % APK_NAME, shell=True) != 0:
+ print("Could not deploy to device!")
+ else:
+ print("Error during build process!")
+else:
+ print("Error building project!")
diff --git a/android/shadowmapping/AndroidManifest.xml b/android/shadowmapping/AndroidManifest.xml
index 2c5fc242..3c925452 100644
--- a/android/shadowmapping/AndroidManifest.xml
+++ b/android/shadowmapping/AndroidManifest.xml
@@ -15,7 +15,7 @@
android:label="Shadow mapping"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:launchMode="singleTask"
- android:screenOrientation="landscape"
+ android:screenOrientation="landscape"
android:configChanges="orientation|screenSize|keyboardHidden">
diff --git a/android/shadowmapping/build.bat b/android/shadowmapping/build.bat
deleted file mode 100644
index 3da2a88e..00000000
--- a/android/shadowmapping/build.bat
+++ /dev/null
@@ -1,24 +0,0 @@
-cd jni
-call ndk-build
-if %ERRORLEVEL% EQU 0 (
- echo ndk-build has failed, build cancelled
- cd..
-
- mkdir "assets\shaders\base"
- xcopy "..\..\data\shaders\base\*.spv" "assets\shaders\base" /Y
-
-
- mkdir "assets\shaders\shadowmapping"
- xcopy "..\..\data\shaders\shadowmapping\*.spv" "assets\shaders\shadowmapping" /Y
-
- mkdir "assets\models"
- xcopy "..\..\data\models\vulkanscene_shadow.dae" "assets\models" /Y
-
- mkdir "res\drawable"
- xcopy "..\..\android\images\icon.png" "res\drawable" /Y
-
- call ant debug -Dout.final.file=vulkanShadowmapping.apk
-) ELSE (
- echo error : ndk-build failed with errors!
- cd..
-)
diff --git a/android/shadowmapping/build.py b/android/shadowmapping/build.py
new file mode 100644
index 00000000..f168ba87
--- /dev/null
+++ b/android/shadowmapping/build.py
@@ -0,0 +1,42 @@
+import os
+import shutil
+import subprocess
+import sys
+import glob
+
+APK_NAME = "vulkanShadowmapping"
+SHADER_DIR = "shadowmapping"
+ASSETS_MODELS = ["vulkanscene_shadow.dae"]
+
+if subprocess.call("ndk-build", shell=True) == 0:
+ print("Build successful")
+
+ # Assets
+ os.makedirs("./assets/shaders/base", exist_ok=True)
+ os.makedirs("./assets/shaders/%s" % SHADER_DIR, exist_ok=True)
+ os.makedirs("./assets/models", exist_ok=True)
+ os.makedirs("./res/drawable", exist_ok=True)
+
+ # Shaders
+ # Base
+ for file in glob.glob("../../data/shaders/base/*.spv"):
+ shutil.copy(file, "./assets/shaders/base")
+ # Sample
+ for file in glob.glob("../../data/shaders/%s/*.spv" %SHADER_DIR):
+ shutil.copy(file, "./assets/shaders/%s" % SHADER_DIR)
+ # Models
+ for file in ASSETS_MODELS:
+ shutil.copy("../../data/models/%s" % file, "./assets/models")
+
+ # Icon
+ shutil.copy("../../android/images/icon.png", "./res/drawable")
+
+ if subprocess.call("ant debug -Dout.final.file=%s.apk" % APK_NAME, shell=True) == 0:
+ if len(sys.argv) > 1:
+ if sys.argv[1] == "-deploy":
+ if subprocess.call("adb install -r %s.apk" % APK_NAME, shell=True) != 0:
+ print("Could not deploy to device!")
+ else:
+ print("Error during build process!")
+else:
+ print("Error building project!")
diff --git a/android/shadowmappingomni/AndroidManifest.xml b/android/shadowmappingomni/AndroidManifest.xml
index 25148b0f..c17eb35d 100644
--- a/android/shadowmappingomni/AndroidManifest.xml
+++ b/android/shadowmappingomni/AndroidManifest.xml
@@ -15,6 +15,7 @@
android:label="Omni-directional shadow mapping"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:launchMode="singleTask"
+ android:screenOrientation="landscape"
android:configChanges="orientation|screenSize|keyboardHidden">
diff --git a/android/shadowmappingomni/build.bat b/android/shadowmappingomni/build.bat
deleted file mode 100644
index 9f43ed1f..00000000
--- a/android/shadowmappingomni/build.bat
+++ /dev/null
@@ -1,25 +0,0 @@
-cd jni
-call ndk-build
-if %ERRORLEVEL% EQU 0 (
- echo ndk-build has failed, build cancelled
- cd..
-
- mkdir "assets\shaders\base"
- xcopy "..\..\data\shaders\base\*.spv" "assets\shaders\base" /Y
-
-
- mkdir "assets\shaders\shadowmapomni"
- xcopy "..\..\data\shaders\shadowmapomni\*.spv" "assets\shaders\shadowmapomni" /Y
-
- mkdir "assets\models"
- xcopy "..\..\data\models\shadowscene_fire.dae" "assets\models" /Y
- xcopy "..\..\data\models\cube.obj" "assets\models" /Y
-
- mkdir "res\drawable"
- xcopy "..\..\android\images\icon.png" "res\drawable" /Y
-
- call ant debug -Dout.final.file=vulkanShadowmappingomni.apk
-) ELSE (
- echo error : ndk-build failed with errors!
- cd..
-)
diff --git a/android/shadowmappingomni/build.py b/android/shadowmappingomni/build.py
new file mode 100644
index 00000000..96e6f205
--- /dev/null
+++ b/android/shadowmappingomni/build.py
@@ -0,0 +1,42 @@
+import os
+import shutil
+import subprocess
+import sys
+import glob
+
+APK_NAME = "vulkanShadowmappingomni"
+SHADER_DIR = "shadowmapomni"
+ASSETS_MODELS = ["shadowscene_fire.dae", "cube.obj"]
+
+if subprocess.call("ndk-build", shell=True) == 0:
+ print("Build successful")
+
+ # Assets
+ os.makedirs("./assets/shaders/base", exist_ok=True)
+ os.makedirs("./assets/shaders/%s" % SHADER_DIR, exist_ok=True)
+ os.makedirs("./assets/models", exist_ok=True)
+ os.makedirs("./res/drawable", exist_ok=True)
+
+ # Shaders
+ # Base
+ for file in glob.glob("../../data/shaders/base/*.spv"):
+ shutil.copy(file, "./assets/shaders/base")
+ # Sample
+ for file in glob.glob("../../data/shaders/%s/*.spv" %SHADER_DIR):
+ shutil.copy(file, "./assets/shaders/%s" % SHADER_DIR)
+ # Models
+ for file in ASSETS_MODELS:
+ shutil.copy("../../data/models/%s" % file, "./assets/models")
+
+ # Icon
+ shutil.copy("../../android/images/icon.png", "./res/drawable")
+
+ if subprocess.call("ant debug -Dout.final.file=%s.apk" % APK_NAME, shell=True) == 0:
+ if len(sys.argv) > 1:
+ if sys.argv[1] == "-deploy":
+ if subprocess.call("adb install -r %s.apk" % APK_NAME, shell=True) != 0:
+ print("Could not deploy to device!")
+ else:
+ print("Error during build process!")
+else:
+ print("Error building project!")
diff --git a/android/specializationconstants/AndroidManifest.xml b/android/specializationconstants/AndroidManifest.xml
index c1a602c8..724e4fb8 100644
--- a/android/specializationconstants/AndroidManifest.xml
+++ b/android/specializationconstants/AndroidManifest.xml
@@ -15,6 +15,7 @@
android:label="Specialization constants"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:launchMode="singleTask"
+ android:screenOrientation="landscape"
android:configChanges="orientation|screenSize|keyboardHidden">
diff --git a/android/specializationconstants/build.bat b/android/specializationconstants/build.bat
deleted file mode 100644
index c625eb79..00000000
--- a/android/specializationconstants/build.bat
+++ /dev/null
@@ -1,22 +0,0 @@
-call ndk-build
-if %ERRORLEVEL% EQU 0 (
- mkdir "assets\shaders\base"
- xcopy "..\..\data\shaders\base\*.spv" "assets\shaders\base" /Y
-
- mkdir "assets\shaders\specializationconstants"
- xcopy "..\..\data\shaders\specializationconstants\*.spv" "assets\shaders\specializationconstants" /Y
-
- mkdir "assets\models"
- xcopy "..\..\data\models\color_teapot_spheres.dae" "assets\models" /Y
-
- mkdir "assets\textures"
- xcopy "..\..\data\textures\metalplate_nomips_rgba.ktx" "assets\textures" /Y
-
- mkdir "res\drawable"
- xcopy "..\images\icon.png" "res\drawable" /Y
-
- call ant debug -Dout.final.file=vulkanSpecializationconstants.apk
-) ELSE (
- echo error : ndk-build failed with errors!
- cd..
-)
\ No newline at end of file
diff --git a/android/specializationconstants/build.py b/android/specializationconstants/build.py
new file mode 100644
index 00000000..5782178a
--- /dev/null
+++ b/android/specializationconstants/build.py
@@ -0,0 +1,47 @@
+import os
+import shutil
+import subprocess
+import sys
+import glob
+
+APK_NAME = "vulkanSpecializationconstants"
+SHADER_DIR = "specializationconstants"
+ASSETS_MODELS = ["color_teapot_spheres.dae"]
+ASSETS_TEXTURES = ["metalplate_nomips_rgba.ktx"]
+
+if subprocess.call("ndk-build", shell=True) == 0:
+ print("Build successful")
+
+ # Assets
+ os.makedirs("./assets/shaders/base", exist_ok=True)
+ os.makedirs("./assets/shaders/%s" % SHADER_DIR, exist_ok=True)
+ os.makedirs("./assets/textures", exist_ok=True)
+ os.makedirs("./assets/models", exist_ok=True)
+ os.makedirs("./res/drawable", exist_ok=True)
+
+ # Shaders
+ # Base
+ for file in glob.glob("../../data/shaders/base/*.spv"):
+ shutil.copy(file, "./assets/shaders/base")
+ # Sample
+ for file in glob.glob("../../data/shaders/%s/*.spv" %SHADER_DIR):
+ shutil.copy(file, "./assets/shaders/%s" % SHADER_DIR)
+ # Textures
+ for file in ASSETS_TEXTURES:
+ shutil.copy("../../data/textures/%s" % file, "./assets/textures")
+ # Models
+ for file in ASSETS_MODELS:
+ shutil.copy("../../data/models/%s" % file, "./assets/models")
+
+ # Icon
+ shutil.copy("../../android/images/icon.png", "./res/drawable")
+
+ if subprocess.call("ant debug -Dout.final.file=%s.apk" % APK_NAME, shell=True) == 0:
+ if len(sys.argv) > 1:
+ if sys.argv[1] == "-deploy":
+ if subprocess.call("adb install -r %s.apk" % APK_NAME, shell=True) != 0:
+ print("Could not deploy to device!")
+ else:
+ print("Error during build process!")
+else:
+ print("Error building project!")
diff --git a/android/sphericalenvmapping/AndroidManifest.xml b/android/sphericalenvmapping/AndroidManifest.xml
index 54f7c8b4..04ac63c3 100644
--- a/android/sphericalenvmapping/AndroidManifest.xml
+++ b/android/sphericalenvmapping/AndroidManifest.xml
@@ -15,6 +15,7 @@
android:label="Spherical Environment Mapping"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:launchMode="singleTask"
+ android:screenOrientation="landscape"
android:configChanges="orientation|screenSize|keyboardHidden">
diff --git a/android/sphericalenvmapping/build.bat b/android/sphericalenvmapping/build.bat
deleted file mode 100644
index 311d67d3..00000000
--- a/android/sphericalenvmapping/build.bat
+++ /dev/null
@@ -1,27 +0,0 @@
-cd jni
-call ndk-build
-if %ERRORLEVEL% EQU 0 (
- echo ndk-build has failed, build cancelled
- cd..
-
- mkdir "assets\shaders\base"
- xcopy "..\..\data\shaders\base\*.spv" "assets\shaders\base" /Y
-
-
- mkdir "assets\shaders\sphericalenvmapping"
- xcopy "..\..\data\shaders\sphericalenvmapping\*.spv" "assets\shaders\sphericalenvmapping" /Y
-
- mkdir "assets\textures"
- xcopy "..\..\data\textures\matcap_array_rgba.ktx" "assets\textures" /Y
-
- mkdir "assets\models"
- xcopy "..\..\data\models\chinesedragon.dae" "assets\models" /Y
-
- mkdir "res\drawable"
- xcopy "..\..\android\images\icon.png" "res\drawable" /Y
-
- call ant debug -Dout.final.file=vulkanSphericalenvmapping.apk
-) ELSE (
- echo error : ndk-build failed with errors!
- cd..
-)
diff --git a/android/sphericalenvmapping/build.py b/android/sphericalenvmapping/build.py
new file mode 100644
index 00000000..7318895c
--- /dev/null
+++ b/android/sphericalenvmapping/build.py
@@ -0,0 +1,47 @@
+import os
+import shutil
+import subprocess
+import sys
+import glob
+
+APK_NAME = "vulkanSphericalenvmapping"
+SHADER_DIR = "sphericalenvmapping"
+ASSETS_MODELS = ["chinesedragon.dae"]
+ASSETS_TEXTURES = ["matcap_array_rgba.ktx"]
+
+if subprocess.call("ndk-build", shell=True) == 0:
+ print("Build successful")
+
+ # Assets
+ os.makedirs("./assets/shaders/base", exist_ok=True)
+ os.makedirs("./assets/shaders/%s" % SHADER_DIR, exist_ok=True)
+ os.makedirs("./assets/textures", exist_ok=True)
+ os.makedirs("./assets/models", exist_ok=True)
+ os.makedirs("./res/drawable", exist_ok=True)
+
+ # Shaders
+ # Base
+ for file in glob.glob("../../data/shaders/base/*.spv"):
+ shutil.copy(file, "./assets/shaders/base")
+ # Sample
+ for file in glob.glob("../../data/shaders/%s/*.spv" %SHADER_DIR):
+ shutil.copy(file, "./assets/shaders/%s" % SHADER_DIR)
+ # Textures
+ for file in ASSETS_TEXTURES:
+ shutil.copy("../../data/textures/%s" % file, "./assets/textures")
+ # Models
+ for file in ASSETS_MODELS:
+ shutil.copy("../../data/models/%s" % file, "./assets/models")
+
+ # Icon
+ shutil.copy("../../android/images/icon.png", "./res/drawable")
+
+ if subprocess.call("ant debug -Dout.final.file=%s.apk" % APK_NAME, shell=True) == 0:
+ if len(sys.argv) > 1:
+ if sys.argv[1] == "-deploy":
+ if subprocess.call("adb install -r %s.apk" % APK_NAME, shell=True) != 0:
+ print("Could not deploy to device!")
+ else:
+ print("Error during build process!")
+else:
+ print("Error building project!")
diff --git a/android/ssao/build.bat b/android/ssao/build.bat
deleted file mode 100644
index 38fb05f2..00000000
--- a/android/ssao/build.bat
+++ /dev/null
@@ -1,22 +0,0 @@
-cd jni
-call ndk-build
-if %ERRORLEVEL% EQU 0 (
- cd..
-
- mkdir "assets\shaders\base"
- xcopy "..\..\data\shaders\base\*.spv" "assets\shaders\base" /Y
-
- mkdir "assets\shaders\ssao"
- xcopy "..\..\data\shaders\ssao\*.spv" "assets\shaders\ssao" /Y
-
- mkdir "assets\models\sibenik"
- xcopy "..\..\data\models\sibenik\sibenik.dae" "assets\models\sibenik" /Y
-
- mkdir "res\drawable"
- xcopy "..\..\android\images\icon.png" "res\drawable" /Y
-
- call ant debug -Dout.final.file=vulkanSSAO.apk
-) ELSE (
- echo error : ndk-build failed with errors!
- cd..
-)
diff --git a/android/ssao/build.py b/android/ssao/build.py
new file mode 100644
index 00000000..50a1c418
--- /dev/null
+++ b/android/ssao/build.py
@@ -0,0 +1,47 @@
+import os
+import shutil
+import subprocess
+import sys
+import glob
+
+APK_NAME = "vulkanSSAO"
+SHADER_DIR = "ssao"
+
+if subprocess.call("ndk-build", shell=True) == 0:
+ print("Build successful")
+
+ # Assets
+ if not os.path.exists("./assets"):
+ os.makedirs("./assets")
+
+ # Shaders
+ # Base
+ if not os.path.exists("./assets/shaders/base"):
+ os.makedirs("./assets/shaders/base")
+ for file in glob.glob("../../data/shaders/base/*.spv"):
+ shutil.copy(file, "./assets/shaders/base")
+ # Sample
+ if not os.path.exists("./assets/shaders/%s" % SHADER_DIR):
+ os.makedirs("./assets/shaders/%s" % SHADER_DIR)
+ for file in glob.glob("../../data/shaders/%s/*.spv" %SHADER_DIR):
+ shutil.copy(file, "./assets/shaders/%s" % SHADER_DIR)
+ # Textures and model
+ if not os.path.exists("./assets/models/sibenik/"):
+ os.makedirs("./assets/models/sibenik/")
+ for file in glob.glob("../../data/models/sibenik/*.*"):
+ shutil.copy(file, "./assets/models/sibenik")
+
+ # Icon
+ if not os.path.exists("./res/drawable"):
+ os.makedirs("./res/drawable")
+ shutil.copy("../../android/images/icon.png", "./res/drawable")
+
+ if subprocess.call("ant debug -Dout.final.file=%s.apk" % APK_NAME, shell=True) == 0:
+ if len(sys.argv) > 1:
+ if sys.argv[1] == "-deploy":
+ if subprocess.call("adb install -r %s.apk" % APK_NAME, shell=True) != 0:
+ print("Could not deploy to device!")
+ else:
+ print("Error during build process!")
+else:
+ print("Error building project!")
diff --git a/android/subpasses/AndroidManifest.xml b/android/subpasses/AndroidManifest.xml
index 680e6914..868bbdf1 100644
--- a/android/subpasses/AndroidManifest.xml
+++ b/android/subpasses/AndroidManifest.xml
@@ -15,6 +15,7 @@
android:label="Subpasses"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:launchMode="singleTask"
+ android:screenOrientation="landscape"
android:configChanges="orientation|screenSize|keyboardHidden">