Added compute N-Body Android build files

This commit is contained in:
saschawillems 2016-11-27 13:44:10 +01:00
parent 7f1c8c516b
commit fda21f96c9
8 changed files with 116 additions and 1 deletions

View file

@ -1,5 +1,6 @@
call _build geometryshader %1 call _build geometryshader %1
call _build computeparticles %1 call _build computeparticles %1
call _build computenbody %1
call _build computeshader %1 call _build computeshader %1
call _build computecullandlod %1 call _build computecullandlod %1
call _build parallaxmapping %1 call _build parallaxmapping %1

10
android/computenbody/.gitignore vendored Normal file
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,27 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.saschawillems.vulkanComputenbody"
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="vulkanComputenbody" android:icon="@drawable/icon" android:hasCode="false">
<activity android:name="android.app.NativeActivity"
android:label="Compute N-Body simulation"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:launchMode="singleTask"
android:configChanges="orientation|screenSize|keyboardHidden">
<meta-data android:name="android.app.lib_name" android:value="vulkanComputenbody" />
<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,23 @@
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\computenbody"
xcopy "..\..\data\shaders\computenbody\*.spv" "assets\shaders\computenbody" /Y
mkdir "assets\textures"
xcopy "..\..\data\textures\particle01_rgba.ktx" "assets\textures" /Y
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=vulkanComputenbody.apk
) ELSE (
echo error : ndk-build failed with errors!
cd..
)

View file

@ -0,0 +1,48 @@
LOCAL_PATH := $(call my-dir)/../../computenbody
# 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 := vulkanComputenbody
PROJECT_FILES := $(wildcard $(LOCAL_PATH)/../../computenbody/*.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,5 @@
APP_PLATFORM := android-19
APP_ABI := armeabi-v7a
APP_STL := c++_static
APP_CPPFLAGS := -std=c++11
NDK_TOOLCHAIN_VERSION := clang

View file

@ -7,6 +7,7 @@ goto :exit
:uninstall :uninstall
adb uninstall de.saschawillems.vulkanGeometryshader adb uninstall de.saschawillems.vulkanGeometryshader
adb uninstall de.saschawillems.vulkanComputeparticles adb uninstall de.saschawillems.vulkanComputeparticles
adb uninstall de.saschawillems.vulkanComputenbody
adb uninstall de.saschawillems.vulkanComputeshader adb uninstall de.saschawillems.vulkanComputeshader
adb uninstall de.saschawillems.vulkanParallaxmapping adb uninstall de.saschawillems.vulkanParallaxmapping
adb uninstall de.saschawillems.vulkanBloom adb uninstall de.saschawillems.vulkanBloom

View file

@ -25,7 +25,7 @@
#define ENABLE_VALIDATION false #define ENABLE_VALIDATION false
#if defined(__ANDROID__) #if defined(__ANDROID__)
// Lower particle count on Android for performance reasons // Lower particle count on Android for performance reasons
#define PARTICLES_PER_ATTRACTOR 2 * 1024 #define PARTICLES_PER_ATTRACTOR 3 * 1024
#else #else
#define PARTICLES_PER_ATTRACTOR 4 * 1024 #define PARTICLES_PER_ATTRACTOR 4 * 1024
#endif #endif