ipin-vr/vr-poc/app/build.gradle
Oskar Kapala cc3d066854 feat(vr-poc): Phase 1 scaffold — native OpenXR passthrough + quad panel
NDK/C++ NativeActivity, arm64-v8a, Gradle 8.12 + AGP 8.7.3 + CMake 3.22.1.

Implementacja (main.cpp):
- EGL headless PBuffer context (wymagany przez OpenXR GLES binding)
- xrCreateInstance z XR_FB_passthrough + XR_KHR_opengl_es_enable
- xrCreateSession → XrGraphicsBindingOpenGLESAndroidKHR
- XR_FB_passthrough: xrCreatePassthroughFB / xrCreatePassthroughLayerFB
  (dynamiczne PFN, graceful fallback gdy extension niedostępna)
- Quad swapchain 512×256 — statyczny ciemnoniebieski panel 80×40 cm,
  1 m przed użytkownikiem (przygotowany pod stb_truetype w fazie 5)
- Pętla klatek: xrWaitFrame / xrBeginFrame / [passthrough + quad] / xrEndFrame
- environmentBlendMode = OPAQUE (passthrough przez warstwę FB_passthrough)

Brakujące pliki SDK (nie w git, lista w vr-poc/README.md):
- libs/arm64-v8a/libopenxr_loader.so   — z Meta OpenXR Mobile SDK
- ovr_sdk/OpenXR/Include/openxr/*.h    — nagłówki OpenXR

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-10 15:33:27 +02:00

67 lines
1.4 KiB
Groovy

plugins {
id 'com.android.application'
}
android {
namespace 'com.ipin.vr.poc'
compileSdk 35
defaultConfig {
applicationId "com.ipin.vr.poc"
minSdk 29
targetSdk 32
versionCode 1
versionName "1.0.0-phase1"
ndk {
abiFilters "arm64-v8a"
}
externalNativeBuild {
cmake {
cppFlags "-std=c++17 -O2 -fvisibility=hidden"
arguments "-DANDROID_STL=c++_shared",
"-DANDROID_ARM_NEON=TRUE"
}
}
}
ndkVersion "27.2.12479018"
externalNativeBuild {
cmake {
path "CMakeLists.txt"
version "3.22.1"
}
}
buildTypes {
debug {
debuggable true
jniDebuggable true
minifyEnabled false
}
release {
minifyEnabled false
signingConfig signingConfigs.debug
}
}
sourceSets {
main {
// Prebuilt libopenxr_loader.so — user drops it in libs/arm64-v8a/
jniLibs.srcDirs += ['../libs']
}
}
// Keep .so symbols in debug builds for logcat crash symbolication
packagingOptions {
doNotStrip "**/*.so"
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
}