Android build files for deferred multisampling

This commit is contained in:
saschawillems 2017-03-11 12:13:42 +01:00
parent cddbebddea
commit 6125cdb5cb
7 changed files with 152 additions and 0 deletions

View file

@ -36,6 +36,7 @@ call _build debugmarker %1
call _build scenerendering %1 call _build scenerendering %1
call _build terraintessellation %1 call _build terraintessellation %1
call _build deferredshadows %1 call _build deferredshadows %1
call _buold deferredmulitsampling %1
call _build indirectdraw %1 call _build indirectdraw %1
call _build texturemipmapgen %1 call _build texturemipmapgen %1
call _build texture3d %1 call _build texture3d %1

View file

@ -0,0 +1,10 @@
/assets/
/res/
/bin/
/libs/
/obj/
/build.xml
/local.properties
/project.properties
/proguard-project.txt
*.apk

View file

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.saschawillems.vulkanDeferredmulitsampling"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="19" />
<uses-feature android:name="android.hardware.touchscreen" android:required="false"/>
<uses-feature android:name="android.hardware.gamepad" android:required="false"/>
<uses-feature android:name="android.software.leanback" android:required="false"/>
<application android:label="vulkanDeferredmulitsampling" android:icon="@drawable/icon" android:hasCode="false">
<activity android:name="android.app.NativeActivity"
android:label="Deferred Multisampling"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:launchMode="singleTask"
android:screenOrientation="landscape"
android:configChanges="orientation|screenSize|keyboardHidden">
<meta-data android:name="android.app.lib_name" android:value="vulkanDeferredmulitsampling" />
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>

View file

@ -0,0 +1,58 @@
import os
import shutil
import subprocess
import sys
import glob
APK_NAME = "vulkanDeferredmulitsampling"
SHADER_DIR = "deferredmultisampling"
ASSETS_MODELS = ["openbox.dae"]
ASSETS_TEXTURES = ["stonefloor02_color_astc_8x8_unorm.ktx", "stonefloor02_color_bc3_unorm.ktx", "stonefloor02_normal_astc_8x8_unorm.ktx", "stonefloor02_normal_bc3_unorm.ktx", "stonefloor02_color_etc2_unorm.ktx", "stonefloor02_normal_etc2_unorm.ktx"]
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/armor/"):
os.makedirs("./assets/models/armor/")
for file in glob.glob("../../data/models/armor/*.*"):
shutil.copy(file, "./assets/models/armor")
# Textures from base
if not os.path.exists("./assets/textures"):
os.makedirs("./assets/textures")
for file in ASSETS_TEXTURES:
shutil.copy("../../data/textures/%s" % file, "./assets/textures")
if not os.path.exists("./assets/models"):
os.makedirs("./assets/models")
for file in ASSETS_MODELS:
shutil.copy("../../data/models/%s" % file, "./assets/models")
# 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!")

View file

@ -0,0 +1,48 @@
LOCAL_PATH := $(call my-dir)/../../deferredmultisampling
# assimp
include $(CLEAR_VARS)
LOCAL_MODULE := assimp
LOCAL_SRC_FILES := $(LOCAL_PATH)/../../libs/assimp/$(TARGET_ARCH_ABI)/libassimp.a
include $(PREBUILT_STATIC_LIBRARY)
# vulkan example
DATADIR := $(LOCAL_PATH)/../../data
include $(CLEAR_VARS)
LOCAL_MODULE := vulkanDeferredmulitsampling
PROJECT_FILES := $(wildcard $(LOCAL_PATH)/../../deferredmultisampling/*.cpp)
PROJECT_FILES += $(wildcard $(LOCAL_PATH)/../../base/*.cpp)
LOCAL_CPPFLAGS := -std=c++11
LOCAL_CPPFLAGS += -D__STDC_LIMIT_MACROS
LOCAL_CPPFLAGS += -DVK_NO_PROTOTYPES
LOCAL_CPPFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../external/
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../external/glm
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../external/gli
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../external/assimp
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../base/
#LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../base/android
LOCAL_SRC_FILES := $(PROJECT_FILES)
LOCAL_LDLIBS := -landroid -llog -lz
LOCAL_DISABLE_FORMAT_STRING_CHECKS := true
LOCAL_DISABLE_FATAL_LINKER_WARNINGS := true
LOCAL_STATIC_LIBRARIES += android_native_app_glue
LOCAL_STATIC_LIBRARIES += cpufeatures
LOCAL_STATIC_LIBRARIES += libassimp
include $(BUILD_SHARED_LIBRARY)
$(call import-module, android/native_app_glue)
$(call import-module, android/cpufeatures)

View file

@ -0,0 +1,6 @@
APP_PLATFORM := android-19
APP_ABI := armeabi-v7a
APP_STL := c++_static
APP_CPPFLAGS := -std=c++11
APP_CPPFLAGS += -fexceptions
NDK_TOOLCHAIN_VERSION := clang

View file

@ -42,6 +42,7 @@ adb uninstall de.saschawillems.vulkanDebugmarker
adb uninstall de.saschawillems.vulkanScenerendering adb uninstall de.saschawillems.vulkanScenerendering
adb uninstall de.saschawillems.vulkanTerraintessellation adb uninstall de.saschawillems.vulkanTerraintessellation
adb uninstall de.saschawillems.vulkanDeferredshadows adb uninstall de.saschawillems.vulkanDeferredshadows
adb uninstall de.saschawillems.vulkanDeferredmulitsampling
adb uninstall de.saschawillems.vulkanIndirectdraw adb uninstall de.saschawillems.vulkanIndirectdraw
adb uninstall de.saschawillems.vulkanTexturemipmapgen adb uninstall de.saschawillems.vulkanTexturemipmapgen
adb uninstall de.saschawillems.vulkanTexture3d adb uninstall de.saschawillems.vulkanTexture3d