diff --git a/README.md b/README.md index 095e9162..ebceeaba 100644 --- a/README.md +++ b/README.md @@ -1,27 +1,34 @@ # polyvox_filament + Flutter plugin wrapping the Filament renderer https://github.com/google/filament. -Current Filament version: 112366e54524149e3a5cc601067280766efe06df +Filament is bundled with pre-compiled static libraries: -All: -- clone Filament repository -- copy filament/include to ios/include -- copy filament/libs/utils/include to ios/include +iOS/MacOS: v1.43.1 +(iOS release build has a skybox bug so the debug versions are currently shipped on iOS) +Windows - v1.32.4 +(Waiting for https://github.com/google/filament/issues/7078 to be resolved before upgrading, not sure exactly when the bug was introduced but it was somewhere between v1.34.2 and v1.40.0) +Linux - TODO, previously was v1.24.1 but this needs to be bumped up to parity with the other platforms (ideally v.1.43.1) -(even though headers are under the iOS directory these are used across all platforms). +Only arm64 libs are provided for iOS/MacOS, only x64 libs are provided for Windows/Linux, all provided for Android. -Android: -- IMPORTANT - current version only works on Flutter 3.15.0-15.2.pre -- build from Filament repository on Linux (build native, then build Android). Reminder that NDK >= 24 required. -- need to specifically move imageio/png/tinyexr +Building notes: +- we remove -fno-exceptions from CMakeLists.txt + +Project structure: +- most shared code/headers under ios/src (because I still can't get podspec to build a target with symlinks or relative paths) +- building on MacOS, we currently just delete the macos/include and macos/src directories and copy from iOS (for same reason), +e.g. +`rm -r ../macos/include && cp -R ../ios/include ../macos && rm -r ../macos/src && cp -R ../ios/src ../macos && pushd macos && pod update && popd && flutter run -d macos` +- Android keeps a separate copy of ALL headers (because it's currently running a different version of Filament, earlier versions have some texture filtering issues) +-- can't symlink either? +--- IMPORTANT - current version only works on Flutter 3.15.0-15.2.pre / Filament v1.43.1 + +- Note also need to specifically build imageio/png/tinyexr - if release build, then need to comment out -fno-exceptions -- copy out/android-release/filament/lib to android/src/main/jniLibs -iOS: -- filament-v1.25.0-ios.tgz - -Linux: +Linux specific (Fedora 34) Building Filament: @@ -59,4 +66,14 @@ and theme must have the following in `styles.xml` Remember to set the background colour for your Scaffold to transparent! +Materials + +- there is a simple material (unlit/opaque) used for background images. This is created by: +``` +filament/out/release/filament/bin/matc -a opengl -a metal -o materials/image.filamat materials/image.mat +filament/out/release/filament/bin/resgen -c -p image -x ios/include/material/ materials/image.filamat +``` + + + diff --git a/android/CMakeLists.txt b/android/CMakeLists.txt index b5f17029..8c6fda77 100644 --- a/android/CMakeLists.txt +++ b/android/CMakeLists.txt @@ -1,8 +1,8 @@ cmake_minimum_required(VERSION 3.10) include_directories(../ios/src) -include_directories(include/filament) include_directories(../ios/include) +include_directories(../ios/include/filament) include_directories(src/main/cpp) link_directories(src/main/jniLibs/${ANDROID_ABI}) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17") @@ -18,7 +18,7 @@ add_library(polyvox_filament_android SHARED ) add_library(FILAMENT_SHADERS SHARED - "include/material/image.c" + "${CMAKE_CURRENT_SOURCE_DIR}/../ios/include/material/image.c" ) target_link_libraries( diff --git a/android/src/main/jniLibs/arm64-v8a/libbackend.a b/android/src/main/jniLibs/arm64-v8a/libbackend.a index 77072489..64f74e1c 100644 --- a/android/src/main/jniLibs/arm64-v8a/libbackend.a +++ b/android/src/main/jniLibs/arm64-v8a/libbackend.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c5fe14c851894aabd4eb557e12ae39be043a07cc20aa582b02f780f18f121fa3 -size 29738186 +oid sha256:577996c240a574c291848329ddc2823ed9432a3bb0eba4322bc8724f616b46dc +size 2186272 diff --git a/android/src/main/jniLibs/arm64-v8a/libbasis_transcoder.a b/android/src/main/jniLibs/arm64-v8a/libbasis_transcoder.a index 137e40e3..81af2883 100644 --- a/android/src/main/jniLibs/arm64-v8a/libbasis_transcoder.a +++ b/android/src/main/jniLibs/arm64-v8a/libbasis_transcoder.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1d2aaf7e9b44bdc62b7271ed010fb04c84dc5e5b3d3a31aa521bc0003d9166ff -size 1230390 +oid sha256:76eaee1bddc9c4fa2a5da5fece5bc33178092a24843250ad02623031fc6271b5 +size 387274 diff --git a/android/src/main/jniLibs/arm64-v8a/libbluevk.a b/android/src/main/jniLibs/arm64-v8a/libbluevk.a index f79e5819..793e4000 100644 --- a/android/src/main/jniLibs/arm64-v8a/libbluevk.a +++ b/android/src/main/jniLibs/arm64-v8a/libbluevk.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3cbcac196a49b97dcf7427373033bda5279e50f19a2eaf6be7e8810cba98b10a -size 745362 +oid sha256:11b0fc712800467f6f9eae1022a9b6a868c37040b8d27aab3b141f47684ee0f0 +size 200504 diff --git a/android/src/main/jniLibs/arm64-v8a/libcamutils.a b/android/src/main/jniLibs/arm64-v8a/libcamutils.a index a19373d7..be7a5438 100644 --- a/android/src/main/jniLibs/arm64-v8a/libcamutils.a +++ b/android/src/main/jniLibs/arm64-v8a/libcamutils.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:26f7f0db2bbf73460152c2af4e72bca26bac6b6c84f2f3c92faa8ac03fe8a27e -size 334610 +oid sha256:f56a73aa32f19c681cd140a83e64273b6bf550770cbc1ba0c39f8e8135d992ac +size 49004 diff --git a/android/src/main/jniLibs/arm64-v8a/libcivetweb.a b/android/src/main/jniLibs/arm64-v8a/libcivetweb.a index 1e9fee49..67ec7345 100644 --- a/android/src/main/jniLibs/arm64-v8a/libcivetweb.a +++ b/android/src/main/jniLibs/arm64-v8a/libcivetweb.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5872363342f5c6cd3ba15c9714541c76e9fd2edf48b95caa103c41b39c7cd41f -size 1229614 +oid sha256:c3d89171648cd80b9457cc1d06e50f44cf816b37932dfb05d1d192743a75f3f6 +size 283364 diff --git a/android/src/main/jniLibs/arm64-v8a/libdracodec.a b/android/src/main/jniLibs/arm64-v8a/libdracodec.a index 01e19283..7322665a 100644 --- a/android/src/main/jniLibs/arm64-v8a/libdracodec.a +++ b/android/src/main/jniLibs/arm64-v8a/libdracodec.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:19851bcc5f05fbc5f0719b9087547f11b3d402c60dfed250a9b05b14cd6cf943 -size 49854936 +oid sha256:5e9862f1e4694a57fafd1140d8749dabbb50c580673a5eefbd4f184a799b09a1 +size 2537500 diff --git a/android/src/main/jniLibs/arm64-v8a/libfilabridge.a b/android/src/main/jniLibs/arm64-v8a/libfilabridge.a index 3390a736..ea488df7 100644 --- a/android/src/main/jniLibs/arm64-v8a/libfilabridge.a +++ b/android/src/main/jniLibs/arm64-v8a/libfilabridge.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4bd157845c3230fb82e6aa91af719c75b9ce1732498e3caf44b322bf099006d4 -size 1469534 +oid sha256:b920ca16cc9542ddfb5d1710ccaafe6d6302c957c46583cd378eecb4855749d3 +size 67032 diff --git a/android/src/main/jniLibs/arm64-v8a/libfilaflat.a b/android/src/main/jniLibs/arm64-v8a/libfilaflat.a index e34db788..07278718 100644 --- a/android/src/main/jniLibs/arm64-v8a/libfilaflat.a +++ b/android/src/main/jniLibs/arm64-v8a/libfilaflat.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9cca16e03af256ddfbf15639889a0cfbbfdd2a2d1c99a21cd9e932ffc330f99b -size 1380502 +oid sha256:ee941c4e8d442ce441720653bacf58dca3811d957522364cc0df7c1323e9b0b8 +size 49830 diff --git a/android/src/main/jniLibs/arm64-v8a/libfilamat.a b/android/src/main/jniLibs/arm64-v8a/libfilamat.a index c7ec60d8..4eab1a7c 100644 --- a/android/src/main/jniLibs/arm64-v8a/libfilamat.a +++ b/android/src/main/jniLibs/arm64-v8a/libfilamat.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:54ec8529df8c0c7450dc65092f503db313f376185bc35bd3ff411ba64d8b1995 -size 576061962 +oid sha256:f7cb50b8b077a1f5a3bc2f9ed0c77b45be68eae6090b2835ffd085bf2cdcc43d +size 28876048 diff --git a/android/src/main/jniLibs/arm64-v8a/libfilamat_lite.a b/android/src/main/jniLibs/arm64-v8a/libfilamat_lite.a index cc58b3c1..3fc305a3 100644 --- a/android/src/main/jniLibs/arm64-v8a/libfilamat_lite.a +++ b/android/src/main/jniLibs/arm64-v8a/libfilamat_lite.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:25439e084f3de2abef71b025d08052a5bcd6fbed0c3222c7299149ca2f0ad0d7 -size 11431548 +oid sha256:014d1015b292c6a49e4bdbf86e1eea9000bc91497dcb072dd7c3c771de07a33e +size 650872 diff --git a/android/src/main/jniLibs/arm64-v8a/libfilament-iblprefilter.a b/android/src/main/jniLibs/arm64-v8a/libfilament-iblprefilter.a index db0a2acb..9d07c3e8 100644 --- a/android/src/main/jniLibs/arm64-v8a/libfilament-iblprefilter.a +++ b/android/src/main/jniLibs/arm64-v8a/libfilament-iblprefilter.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1f3b0106bafa00dc8499b67758bbfabb08ca7b77b1e2f59b4af92a3dcb1cdc4c -size 343920 +oid sha256:e27d41d11d24399af9a06b3c320de343b4b035299c4372a035cf16f74d3a94e6 +size 72470 diff --git a/android/src/main/jniLibs/arm64-v8a/libfilament.a b/android/src/main/jniLibs/arm64-v8a/libfilament.a index 94e3327b..9e5681a9 100644 --- a/android/src/main/jniLibs/arm64-v8a/libfilament.a +++ b/android/src/main/jniLibs/arm64-v8a/libfilament.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:673e7bd6fc6bf354b26b27498c2509497c7899e9491158218652d4b636583bed -size 44847548 +oid sha256:f9b76ab599e907ef8bc2c1372d01a8c1697b700fd231c523fc4d2d316d6c4e79 +size 2730404 diff --git a/android/src/main/jniLibs/arm64-v8a/libfilameshio.a b/android/src/main/jniLibs/arm64-v8a/libfilameshio.a index edcba6d4..7b6f662d 100644 --- a/android/src/main/jniLibs/arm64-v8a/libfilameshio.a +++ b/android/src/main/jniLibs/arm64-v8a/libfilameshio.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bcdeab267a878ccf557e8adaa28b783f062c7745be9b410ecff27ad9a9947000 -size 695256 +oid sha256:d49cef08fadf1ce1853d683005b6e93d15364e40ec94913b9f4e33aa7bd1b1ed +size 42044 diff --git a/android/src/main/jniLibs/arm64-v8a/libgeometry.a b/android/src/main/jniLibs/arm64-v8a/libgeometry.a index 8242a8e3..b4c4a17a 100644 --- a/android/src/main/jniLibs/arm64-v8a/libgeometry.a +++ b/android/src/main/jniLibs/arm64-v8a/libgeometry.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:51aff9da5f8f08ef7fce7ad5caf80137340da3c466e4bc1cc3c896391e0806e5 -size 2031944 +oid sha256:fd3c186447e4e40f44b0fd37a6255add16c0b055cddcb73e9e570ea624d2b56e +size 99010 diff --git a/android/src/main/jniLibs/arm64-v8a/libgltfio_core.a b/android/src/main/jniLibs/arm64-v8a/libgltfio_core.a index 25c8b1a4..7b24a035 100644 --- a/android/src/main/jniLibs/arm64-v8a/libgltfio_core.a +++ b/android/src/main/jniLibs/arm64-v8a/libgltfio_core.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a69249865252674ea29401da11a05cfef3052eb0e3197107435cac66588f007e -size 25072646 +oid sha256:3768e9aaa45b74679c7470730422f33b5bef68821a42e9fa176e5d2dc60c0f7f +size 1189476 diff --git a/android/src/main/jniLibs/arm64-v8a/libibl-lite.a b/android/src/main/jniLibs/arm64-v8a/libibl-lite.a index 9356a545..720f5109 100644 --- a/android/src/main/jniLibs/arm64-v8a/libibl-lite.a +++ b/android/src/main/jniLibs/arm64-v8a/libibl-lite.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:10ceca172f9d1a554913cedb52703431e34b9f65900d0edd104bb9abae15e586 -size 5311514 +oid sha256:b826b2c7c829153b1d27706cb5db97cc69ef2f61f4736f020e17c30395651459 +size 360156 diff --git a/android/src/main/jniLibs/arm64-v8a/libibl.a b/android/src/main/jniLibs/arm64-v8a/libibl.a index a03c4a71..5ea9905b 100644 --- a/android/src/main/jniLibs/arm64-v8a/libibl.a +++ b/android/src/main/jniLibs/arm64-v8a/libibl.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c170ef0ff1ac0f3a67dfdd0b09894d14c0c6920f5f921560f68d1973dcf8343d -size 6516006 +oid sha256:4853a94c43601aa7b5c072b4d789d435c5f2ddf4b9bdda96e44d363dbb7d1495 +size 440976 diff --git a/android/src/main/jniLibs/arm64-v8a/libimage.a b/android/src/main/jniLibs/arm64-v8a/libimage.a index 9eab3d1e..c922b79c 100644 --- a/android/src/main/jniLibs/arm64-v8a/libimage.a +++ b/android/src/main/jniLibs/arm64-v8a/libimage.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c09913f01144ec8a561f7a3774e7fe7f42dec8e7dbc769ce9ff3ce6054a144cf -size 1756276 +oid sha256:19ccbbc7b5fb6f65c95c531f7562ee60882ebe755599787e050a6573e509f029 +size 104924 diff --git a/android/src/main/jniLibs/arm64-v8a/libimageio.a b/android/src/main/jniLibs/arm64-v8a/libimageio.a index 103522fc..46904f96 100644 --- a/android/src/main/jniLibs/arm64-v8a/libimageio.a +++ b/android/src/main/jniLibs/arm64-v8a/libimageio.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d477d9fa87581be6c3fe6d012dfeddb67d00946334f46c7ecdc206ec2a8f065d -size 201554 +oid sha256:2affa1a46f0509e26741e613278ba7742e73d5665b201d9819c9357b3824c9ff +size 212054 diff --git a/android/src/main/jniLibs/arm64-v8a/libktxreader.a b/android/src/main/jniLibs/arm64-v8a/libktxreader.a index 26b6b55e..117f7b2a 100644 --- a/android/src/main/jniLibs/arm64-v8a/libktxreader.a +++ b/android/src/main/jniLibs/arm64-v8a/libktxreader.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:74d6c8f596231e778a7234590bac7227a5d14382e7a928c059516799e3aa3530 -size 504726 +oid sha256:f7d7948a522c57f3b6bf0e3f1570c7ba5b90499006c79660d8d2bd157d280fad +size 51514 diff --git a/android/src/main/jniLibs/arm64-v8a/libmeshoptimizer.a b/android/src/main/jniLibs/arm64-v8a/libmeshoptimizer.a index 0ea2157d..705c6a43 100644 --- a/android/src/main/jniLibs/arm64-v8a/libmeshoptimizer.a +++ b/android/src/main/jniLibs/arm64-v8a/libmeshoptimizer.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fa9b9bb345f13a05655aae19e586753707c18073d0c60c44a9177967b6cf7904 -size 601680 +oid sha256:d0089029b919d128e1520250925d23b304566c5a831eb7be4c156d61a11b37b6 +size 143536 diff --git a/android/src/main/jniLibs/arm64-v8a/libmikktspace.a b/android/src/main/jniLibs/arm64-v8a/libmikktspace.a index 9060205e..71b3a9ed 100644 --- a/android/src/main/jniLibs/arm64-v8a/libmikktspace.a +++ b/android/src/main/jniLibs/arm64-v8a/libmikktspace.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c5a10a91aabb4bf03f14214cdfb980b2388b20913a86694cbc1f8062110d1f75 -size 92574 +oid sha256:68f40361280bc8fde1350a00d8e3ce4129b69385bac3d9eda37c0b392f9a167e +size 20686 diff --git a/android/src/main/jniLibs/arm64-v8a/libshaders.a b/android/src/main/jniLibs/arm64-v8a/libshaders.a index 8bfef839..7d66cf62 100644 --- a/android/src/main/jniLibs/arm64-v8a/libshaders.a +++ b/android/src/main/jniLibs/arm64-v8a/libshaders.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bef573204ae2c60873a8ce3fc77585a328102a954481ec52d20ba2af246b89d8 -size 200638 +oid sha256:eca6cad667424fa5cb4808a009cf8b72b240bb3b4e5bcf14155d3b625eba7e28 +size 127430 diff --git a/android/src/main/jniLibs/arm64-v8a/libsmol-v.a b/android/src/main/jniLibs/arm64-v8a/libsmol-v.a index d6abe7a4..7afa6228 100644 --- a/android/src/main/jniLibs/arm64-v8a/libsmol-v.a +++ b/android/src/main/jniLibs/arm64-v8a/libsmol-v.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:759f06ee3bcf9873e9aa8445f3abdc0f7885f92853e84cb6f03551172b1c0820 -size 230342 +oid sha256:08bb916351f38d144803944cc2b9d6659a297dab73d99394d66237b3073177ee +size 39734 diff --git a/android/src/main/jniLibs/arm64-v8a/libstb.a b/android/src/main/jniLibs/arm64-v8a/libstb.a index 582d9d22..a9aff10f 100644 --- a/android/src/main/jniLibs/arm64-v8a/libstb.a +++ b/android/src/main/jniLibs/arm64-v8a/libstb.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ac1847e421c240b8844684bffda019f0603baf42151c2a0b4ee6a963b493bd77 -size 226498 +oid sha256:99fdf005160d4f1be0b72a24a3abafa7f11ba47950125a664a535637071dafc5 +size 130006 diff --git a/android/src/main/jniLibs/arm64-v8a/libtinyexr.a b/android/src/main/jniLibs/arm64-v8a/libtinyexr.a index 67c742e4..ee67bb55 100644 --- a/android/src/main/jniLibs/arm64-v8a/libtinyexr.a +++ b/android/src/main/jniLibs/arm64-v8a/libtinyexr.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f56cb8ecc9a52a137c647b5bd0b8b0349d00b3ab7dc524e5aaa9e0cd4391c9e0 -size 214578 +oid sha256:f27ccb09daed406bd49c8d47b1738815d8daf0336a3fea6fdb059876e2416493 +size 226376 diff --git a/android/src/main/jniLibs/arm64-v8a/libuberarchive.a b/android/src/main/jniLibs/arm64-v8a/libuberarchive.a index 0624bc57..1c31e0bb 100644 --- a/android/src/main/jniLibs/arm64-v8a/libuberarchive.a +++ b/android/src/main/jniLibs/arm64-v8a/libuberarchive.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1ff59a218622be1e0416eccd6c935e3a573856644c0db6a562ff45088b8fb185 -size 8815012 +oid sha256:cdb8a9ed3a9ba3cdbbeef8065358a92b6654363e7f4e1b57d0522abc063d27e6 +size 1831436 diff --git a/android/src/main/jniLibs/arm64-v8a/libuberzlib.a b/android/src/main/jniLibs/arm64-v8a/libuberzlib.a index 599f8a19..9f299159 100644 --- a/android/src/main/jniLibs/arm64-v8a/libuberzlib.a +++ b/android/src/main/jniLibs/arm64-v8a/libuberzlib.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:724336043752e89eb2a15ef0c92d14948ebe04ada30c54d8feb3317a459e352f -size 811054 +oid sha256:b3bf56398e2410c37613d7ab6f43bdd65eaec1d70e2a315db08f2c6e836cb0d6 +size 32970 diff --git a/android/src/main/jniLibs/arm64-v8a/libutils.a b/android/src/main/jniLibs/arm64-v8a/libutils.a index 2476da73..1e92c42f 100644 --- a/android/src/main/jniLibs/arm64-v8a/libutils.a +++ b/android/src/main/jniLibs/arm64-v8a/libutils.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fd368a1cac4f364c3c627c4c86ae8aa4b478679189424db0dc2ac86a6389a265 -size 4501382 +oid sha256:0ffbd71464e87f505601a1bf2e6ca8f1ff14a541d878811d9a7c460cf52d3d28 +size 360534 diff --git a/android/src/main/jniLibs/arm64-v8a/libviewer.a b/android/src/main/jniLibs/arm64-v8a/libviewer.a index c4e679aa..da583588 100644 --- a/android/src/main/jniLibs/arm64-v8a/libviewer.a +++ b/android/src/main/jniLibs/arm64-v8a/libviewer.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b23c6b55de1396c867ebb169e203007488d97b58bc4e8b9965263e71ba0e03b1 -size 4243958 +oid sha256:89928210c8470639f8db62fbcc74c31b72f79411db3454040d77c749a9047b6b +size 534600 diff --git a/android/src/main/jniLibs/arm64-v8a/libvkshaders.a b/android/src/main/jniLibs/arm64-v8a/libvkshaders.a index 87f71f00..4fb38ade 100644 --- a/android/src/main/jniLibs/arm64-v8a/libvkshaders.a +++ b/android/src/main/jniLibs/arm64-v8a/libvkshaders.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:13d5676bd0a61e2038c9bd07831b2b64fe70b46e75895c97ca2f72c8a0e08050 -size 2702 +oid sha256:9040bd03b7b1021be16908c4e398c55e67283f4e471dd4ffbc407828147e380d +size 2446 diff --git a/android/src/main/jniLibs/arm64-v8a/libzstd.a b/android/src/main/jniLibs/arm64-v8a/libzstd.a index 4392dd12..a4763204 100644 --- a/android/src/main/jniLibs/arm64-v8a/libzstd.a +++ b/android/src/main/jniLibs/arm64-v8a/libzstd.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:778e8daed9081d23372d5e97622993eb36c0c8f0f0a3dd2654bdaa7cf4e080d4 -size 2527522 +oid sha256:9884cc62093cae12ef44610b0bbf5ab9a3940772646377644f11677f5ec2a6a4 +size 693850 diff --git a/android/src/main/jniLibs/armeabi-v7a/libbackend.a b/android/src/main/jniLibs/armeabi-v7a/libbackend.a index 10afbbd5..e696fb08 100644 --- a/android/src/main/jniLibs/armeabi-v7a/libbackend.a +++ b/android/src/main/jniLibs/armeabi-v7a/libbackend.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bb8718e2d4d3375c12ddd58d3f540d277587a908af05a4f9a7fe64d294195aee -size 1457044 +oid sha256:b0e90af7a4eeddda57a6d2e908e17d5f811acf05e85f0bb02db9330e84baea14 +size 1921834 diff --git a/android/src/main/jniLibs/armeabi-v7a/libbasis_transcoder.a b/android/src/main/jniLibs/armeabi-v7a/libbasis_transcoder.a index d744f741..ea7118be 100644 --- a/android/src/main/jniLibs/armeabi-v7a/libbasis_transcoder.a +++ b/android/src/main/jniLibs/armeabi-v7a/libbasis_transcoder.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4512ee7a246ecfa3e2e422bde5e63335425b78d227d6f0d908acecb84a461e03 -size 329246 +oid sha256:ac08b9235e1f64644cd63900be5eb89d41669e644fb9f9682f2a983cabb8af47 +size 334968 diff --git a/android/src/main/jniLibs/armeabi-v7a/libbluevk.a b/android/src/main/jniLibs/armeabi-v7a/libbluevk.a index 00ed70ad..f3bcf4b1 100644 --- a/android/src/main/jniLibs/armeabi-v7a/libbluevk.a +++ b/android/src/main/jniLibs/armeabi-v7a/libbluevk.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d2fbaf4ba806d4cde1cc804a36245a51f2524d0a8234e24f5710332df440eec6 +oid sha256:e2dc261eb31198f16f611ca7f7c20acfec21e24b486ed5dea10ed64effad5bbf size 97648 diff --git a/android/src/main/jniLibs/armeabi-v7a/libcamutils.a b/android/src/main/jniLibs/armeabi-v7a/libcamutils.a index 51656b33..c0af2554 100644 --- a/android/src/main/jniLibs/armeabi-v7a/libcamutils.a +++ b/android/src/main/jniLibs/armeabi-v7a/libcamutils.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e8f9f89f8a19c51ed7bafe328ce61b4966c9319d0461b8e2c1cb848290295569 -size 46012 +oid sha256:6a58756b0425352edf2c02df034177fb0b0bf885bdb70850c5e3ec8091ca1308 +size 49696 diff --git a/android/src/main/jniLibs/armeabi-v7a/libcivetweb.a b/android/src/main/jniLibs/armeabi-v7a/libcivetweb.a index ba55c91c..e76343aa 100644 --- a/android/src/main/jniLibs/armeabi-v7a/libcivetweb.a +++ b/android/src/main/jniLibs/armeabi-v7a/libcivetweb.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9c0f023a05e8b33d50e6ac9e42099fff58a80bc5a1e5cf9d569b51556f045bcc -size 185840 +oid sha256:41041d6ee1b1ecb9fbeac961170b493b6f923f0cb0fadb450c30022132973f5f +size 192156 diff --git a/android/src/main/jniLibs/armeabi-v7a/libdracodec.a b/android/src/main/jniLibs/armeabi-v7a/libdracodec.a index 83f79f93..a04aa5e6 100644 --- a/android/src/main/jniLibs/armeabi-v7a/libdracodec.a +++ b/android/src/main/jniLibs/armeabi-v7a/libdracodec.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:445c45c5e11b6d57524adfef2b1f3d751ee0e3edb71074b9f5a0e883f29794a6 -size 1666422 +oid sha256:f8e9f2005ad07aacb49c5b02c55f2b418879bd409f09619b8d6ccff427971310 +size 2163328 diff --git a/android/src/main/jniLibs/armeabi-v7a/libfilabridge.a b/android/src/main/jniLibs/armeabi-v7a/libfilabridge.a index 31cceaac..0fe4758b 100644 --- a/android/src/main/jniLibs/armeabi-v7a/libfilabridge.a +++ b/android/src/main/jniLibs/armeabi-v7a/libfilabridge.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d9728171d9fd88bebae3a79863f831f61ade14777480ad719a016e16dae3e4e5 -size 45170 +oid sha256:46bc4c3723ce398239975826895515ce0bff3c58b6f2e7875be819bb748b2800 +size 58366 diff --git a/android/src/main/jniLibs/armeabi-v7a/libfilaflat.a b/android/src/main/jniLibs/armeabi-v7a/libfilaflat.a index 0fe74fba..79f4f51c 100644 --- a/android/src/main/jniLibs/armeabi-v7a/libfilaflat.a +++ b/android/src/main/jniLibs/armeabi-v7a/libfilaflat.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:66fc921351b60027c5cca7d8d0197b80605bdaa434c37670c26e6f606a6f263e -size 33034 +oid sha256:19627f494f67d03a428b786095cd9720f12137b3f0ca10518424d012e76d7e0a +size 44928 diff --git a/android/src/main/jniLibs/armeabi-v7a/libfilamat.a b/android/src/main/jniLibs/armeabi-v7a/libfilamat.a index 6c03a67a..1b83d697 100644 --- a/android/src/main/jniLibs/armeabi-v7a/libfilamat.a +++ b/android/src/main/jniLibs/armeabi-v7a/libfilamat.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:28191c6dfaa0ec2ca42884d28c3d4d5d5506b96b3d03104da984e30e78a9c24e -size 21513438 +oid sha256:094642603b72a40f73a46596a9a30ff4b0076bb074c746ff2bf324cc5bb3d92a +size 25254932 diff --git a/android/src/main/jniLibs/armeabi-v7a/libfilamat_lite.a b/android/src/main/jniLibs/armeabi-v7a/libfilamat_lite.a index 6a6c9f65..a71de223 100644 --- a/android/src/main/jniLibs/armeabi-v7a/libfilamat_lite.a +++ b/android/src/main/jniLibs/armeabi-v7a/libfilamat_lite.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:502f5505465b7b4130923ceaed3de18760bf0574218b7acf11e646e52a46a010 -size 409518 +oid sha256:f65567b38b146e39092ce9f9eef8ff588dbd97531202aa847916ad98b91e90b7 +size 538770 diff --git a/android/src/main/jniLibs/armeabi-v7a/libfilament-iblprefilter.a b/android/src/main/jniLibs/armeabi-v7a/libfilament-iblprefilter.a index 129576b8..1cbda782 100644 --- a/android/src/main/jniLibs/armeabi-v7a/libfilament-iblprefilter.a +++ b/android/src/main/jniLibs/armeabi-v7a/libfilament-iblprefilter.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f6ba146f95c50822e52b95aa7184fdb706eca51dc258bddd38e227de12eeae5a -size 55988 +oid sha256:c22085b3bd21823ee8b28e3b9a43fe61c71e26c0ffd84447d505d307a98ec4e4 +size 61498 diff --git a/android/src/main/jniLibs/armeabi-v7a/libfilament.a b/android/src/main/jniLibs/armeabi-v7a/libfilament.a index 52645f6f..c14fc511 100644 --- a/android/src/main/jniLibs/armeabi-v7a/libfilament.a +++ b/android/src/main/jniLibs/armeabi-v7a/libfilament.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bb0a867dab92ca131affb1b6358f821932943e4c67ac0d931614b63255b45406 -size 2159952 +oid sha256:87e140c8a18facb798d66432d5c6e148e1d85a7f9e3a8b0cbd6b8ca727a470fa +size 2627016 diff --git a/android/src/main/jniLibs/armeabi-v7a/libfilameshio.a b/android/src/main/jniLibs/armeabi-v7a/libfilameshio.a index 67a0a7e9..44d9c34e 100644 --- a/android/src/main/jniLibs/armeabi-v7a/libfilameshio.a +++ b/android/src/main/jniLibs/armeabi-v7a/libfilameshio.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:51416653b48ca0e29645c989dfded13e772ccec53f5ef4f4ac6b8791de9c3db8 -size 28618 +oid sha256:bb836a5781758df35cb3101fbdf85450ab125dc6a8f86b9c10f69212111e6740 +size 36352 diff --git a/android/src/main/jniLibs/armeabi-v7a/libgeometry.a b/android/src/main/jniLibs/armeabi-v7a/libgeometry.a index 902db69f..379ec7d1 100644 --- a/android/src/main/jniLibs/armeabi-v7a/libgeometry.a +++ b/android/src/main/jniLibs/armeabi-v7a/libgeometry.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e343feba310b5e3ac02470593a507cb61aec710a7c04353f193bf00a4ab4a50d -size 71922 +oid sha256:e96465ea3fa2e75a9b138985cf090068febaeab3821c9f63515ae4ec10b511a8 +size 87278 diff --git a/android/src/main/jniLibs/armeabi-v7a/libgltfio_core.a b/android/src/main/jniLibs/armeabi-v7a/libgltfio_core.a index f8acdf7c..2d97f402 100644 --- a/android/src/main/jniLibs/armeabi-v7a/libgltfio_core.a +++ b/android/src/main/jniLibs/armeabi-v7a/libgltfio_core.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:be56c1239dcb19bec465881797c04d071d2ddc3bf9298c5432f58630fc8ceef2 -size 698468 +oid sha256:99012d0b89fd8c149a5d68576f54de962bad345b5a89f6bd4078994583111303 +size 1022636 diff --git a/android/src/main/jniLibs/armeabi-v7a/libibl-lite.a b/android/src/main/jniLibs/armeabi-v7a/libibl-lite.a index b95d9c55..2f5af2d0 100644 --- a/android/src/main/jniLibs/armeabi-v7a/libibl-lite.a +++ b/android/src/main/jniLibs/armeabi-v7a/libibl-lite.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8a33a592ff3d312c77ff5afb76e39f0a8a01a08b92a3ef592bdf069884279e44 -size 204712 +oid sha256:1637be0db30afc4d5291ad78bd2e4e661ff4168ab1d0e67182b5e32039fec901 +size 349604 diff --git a/android/src/main/jniLibs/armeabi-v7a/libibl.a b/android/src/main/jniLibs/armeabi-v7a/libibl.a index c60db694..f4447218 100644 --- a/android/src/main/jniLibs/armeabi-v7a/libibl.a +++ b/android/src/main/jniLibs/armeabi-v7a/libibl.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:48fe8ea5836c1ae6fd8ad876415d05081acf714bc02fdc6d3e5d93bd6fd7df2c -size 254392 +oid sha256:baff9505cb2c26505b549f613a99a2b790426edfb25aefd76d3fd0dd7b8090ec +size 431960 diff --git a/android/src/main/jniLibs/armeabi-v7a/libimage.a b/android/src/main/jniLibs/armeabi-v7a/libimage.a index 3596d276..5a47aad3 100644 --- a/android/src/main/jniLibs/armeabi-v7a/libimage.a +++ b/android/src/main/jniLibs/armeabi-v7a/libimage.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d57cdd899a9c62968fb274afff003fadc5bb8a31f5596572f18daf9e89f16422 -size 61636 +oid sha256:111c0e0c798c56f82df3f6d9c54f8034bcd8d501f4032ad20fe5dc3d6fe85dcd +size 80256 diff --git a/android/src/main/jniLibs/armeabi-v7a/libktxreader.a b/android/src/main/jniLibs/armeabi-v7a/libktxreader.a index 2592a486..f17d9588 100644 --- a/android/src/main/jniLibs/armeabi-v7a/libktxreader.a +++ b/android/src/main/jniLibs/armeabi-v7a/libktxreader.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b75cee3ed7f68762276fa3efc093cb799533fffc318e91ea4b195d06c7085b34 -size 34836 +oid sha256:76e98365dcfffa1af20248f6183d04876c7801aeaf3b9baf1921eb8bc9c05092 +size 41644 diff --git a/android/src/main/jniLibs/armeabi-v7a/libmeshoptimizer.a b/android/src/main/jniLibs/armeabi-v7a/libmeshoptimizer.a index 93f0a882..1ace7810 100644 --- a/android/src/main/jniLibs/armeabi-v7a/libmeshoptimizer.a +++ b/android/src/main/jniLibs/armeabi-v7a/libmeshoptimizer.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:03b0d072070ab646edebde4d4302fdafdba5f66a5f97efef575cec7f2ad0f32e -size 90890 +oid sha256:a9c8bc64684f16214fa741edefaa467c3d3987d45ef7bc5f3a9339b309b3dd7e +size 111704 diff --git a/android/src/main/jniLibs/armeabi-v7a/libshaders.a b/android/src/main/jniLibs/armeabi-v7a/libshaders.a index 39aca99a..4fbb925d 100644 --- a/android/src/main/jniLibs/armeabi-v7a/libshaders.a +++ b/android/src/main/jniLibs/armeabi-v7a/libshaders.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:99d19884771e3337f6d5726ac19336353d885cd2e982ff3970c62c0da053d0b7 -size 126478 +oid sha256:97f602f703a739609f874fb07e5f3116520dc4085ccc634c8f00cc1fa6551fd0 +size 126666 diff --git a/android/src/main/jniLibs/armeabi-v7a/libsmol-v.a b/android/src/main/jniLibs/armeabi-v7a/libsmol-v.a index 169328d2..83119cc3 100644 --- a/android/src/main/jniLibs/armeabi-v7a/libsmol-v.a +++ b/android/src/main/jniLibs/armeabi-v7a/libsmol-v.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b6be61117ba26dfe5497175e0deac80f7f8f54372fbf62ce1becc51a5d478dc0 -size 27490 +oid sha256:375bc70b9a5e0a9143373d4ed579227d665e232889bd8963f55b5dab0c8ebb87 +size 27622 diff --git a/android/src/main/jniLibs/armeabi-v7a/libstb.a b/android/src/main/jniLibs/armeabi-v7a/libstb.a index 90e43bac..627e4f4f 100644 --- a/android/src/main/jniLibs/armeabi-v7a/libstb.a +++ b/android/src/main/jniLibs/armeabi-v7a/libstb.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1cad744882c7bd9a296226e8fc9817861a90271ec0f32e738581012052c74c56 -size 87746 +oid sha256:23f077c0379cbca2bad3b342cc0db2bb0bf1747dc95e884afd709143b2702dbf +size 88774 diff --git a/android/src/main/jniLibs/armeabi-v7a/libuberarchive.a b/android/src/main/jniLibs/armeabi-v7a/libuberarchive.a index 71f56ca3..311e82d9 100644 --- a/android/src/main/jniLibs/armeabi-v7a/libuberarchive.a +++ b/android/src/main/jniLibs/armeabi-v7a/libuberarchive.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:de21288b99ced59f306a8a2f83c6d8ea4beaa2ddfc2716c99dd359d5b61639ca -size 1335252 +oid sha256:f2e2eabf92a463967157fc0cf5319e4b59c1e9afe7d98bcd8667b89a5e3dffb9 +size 1831260 diff --git a/android/src/main/jniLibs/armeabi-v7a/libuberzlib.a b/android/src/main/jniLibs/armeabi-v7a/libuberzlib.a index 780910f2..e5f78ff2 100644 --- a/android/src/main/jniLibs/armeabi-v7a/libuberzlib.a +++ b/android/src/main/jniLibs/armeabi-v7a/libuberzlib.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1a8d5fae925692cdde45c32c4fef0ee8d8b09e9ee4ced1e71bc01e186fe8e041 -size 20732 +oid sha256:ac61dec39919f1c19a9601b073020593e6cc9d0cbe27fe3e2104d904bd345196 +size 27354 diff --git a/android/src/main/jniLibs/armeabi-v7a/libutils.a b/android/src/main/jniLibs/armeabi-v7a/libutils.a index f097831c..28e35f68 100644 --- a/android/src/main/jniLibs/armeabi-v7a/libutils.a +++ b/android/src/main/jniLibs/armeabi-v7a/libutils.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:defdbd1f1693247787ab2208883fbf013a0050cdd2e5c4d9bf3b80ac000e433d -size 225584 +oid sha256:3d314214a0a09fe047080b54cd8684a0322c192a45d1f859914677ec84c8711e +size 299782 diff --git a/android/src/main/jniLibs/armeabi-v7a/libviewer.a b/android/src/main/jniLibs/armeabi-v7a/libviewer.a index fdb3bb1b..fe95a94d 100644 --- a/android/src/main/jniLibs/armeabi-v7a/libviewer.a +++ b/android/src/main/jniLibs/armeabi-v7a/libviewer.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e10a47ae9b69ae024eb54469645c705fc307a1df87d68bbb7562fce55ec0e8cb -size 339012 +oid sha256:6865d378b0e97f1f829221c45e4b74091953d3ce66222c2534be6c5f470e13d8 +size 392688 diff --git a/android/src/main/jniLibs/x86/libbackend.a b/android/src/main/jniLibs/x86/libbackend.a index bbeb5653..02ff1b1d 100644 --- a/android/src/main/jniLibs/x86/libbackend.a +++ b/android/src/main/jniLibs/x86/libbackend.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:40af854caf5ea8bad89a40c9bc865272559975826be689f61f75697f94bf51dd -size 1310916 +oid sha256:d7d7fd061ad93dd9ac21c5b0620c3a7b38b54375d518bfb3f31dcb51f1b3d1f5 +size 1791656 diff --git a/android/src/main/jniLibs/x86/libbasis_transcoder.a b/android/src/main/jniLibs/x86/libbasis_transcoder.a index 2e685120..643993af 100644 --- a/android/src/main/jniLibs/x86/libbasis_transcoder.a +++ b/android/src/main/jniLibs/x86/libbasis_transcoder.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a3209b5439bcbecce97abeddd4473e92bb7d2c0004f831b07b0146c75010e5f8 -size 382450 +oid sha256:84273290e6b3ebd92a97d9904005eb031a4e2c40e236b572ede6f20aa8f6b5c2 +size 392140 diff --git a/android/src/main/jniLibs/x86/libbluevk.a b/android/src/main/jniLibs/x86/libbluevk.a index 5eb6346c..14655b76 100644 --- a/android/src/main/jniLibs/x86/libbluevk.a +++ b/android/src/main/jniLibs/x86/libbluevk.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:969efbd2071d030db4bb7b6750c4d57e180fcde15647655baa6c6f2f28fe5081 -size 130544 +oid sha256:ae215d1057b2df182a15cef28c3dbcfadbd7e919cd658f79d48cc679dcc981fb +size 131020 diff --git a/android/src/main/jniLibs/x86/libcamutils.a b/android/src/main/jniLibs/x86/libcamutils.a index d3e5216b..c84bd111 100644 --- a/android/src/main/jniLibs/x86/libcamutils.a +++ b/android/src/main/jniLibs/x86/libcamutils.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3bfd6e00f313944c62367641a5a72fa40ffd56015c57edebdd4ed4695a9f550b -size 42640 +oid sha256:eb4db56341d4c880a3a7304e9788d9279890b30315c3d8cf4ded49b60e202e22 +size 46776 diff --git a/android/src/main/jniLibs/x86/libcivetweb.a b/android/src/main/jniLibs/x86/libcivetweb.a index ad5438bd..0351cbe2 100644 --- a/android/src/main/jniLibs/x86/libcivetweb.a +++ b/android/src/main/jniLibs/x86/libcivetweb.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:82ed412688687e1baa2b0e982b38a5aa406fddbc34b578cd15b67c8c3123566d -size 231748 +oid sha256:1d07d91f9ce5a99c910a5c767710305db09af0940a8b0e8fe44bd07d0098c0f2 +size 239568 diff --git a/android/src/main/jniLibs/x86/libdracodec.a b/android/src/main/jniLibs/x86/libdracodec.a index 9cedba74..e84018ef 100644 --- a/android/src/main/jniLibs/x86/libdracodec.a +++ b/android/src/main/jniLibs/x86/libdracodec.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ba0bd5c8dcdaa3b737fa9505487c81da9d66b347c1bd1b511adf499c9eb16a13 -size 1639898 +oid sha256:fd82549b6db29c158d096340f72dddadf31cc757d7fd02496eeefbcaaa89c69b +size 2175384 diff --git a/android/src/main/jniLibs/x86/libfilabridge.a b/android/src/main/jniLibs/x86/libfilabridge.a index e1670a1c..9f0e181a 100644 --- a/android/src/main/jniLibs/x86/libfilabridge.a +++ b/android/src/main/jniLibs/x86/libfilabridge.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:df8e55ea64f751047e454e8f448fca2d6fa5f70efa552ffed95c7f8a4136250b -size 39730 +oid sha256:54953690caae540cb34c61f18b50161b4f83cc98a5e52c0498024bcd66deb4d5 +size 53346 diff --git a/android/src/main/jniLibs/x86/libfilaflat.a b/android/src/main/jniLibs/x86/libfilaflat.a index a189c9ab..34ca497a 100644 --- a/android/src/main/jniLibs/x86/libfilaflat.a +++ b/android/src/main/jniLibs/x86/libfilaflat.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:130c962e15d0df34f884e7db4adfdcd3d1bb26ff364afa31de7514e6e2865f56 -size 28528 +oid sha256:12b12cdf3017cce821c86e612ceeb26e227a32ae42d46822ffc9149e1382c337 +size 41466 diff --git a/android/src/main/jniLibs/x86/libfilamat.a b/android/src/main/jniLibs/x86/libfilamat.a index e6688196..e1ef2257 100644 --- a/android/src/main/jniLibs/x86/libfilamat.a +++ b/android/src/main/jniLibs/x86/libfilamat.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b369b99b39fc2a54bb893fd72c03d42dc5f9d34c6b72580fcac729014e46bf5c -size 19943348 +oid sha256:e0f1500570bb005e14cb490331980b2eed7d74b28500c6363947d833c97ae963 +size 23301288 diff --git a/android/src/main/jniLibs/x86/libfilamat_lite.a b/android/src/main/jniLibs/x86/libfilamat_lite.a index f6cde0d6..5ea6e85c 100644 --- a/android/src/main/jniLibs/x86/libfilamat_lite.a +++ b/android/src/main/jniLibs/x86/libfilamat_lite.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f2f7d863fb0b5f8805e2e027b5afd4e900e753908c8dd020811c935b88e083fb -size 387334 +oid sha256:f7831363303801ef3e83ee9d31f65c386f310e174a921d921ca17afe216b7115 +size 521960 diff --git a/android/src/main/jniLibs/x86/libfilament-iblprefilter.a b/android/src/main/jniLibs/x86/libfilament-iblprefilter.a index 8f2c9d3a..c3d876b7 100644 --- a/android/src/main/jniLibs/x86/libfilament-iblprefilter.a +++ b/android/src/main/jniLibs/x86/libfilament-iblprefilter.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b1545511ae220be4448c85c7e6610460824de695024af29b6fb85beead111647 -size 56580 +oid sha256:033fc92a176e25d2ddebab48ffa059e0cdb11a8efcddb65addc2b29eb5cc5753 +size 63910 diff --git a/android/src/main/jniLibs/x86/libfilament.a b/android/src/main/jniLibs/x86/libfilament.a index f8d94fc3..5ed56f55 100644 --- a/android/src/main/jniLibs/x86/libfilament.a +++ b/android/src/main/jniLibs/x86/libfilament.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:01daa2274b49fee78ac8dbf6e3a623103a1d0ab8540abdc5ed8a84a89bd70725 -size 1976104 +oid sha256:bdc677eeb69936cf45cd5379680d49506c16ca8f0a9207790c5a97697b99a1f7 +size 2471750 diff --git a/android/src/main/jniLibs/x86/libfilameshio.a b/android/src/main/jniLibs/x86/libfilameshio.a index 0c1b69e7..617d90d0 100644 --- a/android/src/main/jniLibs/x86/libfilameshio.a +++ b/android/src/main/jniLibs/x86/libfilameshio.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9c3914ca2acc11432e6e9524e950ad9bdd37be0c46b62d35cbd37d4a3403466a -size 24862 +oid sha256:37da0f2518b4c327552993b7ed775218d49018a4dd1000ad6fa7f4edc3a14b4d +size 33196 diff --git a/android/src/main/jniLibs/x86/libgeometry.a b/android/src/main/jniLibs/x86/libgeometry.a index bb5d5f20..f189df28 100644 --- a/android/src/main/jniLibs/x86/libgeometry.a +++ b/android/src/main/jniLibs/x86/libgeometry.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:26bd3284d03bc512b835385396b95bd89b19a66be25abdb8b0edff54260d660f -size 74022 +oid sha256:61afbde1d11f2651ebccc78f9e04954c0b60c4c987de4197ccaaadb47b6195b8 +size 91242 diff --git a/android/src/main/jniLibs/x86/libgltfio_core.a b/android/src/main/jniLibs/x86/libgltfio_core.a index 38b9698f..763c7f1e 100644 --- a/android/src/main/jniLibs/x86/libgltfio_core.a +++ b/android/src/main/jniLibs/x86/libgltfio_core.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9a0de3ac8df973c541213a62b7bcc24f636059076db58725bcf9d052e626fdbb -size 689510 +oid sha256:69d288c287cb4e31e4c163ac5ad67b78e1e76f8bb87891077c4c8926daa92186 +size 998496 diff --git a/android/src/main/jniLibs/x86/libibl-lite.a b/android/src/main/jniLibs/x86/libibl-lite.a index c587f4a7..e62a81d6 100644 --- a/android/src/main/jniLibs/x86/libibl-lite.a +++ b/android/src/main/jniLibs/x86/libibl-lite.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:691029f39eba5cbcb38424a1308eaaaacd53bcae8fa99a5e20a9d4fa4d8c7ad2 -size 195206 +oid sha256:a66050451e3ee22107bf106ffb08984fef456bd86d97a323839fbfd80bc209ee +size 327150 diff --git a/android/src/main/jniLibs/x86/libibl.a b/android/src/main/jniLibs/x86/libibl.a index d383e7f5..eeaa863b 100644 --- a/android/src/main/jniLibs/x86/libibl.a +++ b/android/src/main/jniLibs/x86/libibl.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5c5451ff270eb2ef1c6cd40dce891143ad7776ba068987b59b400c57d73d85fa -size 237284 +oid sha256:40cd56ed861cbffda3135d53db841ba7448cf223881ff9a0a4aac13bbbed34ce +size 398100 diff --git a/android/src/main/jniLibs/x86/libimage.a b/android/src/main/jniLibs/x86/libimage.a index a4a10aaf..2db166ab 100644 --- a/android/src/main/jniLibs/x86/libimage.a +++ b/android/src/main/jniLibs/x86/libimage.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b13bd30969838df7f4f0e08bd54d72d08d5f09199989e1427f5a717a330c1687 -size 69222 +oid sha256:d6f0f0e5ad5713bb7f4af574227d596006c0669e24ae86de1f205fa103510ab8 +size 90468 diff --git a/android/src/main/jniLibs/x86/libktxreader.a b/android/src/main/jniLibs/x86/libktxreader.a index 8fa03022..f53785da 100644 --- a/android/src/main/jniLibs/x86/libktxreader.a +++ b/android/src/main/jniLibs/x86/libktxreader.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:13f8e79b214b08e27ee11eedf01eeeaa2c492d6735ca17c69647233369838f24 -size 46252 +oid sha256:a9df29f881a854a55dc9343c670068bf9b7ca25166cd37f76e1a38b4a248e743 +size 54332 diff --git a/android/src/main/jniLibs/x86/libmeshoptimizer.a b/android/src/main/jniLibs/x86/libmeshoptimizer.a index 7c3f3e6c..e98e7116 100644 --- a/android/src/main/jniLibs/x86/libmeshoptimizer.a +++ b/android/src/main/jniLibs/x86/libmeshoptimizer.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:41fdc4b19f6cbe7149213963df96fc421e38cb407f80b0a20cd8f595e52a08fc -size 119806 +oid sha256:ca58790fd0f51daa86cc7b03f4790842f2e6c50695280c5d293a80e4af0c03e2 +size 142436 diff --git a/android/src/main/jniLibs/x86/libshaders.a b/android/src/main/jniLibs/x86/libshaders.a index 1ffcb70c..d6079bba 100644 --- a/android/src/main/jniLibs/x86/libshaders.a +++ b/android/src/main/jniLibs/x86/libshaders.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d18960887c7a379a78b2d54bffc2c19f86c4eaedeeb524a8b3ac22f9b7d68e80 -size 126390 +oid sha256:e29d337f722c63f6b86200390fd7d55fe0e468a2efe22f5dd49007e52246b0db +size 126578 diff --git a/android/src/main/jniLibs/x86/libsmol-v.a b/android/src/main/jniLibs/x86/libsmol-v.a index af16db4c..2b36439d 100644 --- a/android/src/main/jniLibs/x86/libsmol-v.a +++ b/android/src/main/jniLibs/x86/libsmol-v.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bfbf36e29d9061bdd1f834095d2d2c7d6b7269825558695dd24ac53fa9a5ba2e -size 32290 +oid sha256:c282f70f89e72652b42c4885e284bead0b4ef272fa52de3cd29e57a124117f2f +size 33002 diff --git a/android/src/main/jniLibs/x86/libstb.a b/android/src/main/jniLibs/x86/libstb.a index 921eab4f..47d91d74 100644 --- a/android/src/main/jniLibs/x86/libstb.a +++ b/android/src/main/jniLibs/x86/libstb.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:539de6c0a2391b1033478b6b3e513bcddf8ce183114f2887552021d5791e564e -size 114974 +oid sha256:8cb8c05b15b6cd0d2310f875906b676e00af13c97be13f978c11ec66fb21855c +size 117546 diff --git a/android/src/main/jniLibs/x86/libuberarchive.a b/android/src/main/jniLibs/x86/libuberarchive.a index 3aad42e0..52adf78c 100644 --- a/android/src/main/jniLibs/x86/libuberarchive.a +++ b/android/src/main/jniLibs/x86/libuberarchive.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e2c74769a34ff0d00e4a0d7cfa43598d5544f325c0accca6a2b2ca9220f1ef8a -size 1335028 +oid sha256:099166e038461fea456a389dd3d2ca81d1996969f376029525770522c9f31f85 +size 1831036 diff --git a/android/src/main/jniLibs/x86/libuberzlib.a b/android/src/main/jniLibs/x86/libuberzlib.a index 58830340..c50be51c 100644 --- a/android/src/main/jniLibs/x86/libuberzlib.a +++ b/android/src/main/jniLibs/x86/libuberzlib.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:def974a8991e583a2cdcfdb7ba5d65226d24937cbe11c74443a8ba0cd2d5aead -size 20944 +oid sha256:986915629470491d640ebe896300b37277280c8dbe82fddd34771e55204ef2b3 +size 27818 diff --git a/android/src/main/jniLibs/x86/libutils.a b/android/src/main/jniLibs/x86/libutils.a index cc8b1e50..7b68c8c5 100644 --- a/android/src/main/jniLibs/x86/libutils.a +++ b/android/src/main/jniLibs/x86/libutils.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a42aa73443006928281b37f31f16efdb25369103c50a42750bcacc5d6aca969a -size 188040 +oid sha256:8f26e15d26484f12e0813eae201785d490129c88d13bf291efe0b776565035f9 +size 270920 diff --git a/android/src/main/jniLibs/x86/libviewer.a b/android/src/main/jniLibs/x86/libviewer.a index 2db0f68a..010f64d5 100644 --- a/android/src/main/jniLibs/x86/libviewer.a +++ b/android/src/main/jniLibs/x86/libviewer.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e5a0d2dcdbb14ec36028c5a9560902e6cc93c9cadfad8beb2a76fd2b3d4ff978 -size 357164 +oid sha256:81b85dbda19b9960b3859a8841f495176e7052035b724a5c3e2de5437cfb184f +size 421712 diff --git a/android/src/main/jniLibs/x86_64/libbackend.a b/android/src/main/jniLibs/x86_64/libbackend.a index fb3a1a90..cab78ebe 100644 --- a/android/src/main/jniLibs/x86_64/libbackend.a +++ b/android/src/main/jniLibs/x86_64/libbackend.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f45a2633b59c4ca617a85b9146e8989c400f34f26d8c3f51219d71ca7ebe89fa -size 1519038 +oid sha256:5954b6cfcbb4417d5710e6498a6adb01bd8ec5b9bda9c02b0360cb49c913f9f8 +size 2130866 diff --git a/android/src/main/jniLibs/x86_64/libbasis_transcoder.a b/android/src/main/jniLibs/x86_64/libbasis_transcoder.a index fc88084a..fcdc6241 100644 --- a/android/src/main/jniLibs/x86_64/libbasis_transcoder.a +++ b/android/src/main/jniLibs/x86_64/libbasis_transcoder.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7bd5fab294a1a9c70cfd42f4b74a775535ec18acbeb7450819bfa0e68b8bc06b -size 397790 +oid sha256:1b11944faf9a17d4f00db8f9f0c2385ee7cd99a6a8b756237c6aae6cd8ed3895 +size 412466 diff --git a/android/src/main/jniLibs/x86_64/libbluevk.a b/android/src/main/jniLibs/x86_64/libbluevk.a index 4c701f0f..275cf33e 100644 --- a/android/src/main/jniLibs/x86_64/libbluevk.a +++ b/android/src/main/jniLibs/x86_64/libbluevk.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:21ddec264bb7676eb3075db9bb02a360b79c2a7373ed1844a9246a262287ec00 -size 174432 +oid sha256:f8bfa8311d1b5d55dbcba4904885f984a5b3fdbf4839824d20191f12259c2b9a +size 175072 diff --git a/android/src/main/jniLibs/x86_64/libcamutils.a b/android/src/main/jniLibs/x86_64/libcamutils.a index bf731fdd..1c561caf 100644 --- a/android/src/main/jniLibs/x86_64/libcamutils.a +++ b/android/src/main/jniLibs/x86_64/libcamutils.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:160c5651674647b0b17533073a2e6952bb4747e482c3b38fc62065c49a2f6a51 -size 49720 +oid sha256:99abf7173591a8ec4d3b840f2356b911d6758e4974891e71461bc256c6460700 +size 55508 diff --git a/android/src/main/jniLibs/x86_64/libcivetweb.a b/android/src/main/jniLibs/x86_64/libcivetweb.a index 42647103..01456358 100644 --- a/android/src/main/jniLibs/x86_64/libcivetweb.a +++ b/android/src/main/jniLibs/x86_64/libcivetweb.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d54bebf6f941623449f94c3cd2d3026e6f365b399fb027496521cdb4d4e86a92 -size 285412 +oid sha256:27c9ddda9df2b118f7d011f09d5fc939e790a27608a98d2da2973a50d098ddec +size 296228 diff --git a/android/src/main/jniLibs/x86_64/libdracodec.a b/android/src/main/jniLibs/x86_64/libdracodec.a index 7c8edb12..2c7f4ecd 100644 --- a/android/src/main/jniLibs/x86_64/libdracodec.a +++ b/android/src/main/jniLibs/x86_64/libdracodec.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:de31ecc72f3b86c4b6535d42762c60d8b07cb6288db4968266b93f084a712462 -size 1862390 +oid sha256:5b7a9d790442cd77a95370a022eff351b204644e7bc45bf9731b913eb9e179f9 +size 2577646 diff --git a/android/src/main/jniLibs/x86_64/libfilabridge.a b/android/src/main/jniLibs/x86_64/libfilabridge.a index c1ca2de1..edfd614a 100644 --- a/android/src/main/jniLibs/x86_64/libfilabridge.a +++ b/android/src/main/jniLibs/x86_64/libfilabridge.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2bfb60afd0b1f1da1e4c1f68315b9dae41e291dab54657eab14427b92b640790 -size 47780 +oid sha256:dee5375dffeb6bf459461c4b8de8069a8a3fc66584037394f40d3b47fb79d887 +size 67288 diff --git a/android/src/main/jniLibs/x86_64/libfilaflat.a b/android/src/main/jniLibs/x86_64/libfilaflat.a index 11c899e2..eabfe188 100644 --- a/android/src/main/jniLibs/x86_64/libfilaflat.a +++ b/android/src/main/jniLibs/x86_64/libfilaflat.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9dfcd374eaee4a26c8762cb5b174397bdc2e766cd33167bca870f6b4df98c0a3 -size 32064 +oid sha256:4c587aef1513eb974abafcf58866c4b34617931b4ba5f5bc310f48646d26c4f2 +size 47718 diff --git a/android/src/main/jniLibs/x86_64/libfilamat.a b/android/src/main/jniLibs/x86_64/libfilamat.a index fb36fb94..7226a15e 100644 --- a/android/src/main/jniLibs/x86_64/libfilamat.a +++ b/android/src/main/jniLibs/x86_64/libfilamat.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:622cca192f76a2c77a81b8ef85c6fef43e084aed9acffd6295cfbe3bdbf6ca5f -size 25215296 +oid sha256:26cf0b30d49aa36b559a0b1512707f3b53a0b685834afc7d65dd395cc4dc2481 +size 29487854 diff --git a/android/src/main/jniLibs/x86_64/libfilamat_lite.a b/android/src/main/jniLibs/x86_64/libfilamat_lite.a index 49ac8a86..ff4cd562 100644 --- a/android/src/main/jniLibs/x86_64/libfilamat_lite.a +++ b/android/src/main/jniLibs/x86_64/libfilamat_lite.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:17c5ac0985a1b8c0fcd082dfaaecae15c05a097b64177c5bdde555f17dd64504 -size 472660 +oid sha256:295259598574e8b24affb68d2ba409ddfbc5110219c66f80258ad4c44d9b4b60 +size 650064 diff --git a/android/src/main/jniLibs/x86_64/libfilament-iblprefilter.a b/android/src/main/jniLibs/x86_64/libfilament-iblprefilter.a index 037745ff..9fd4a122 100644 --- a/android/src/main/jniLibs/x86_64/libfilament-iblprefilter.a +++ b/android/src/main/jniLibs/x86_64/libfilament-iblprefilter.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:29833a2e3842c035be7b7000b492aac035451f821e95c5280d14b0fd96ebfe80 -size 65204 +oid sha256:3689e9ab9f215336805761a5f6290b57e2b8329eace8e7208fff582236ac189f +size 73862 diff --git a/android/src/main/jniLibs/x86_64/libfilament.a b/android/src/main/jniLibs/x86_64/libfilament.a index 866924bf..7c083df5 100644 --- a/android/src/main/jniLibs/x86_64/libfilament.a +++ b/android/src/main/jniLibs/x86_64/libfilament.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:004e68dc1835ba9d56cdcc780e2854a9d4c744cb5186651cd68141ebaa45b079 -size 2175686 +oid sha256:27524a5352c1d7c8c6610ad5235fe6a82b174069735527bb57de246cee169c47 +size 2800470 diff --git a/android/src/main/jniLibs/x86_64/libfilameshio.a b/android/src/main/jniLibs/x86_64/libfilameshio.a index e43cc1e7..6d85b8a8 100644 --- a/android/src/main/jniLibs/x86_64/libfilameshio.a +++ b/android/src/main/jniLibs/x86_64/libfilameshio.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a9015f9f4f98dccc395573289f1f896c5fe68d3b2cde1a3d798ead2b3c4a1feb -size 29298 +oid sha256:2d435c6614a5051daf75fd7a8b885ec710439252a78fbcd8fedf935730610973 +size 40996 diff --git a/android/src/main/jniLibs/x86_64/libgeometry.a b/android/src/main/jniLibs/x86_64/libgeometry.a index c7fd1468..2dd21148 100644 --- a/android/src/main/jniLibs/x86_64/libgeometry.a +++ b/android/src/main/jniLibs/x86_64/libgeometry.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:42a046ff88bc86ce97d8ffb0f91ec5a40974fdbd267179fd4e4249b227d7533e -size 87326 +oid sha256:d1c80a2c594936e6a1f55b485b3bd3e29f828a99785b53f631fa75ddc88eae51 +size 110424 diff --git a/android/src/main/jniLibs/x86_64/libgltfio_core.a b/android/src/main/jniLibs/x86_64/libgltfio_core.a index 7414f8c6..29c53183 100644 --- a/android/src/main/jniLibs/x86_64/libgltfio_core.a +++ b/android/src/main/jniLibs/x86_64/libgltfio_core.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f2a876c21b516faccece4d37f4e852ac0971015905bf18abe86ecabda83dd842 -size 800644 +oid sha256:738d73b4185c8c6363b9fb9caeebc8f8c29d2c3611356cbe148d930e47dca309 +size 1199164 diff --git a/android/src/main/jniLibs/x86_64/libibl-lite.a b/android/src/main/jniLibs/x86_64/libibl-lite.a index dfd29956..88326778 100644 --- a/android/src/main/jniLibs/x86_64/libibl-lite.a +++ b/android/src/main/jniLibs/x86_64/libibl-lite.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:35a0df35b6aabafddf0821580fd08d78b81bbd8de2535415dbb6b7ff4b7f57b7 -size 229050 +oid sha256:3d7b366656fa1f9208a173ed14f0a23656f3e080bb07cc8fb8ef12abfdb0a3ef +size 385650 diff --git a/android/src/main/jniLibs/x86_64/libibl.a b/android/src/main/jniLibs/x86_64/libibl.a index 734551f4..b6b80e86 100644 --- a/android/src/main/jniLibs/x86_64/libibl.a +++ b/android/src/main/jniLibs/x86_64/libibl.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:01395ba32d3d02e475830f1e5aea9bee4091d7a5785cadfd1558046ea7828169 -size 280860 +oid sha256:9cd2a89622aa4425c109442f7a5adeed21498b4779e0e33433081c60179011cf +size 471620 diff --git a/android/src/main/jniLibs/x86_64/libimage.a b/android/src/main/jniLibs/x86_64/libimage.a index df100ff9..c2caff82 100644 --- a/android/src/main/jniLibs/x86_64/libimage.a +++ b/android/src/main/jniLibs/x86_64/libimage.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5c6e0bba2c098165e9f5773b0e649e54cecb68c9ef8a04b5c21f8f5b0915e7a5 -size 79288 +oid sha256:48ecae870cc7b08019765640658c148d165b148f7fb351ddb2d74a7002c11da3 +size 109860 diff --git a/android/src/main/jniLibs/x86_64/libktxreader.a b/android/src/main/jniLibs/x86_64/libktxreader.a index da093aab..c4607b92 100644 --- a/android/src/main/jniLibs/x86_64/libktxreader.a +++ b/android/src/main/jniLibs/x86_64/libktxreader.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0d2546330be6f6d38ac01935fe7c05ae04163b86bd39bcc2efb4249534409bc6 -size 73396 +oid sha256:eaabc6b1d44100f4ec7ac90f86ff7913cb21a55e96be24ebba57b81f45d626be +size 82906 diff --git a/android/src/main/jniLibs/x86_64/libmeshoptimizer.a b/android/src/main/jniLibs/x86_64/libmeshoptimizer.a index 7b5c6da3..f91e72d4 100644 --- a/android/src/main/jniLibs/x86_64/libmeshoptimizer.a +++ b/android/src/main/jniLibs/x86_64/libmeshoptimizer.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bec2e2c5a06ff98420562ca9f61fd2c5efc29454365aeaf5f7e7747e7253b932 -size 138794 +oid sha256:10e96ca27d8bb7706886c57c0790173dd750360b2e7c915181c3c687706b249a +size 169648 diff --git a/android/src/main/jniLibs/x86_64/libshaders.a b/android/src/main/jniLibs/x86_64/libshaders.a index 882882b0..7a4f08f8 100644 --- a/android/src/main/jniLibs/x86_64/libshaders.a +++ b/android/src/main/jniLibs/x86_64/libshaders.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9d96b998912cba46a10df603a2935a8c6648c4f9ecd81e3ef01d08d3ab5deada -size 127214 +oid sha256:d08729aea048e5801b74810d5420b76283721442ad0e12374faf3116658d7210 +size 127398 diff --git a/android/src/main/jniLibs/x86_64/libsmol-v.a b/android/src/main/jniLibs/x86_64/libsmol-v.a index c8477f76..1bd3c3e9 100644 --- a/android/src/main/jniLibs/x86_64/libsmol-v.a +++ b/android/src/main/jniLibs/x86_64/libsmol-v.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:96ca41c9b4759eed08a07125ee0183d28d95d7d0b379fe8df4aa2d39cb6de220 -size 43438 +oid sha256:3633648c3bd68d7cf63e4283a1e23475d2dbe97ed2f300825691ac33d1fa8fe5 +size 44750 diff --git a/android/src/main/jniLibs/x86_64/libstb.a b/android/src/main/jniLibs/x86_64/libstb.a index a4524dc4..bcbb5884 100644 --- a/android/src/main/jniLibs/x86_64/libstb.a +++ b/android/src/main/jniLibs/x86_64/libstb.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:22bf900a2503f03baf676bc3042326bbcf04fbaa087b4ec7078b0e2c22a43cf1 -size 132342 +oid sha256:3f7876773cd4e27f432ea1811beb8fc4588c2944957a31a9f892bb5d65aad81b +size 136886 diff --git a/android/src/main/jniLibs/x86_64/libuberarchive.a b/android/src/main/jniLibs/x86_64/libuberarchive.a index e8cc8092..dd71c687 100644 --- a/android/src/main/jniLibs/x86_64/libuberarchive.a +++ b/android/src/main/jniLibs/x86_64/libuberarchive.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2511ba7aad3eb262264b801f27845ccc8fbc9dd79a23b743f17bf70719519818 -size 1335364 +oid sha256:baa93139416274e711557da2e42da4215b2256e3c78f25f1c071a5d107bec4e4 +size 1831372 diff --git a/android/src/main/jniLibs/x86_64/libuberzlib.a b/android/src/main/jniLibs/x86_64/libuberzlib.a index fc9cea2f..5f392595 100644 --- a/android/src/main/jniLibs/x86_64/libuberzlib.a +++ b/android/src/main/jniLibs/x86_64/libuberzlib.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6ae0a57266cc07dbce9ad80b26a2568d467db08b1083ff7ce1cea61d63e8b33f -size 22296 +oid sha256:7a773ef5ce4e21b009bf95073514be4808981c66518c25368afb97469fe0502a +size 31602 diff --git a/android/src/main/jniLibs/x86_64/libutils.a b/android/src/main/jniLibs/x86_64/libutils.a index e13d7bbd..e36ad016 100644 --- a/android/src/main/jniLibs/x86_64/libutils.a +++ b/android/src/main/jniLibs/x86_64/libutils.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3917ac2ae66103c7f6c474e5b61d66650678ed6edbd90f0a9091a36a71e4d811 -size 227302 +oid sha256:67f0ac604642358050721abf6faeb06c09bd1a40585b0b6b9149cfc3d3769829 +size 339742 diff --git a/android/src/main/jniLibs/x86_64/libviewer.a b/android/src/main/jniLibs/x86_64/libviewer.a index d4a384aa..b7371183 100644 --- a/android/src/main/jniLibs/x86_64/libviewer.a +++ b/android/src/main/jniLibs/x86_64/libviewer.a @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ed47acade3dacfc7e64ba638a3cda6a8ea7f139e35d439713b1132b90e8d72b1 -size 469154 +oid sha256:423ea9531e1f44d7602901e801f998e4d7565dfb7d36183f77eb9525bfb3c65c +size 558048 diff --git a/example/assets/default_env/default_env_skybox.ktx b/example/assets/default_env/default_env_skybox.ktx index 74750d42..9d72e5a0 100644 Binary files a/example/assets/default_env/default_env_skybox.ktx and b/example/assets/default_env/default_env_skybox.ktx differ diff --git a/example/lib/main.dart b/example/lib/main.dart index b345225b..fdeee66a 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -1,3 +1,4 @@ +import 'dart:io'; import 'dart:typed_data'; import 'package:flutter/material.dart'; @@ -318,7 +319,6 @@ class _ExampleWidgetState extends State { // case -1: - // break; // case -2: // _filamentController.render(); @@ -339,7 +339,6 @@ class _ExampleWidgetState extends State { // _filamentController.setBackgroundColor(Color(0xFF73C9FA)); // break; - // case 5: // _flightHelmet ??= await _filamentController.loadGltf( // 'assets/FlightHelmet/FlightHelmet.gltf', 'assets/FlightHelmet'); @@ -423,11 +422,11 @@ class _ExampleWidgetState extends State { // _filamentController.clearLights(); // break; // case 32: - + // // break; // break; // case 33: - + // break; // case 34: // var duration = @@ -457,4 +456,4 @@ class _ExampleWidgetState extends State { // break; // case 37: // _filamentController.stopAnimation(_cube!, 0); -// break; \ No newline at end of file +// break; diff --git a/macos/src/AssetManager.cpp b/macos/src/AssetManager.cpp index 0fc70356..603966f9 100644 --- a/macos/src/AssetManager.cpp +++ b/macos/src/AssetManager.cpp @@ -21,13 +21,11 @@ #include "Log.hpp" #include "AssetManager.hpp" -#include "material/UnlitMaterialProvider.hpp" #include "material/FileMaterialProvider.hpp" #include "gltfio/materials/uberarchive.h" extern "C" { #include "material/image.h" -#include "material/unlit_opaque.h" } namespace polyvox { @@ -54,20 +52,19 @@ _scene(scene) { _gltfResourceLoader = new ResourceLoader({.engine = _engine, .normalizeSkinningWeights = true }); - // auto uberdata = resourceLoaderWrapper->load("packages/polyvox_filament/assets/materials_ios_arm64.uberz"); - - // _ubershaderProvider = gltfio::createUbershaderProvider( - // _engine, uberdata.data, uberdata.size); + // TODO - allow passing uberz archive + // e.g. auto uberArchivePath = "packages/polyvox_filament/assets/default.uberz" + // auto uberdata = resourceLoaderWrapper->load(uberArchivePath); + // if (!uberdata.data) { + // Log("Failed to load ubershader material. This is fatal."); + // } + // _ubershaderProvider = gltfio::createUbershaderProvider(_engine, uberdata.data, uberdata.size); _ubershaderProvider = gltfio::createUbershaderProvider( - _engine, UBERARCHIVE_DEFAULT_DATA, UBERARCHIVE_DEFAULT_SIZE); - // _ubershaderProvider = gltfio::createJitShaderProvider(_engine, true); + _engine, UBERARCHIVE_DEFAULT_DATA, UBERARCHIVE_DEFAULT_SIZE); + Log("Created ubershader provider."); + EntityManager &em = EntityManager::get(); - - //_unlitProvider = new UnlitMaterialProvider(_engine); - - // auto rb = _resourceLoaderWrapper->load("file:///mnt/hdd_2tb/home/hydroxide/projects/polyvox/flutter/polyvox_filament/materials/toon.filamat"); - // auto toonProvider = new FileMaterialProvider(_engine, rb.data, (size_t) rb.size); - + _assetLoader = AssetLoader::create({_engine, _ubershaderProvider, _ncm, &em }); _gltfResourceLoader->addTextureProvider("image/ktx2", _ktxDecoder); _gltfResourceLoader->addTextureProvider("image/png", _stbDecoder); @@ -77,7 +74,6 @@ _scene(scene) { AssetManager::~AssetManager() { _gltfResourceLoader->asyncCancelLoad(); _ubershaderProvider->destroyMaterials(); - //_unlitProvider->destroyMaterials(); destroyAll(); AssetLoader::destroy(&_assetLoader); diff --git a/macos/src/FilamentViewer.cpp b/macos/src/FilamentViewer.cpp index 1f053842..422c35d6 100644 --- a/macos/src/FilamentViewer.cpp +++ b/macos/src/FilamentViewer.cpp @@ -2,6 +2,9 @@ #include "TargetConditionals.h" #endif +#ifdef _WIN32 +#pragma comment(lib, "Ws2_32.lib") +#endif /* * Copyright (C) 2019 The Android Open Source Project @@ -20,6 +23,7 @@ */ #include #include +#include #include #include #include @@ -107,15 +111,17 @@ static constexpr float4 sFullScreenTriangleVertices[3] = { static const uint16_t sFullScreenTriangleIndices[3] = {0, 1, 2}; -FilamentViewer::FilamentViewer(const void* context, const ResourceLoaderWrapper* const resourceLoaderWrapper) +FilamentViewer::FilamentViewer(const void* sharedContext, const ResourceLoaderWrapper* const resourceLoaderWrapper, void* const platform) : _resourceLoaderWrapper(resourceLoaderWrapper) { #if TARGET_OS_IPHONE + ASSERT_POSTCONDITION(platform == nullptr, "Custom Platform not supported on iOS"); _engine = Engine::create(Engine::Backend::METAL); #elif TARGET_OS_OSX + ASSERT_POSTCONDITION(platform == nullptr, "Custom Platform not supported on macOS"); _engine = Engine::create(Engine::Backend::METAL); #else - _engine = Engine::create(Engine::Backend::OPENGL); //L, nullptr, (void*)context, nullptr); + _engine = Engine::create(Engine::Backend::OPENGL, (backend::Platform*)platform, (void*)sharedContext, nullptr); #endif _renderer = _engine->createRenderer(); @@ -137,10 +143,15 @@ FilamentViewer::FilamentViewer(const void* context, const ResourceLoaderWrapper* Log("Main camera created"); _view = _engine->createView(); + _view->setPostProcessingEnabled(false); + Log("View created"); setToneMapping(ToneMapping::ACES); + Log("Set tone mapping"); + setBloom(0.6f); + Log("Set bloom"); _view->setScene(_scene); _view->setCamera(_mainCamera); @@ -149,7 +160,7 @@ FilamentViewer::FilamentViewer(const void* context, const ResourceLoaderWrapper* _mainCamera->setLensProjection(_cameraFocalLength, 1.0f, kNearPlane, kFarPlane); // _mainCamera->setExposure(kAperture, kShutterSpeed, kSensitivity); - + Log("View created"); const float aperture = _mainCamera->getAperture(); const float shutterSpeed = _mainCamera->getShutterSpeed(); const float sens = _mainCamera->getSensitivity(); @@ -189,14 +200,18 @@ FilamentViewer::FilamentViewer(const void* context, const ResourceLoaderWrapper* .format(Texture::InternalFormat::RGB16F) .sampler(Texture::Sampler::SAMPLER_2D) .build(*_engine); - - _imageMaterial = - Material::Builder() - .package(IMAGE_PACKAGE, IMAGE_IMAGE_SIZE) - .build(*_engine); - _imageMaterial->setDefaultParameter("showImage",0); - _imageMaterial->setDefaultParameter("backgroundColor", RgbaType::sRGB, float4(0.5f, 0.5f, 0.5f, 1.0f)); - _imageMaterial->setDefaultParameter("image", _imageTexture, _imageSampler); + try { + _imageMaterial = + Material::Builder() + .package(IMAGE_IMAGE_DATA, IMAGE_IMAGE_SIZE) + .build(*_engine); + _imageMaterial->setDefaultParameter("showImage",0); + _imageMaterial->setDefaultParameter("backgroundColor", RgbaType::sRGB, float4(0.5f, 0.5f, 0.5f, 1.0f)); + _imageMaterial->setDefaultParameter("image", _imageTexture, _imageSampler); + } catch(...) { + Log("Failed to load background image material provider"); + std::rethrow_exception(std::current_exception()); + } _imageScale = mat4f { 1.0f , 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f }; _imageMaterial->setDefaultParameter("transform", _imageScale); @@ -402,16 +417,14 @@ void FilamentViewer::loadTextureFromPath(string path) { } else if(endsWith(path, pngExt)) { loadPngTexture(path, rb); } - _resourceLoaderWrapper->free(rb); - } void FilamentViewer::setBackgroundColor(const float r, const float g, const float b, const float a) { _imageMaterial->setDefaultParameter("showImage", 0); _imageMaterial->setDefaultParameter("backgroundColor", RgbaType::sRGB, float4(r, g, b, a)); const Viewport& vp = _view->getViewport(); - _imageMaterial->setDefaultParameter("transform", _imageScale); + _imageMaterial->setDefaultParameter("transform", _imageScale); } void FilamentViewer::clearBackgroundImage() { @@ -560,11 +573,12 @@ void FilamentViewer::createSwapChain(const void *window, uint32_t width, uint32_ #else if(window) { _swapChain = _engine->createSwapChain((void*)window, filament::backend::SWAP_CHAIN_CONFIG_TRANSPARENT | filament::backend::SWAP_CHAIN_CONFIG_READABLE); + Log("Created window swapchain."); } else { + Log("Created headless swapchain."); _swapChain = _engine->createSwapChain(width, height, filament::backend::SWAP_CHAIN_CONFIG_TRANSPARENT | filament::backend::SWAP_CHAIN_CONFIG_READABLE); } - #endif - Log("Swapchain created."); + #endif } void FilamentViewer::createRenderTarget(intptr_t texture, uint32_t width, uint32_t height) { @@ -582,7 +596,7 @@ void FilamentViewer::createRenderTarget(intptr_t texture, uint32_t width, uint32 .height(height) .levels(1) .usage(filament::Texture::Usage::DEPTH_ATTACHMENT) - .format(filament::Texture::InternalFormat::DEPTH24) + .format(filament::Texture::InternalFormat::DEPTH32F) .build(*_engine); _rt = filament::RenderTarget::Builder() .texture(RenderTarget::AttachmentPoint::COLOR, _rtColor) @@ -812,7 +826,11 @@ void FilamentViewer::loadIbl(const char *const iblPath, float intensity) { double _elapsed = 0; int _frameCount = 0; -void FilamentViewer::render(uint64_t frameTimeInNanos) { +void FilamentViewer::render( + uint64_t frameTimeInNanos, + void* pixelBuffer, + void (*callback)(void *buf, size_t size, void *data), + void* data) { if (!_view || !_mainCamera || !_swapChain) { Log("Not ready for rendering"); @@ -832,12 +850,24 @@ void FilamentViewer::render(uint64_t frameTimeInNanos) { _elapsed += tmr.elapsed(); _frameCount++; - // Render the scene, unless the renderer wants to skip the frame. - if (_renderer->beginFrame(_swapChain, frameTimeInNanos)) { + if(pixelBuffer) { + auto pbd = Texture::PixelBufferDescriptor( + pixelBuffer, size_t(1024 * 768 * 4), + Texture::Format::RGBA, + Texture::Type::BYTE, nullptr, callback, data); + + _renderer->beginFrame(_swapChain, 0); _renderer->render(_view); + _renderer->readPixels(0,0,1024,768, std::move(pbd)); _renderer->endFrame(); } else { - // skipped frame + // Render the scene, unless the renderer wants to skip the frame. + if (_renderer->beginFrame(_swapChain, frameTimeInNanos)) { + _renderer->render(_view); + _renderer->endFrame(); + } else { + // skipped frame + } } } @@ -865,6 +895,10 @@ void FilamentViewer::updateViewportAndCameraProjection( contentScaleFactor); } +void FilamentViewer::setViewFrustumCulling(bool enabled) { + _view->setFrustumCullingEnabled(enabled); +} + void FilamentViewer::setCameraPosition(float x, float y, float z) { Camera& cam =_view->getCamera(); @@ -872,10 +906,6 @@ void FilamentViewer::setCameraPosition(float x, float y, float z) { cam.setModelMatrix(_cameraPosition * _cameraRotation); } -void FilamentViewer::setViewFrustumCulling(bool enabled) { - _view->setFrustumCullingEnabled(enabled); -} - void FilamentViewer::moveCameraToAsset(EntityId entityId) { auto asset = _assetManager->getAssetByEntityId(entityId); if(!asset) { @@ -938,18 +968,15 @@ void FilamentViewer::grabUpdate(float x, float y) { return; } Camera& cam =_view->getCamera(); - auto eye = cam.getPosition();// math::float3 {0.0f, 0.5f, 50.0f } ;// ; // + auto eye = cam.getPosition(); auto target = eye + cam.getForwardVector(); auto upward = cam.getUpVector(); Viewport const& vp = _view->getViewport(); if(_panning) { - auto trans = cam.getModelMatrix() * mat4::translation(math::float3 { 10 * (x - _startX) / vp.width, 10 * (y - _startY) / vp.height, 0.0f }); + auto trans = cam.getModelMatrix() * mat4::translation(math::float3 { 50 * (x - _startX) / vp.width, 50 * (y - _startY) / vp.height, 0.0f }); cam.setModelMatrix(trans); } else { - auto trans = cam.getModelMatrix() * mat4::rotation( - - 0.01, -// math::float3 { 0.0f, 1.0f, 0.0f }); + auto trans = cam.getModelMatrix() * mat4::rotation(0.05, math::float3 { (y - _startY) / vp.height, (x - _startX) / vp.width, 0.0f }); cam.setModelMatrix(trans); } diff --git a/macos/src/PolyvoxFilamentApi.cpp b/macos/src/PolyvoxFilamentApi.cpp index 21334347..b56fbbb9 100644 --- a/macos/src/PolyvoxFilamentApi.cpp +++ b/macos/src/PolyvoxFilamentApi.cpp @@ -10,17 +10,15 @@ using namespace polyvox; -#define FLUTTER_PLUGIN_EXPORT __attribute__((visibility("default"))) extern "C" { #include "PolyvoxFilamentApi.h" - - FLUTTER_PLUGIN_EXPORT const void* create_filament_viewer(const void* context, const ResourceLoaderWrapper* const loader) { - return (const void*) new FilamentViewer(context, loader); + FLUTTER_PLUGIN_EXPORT const void* create_filament_viewer(const void* context, const ResourceLoaderWrapper* const loader, void* const platform) { + return (const void*) new FilamentViewer(context, loader, platform); } - + FLUTTER_PLUGIN_EXPORT ResourceLoaderWrapper* make_resource_loader(LoadFilamentResourceFromOwner loadFn, FreeFilamentResourceFromOwner freeFn, void* const owner) { return new ResourceLoaderWrapper(loadFn, freeFn, owner); } @@ -34,7 +32,7 @@ extern "C" { } FLUTTER_PLUGIN_EXPORT void set_background_color(const void* const viewer, const float r, const float g, const float b, const float a) { - ((FilamentViewer*)viewer)->setBackgroundColor(r, g, b, a); + ((FilamentViewer*)viewer)->setBackgroundColor(r, g, b, a); } FLUTTER_PLUGIN_EXPORT void clear_background_image(const void* const viewer) { @@ -45,56 +43,56 @@ extern "C" { ((FilamentViewer*)viewer)->setBackgroundImage(path, fillHeight); } - FLUTTER_PLUGIN_EXPORT void set_background_image_position(const void* const viewer, float x, float y, bool clamp) { + FLUTTER_PLUGIN_EXPORT void set_background_image_position(const void* const viewer, float x, float y, bool clamp) { ((FilamentViewer*)viewer)->setBackgroundImagePosition(x, y, clamp); } - FLUTTER_PLUGIN_EXPORT void set_tone_mapping(const void* const viewer, int toneMapping) { + FLUTTER_PLUGIN_EXPORT void set_tone_mapping(const void* const viewer, int toneMapping) { ((FilamentViewer*)viewer)->setToneMapping((ToneMapping)toneMapping); } - FLUTTER_PLUGIN_EXPORT void set_bloom(const void* const viewer, float strength) { + FLUTTER_PLUGIN_EXPORT void set_bloom(const void* const viewer, float strength) { Log("Setting bloom to %f", strength); ((FilamentViewer*)viewer)->setBloom(strength); } - FLUTTER_PLUGIN_EXPORT void load_skybox(const void* const viewer, const char* skyboxPath) { + FLUTTER_PLUGIN_EXPORT void load_skybox(const void* const viewer, const char* skyboxPath) { ((FilamentViewer*)viewer)->loadSkybox(skyboxPath); } - FLUTTER_PLUGIN_EXPORT void load_ibl(const void* const viewer, const char* iblPath, float intensity) { + FLUTTER_PLUGIN_EXPORT void load_ibl(const void* const viewer, const char* iblPath, float intensity) { ((FilamentViewer*)viewer)->loadIbl(iblPath, intensity); } - FLUTTER_PLUGIN_EXPORT void remove_skybox(const void* const viewer) { + FLUTTER_PLUGIN_EXPORT void remove_skybox(const void* const viewer) { ((FilamentViewer*)viewer)->removeSkybox(); } - FLUTTER_PLUGIN_EXPORT void remove_ibl(const void* const viewer) { + FLUTTER_PLUGIN_EXPORT void remove_ibl(const void* const viewer) { ((FilamentViewer*)viewer)->removeIbl(); } - FLUTTER_PLUGIN_EXPORT EntityId add_light(const void* const viewer, uint8_t type, float colour, float intensity, float posX, float posY, float posZ, float dirX, float dirY, float dirZ, bool shadows) { + EntityId add_light(const void* const viewer, uint8_t type, float colour, float intensity, float posX, float posY, float posZ, float dirX, float dirY, float dirZ, bool shadows) { return ((FilamentViewer*)viewer)->addLight((LightManager::Type)type, colour, intensity, posX, posY, posZ, dirX, dirY, dirZ, shadows); } - FLUTTER_PLUGIN_EXPORT void remove_light(const void* const viewer, int32_t entityId) { + FLUTTER_PLUGIN_EXPORT void remove_light(const void* const viewer, int32_t entityId) { ((FilamentViewer*)viewer)->removeLight(entityId); } - FLUTTER_PLUGIN_EXPORT void clear_lights(const void* const viewer) { + FLUTTER_PLUGIN_EXPORT void clear_lights(const void* const viewer) { ((FilamentViewer*)viewer)->clearLights(); } - FLUTTER_PLUGIN_EXPORT EntityId load_glb(void* assetManager, const char* assetPath, bool unlit) { + EntityId load_glb(void* assetManager, const char* assetPath, bool unlit) { return ((AssetManager*)assetManager)->loadGlb(assetPath, unlit); } - FLUTTER_PLUGIN_EXPORT EntityId load_gltf(void* assetManager, const char* assetPath, const char* relativePath) { + EntityId load_gltf(void* assetManager, const char* assetPath, const char* relativePath) { return ((AssetManager*)assetManager)->loadGltf(assetPath, relativePath); } - FLUTTER_PLUGIN_EXPORT bool set_camera(const void* const viewer, EntityId asset, const char* nodeName) { + bool set_camera(const void* const viewer, EntityId asset, const char* nodeName) { return ((FilamentViewer*)viewer)->setCamera(asset, nodeName); } @@ -106,85 +104,87 @@ extern "C" { ((FilamentViewer*)viewer)->moveCameraToAsset(asset); } - FLUTTER_PLUGIN_EXPORT void set_camera_focus_distance(const void* const viewer, float distance) { + FLUTTER_PLUGIN_EXPORT void set_camera_focus_distance(const void* const viewer, float distance) { ((FilamentViewer*)viewer)->setCameraFocusDistance(distance); } - FLUTTER_PLUGIN_EXPORT void set_camera_exposure(const void* const viewer, float aperture, float shutterSpeed, float sensitivity) { + FLUTTER_PLUGIN_EXPORT void set_camera_exposure(const void* const viewer, float aperture, float shutterSpeed, float sensitivity) { ((FilamentViewer*)viewer)->setCameraExposure(aperture, shutterSpeed, sensitivity); } - FLUTTER_PLUGIN_EXPORT void set_camera_position(const void* const viewer, float x, float y, float z) { + FLUTTER_PLUGIN_EXPORT void set_camera_position(const void* const viewer, float x, float y, float z) { ((FilamentViewer*)viewer)->setCameraPosition(x, y, z); } - FLUTTER_PLUGIN_EXPORT void set_camera_rotation(const void* const viewer, float rads, float x, float y, float z) { + FLUTTER_PLUGIN_EXPORT void set_camera_rotation(const void* const viewer, float rads, float x, float y, float z) { ((FilamentViewer*)viewer)->setCameraRotation(rads, x, y, z); } - FLUTTER_PLUGIN_EXPORT void set_camera_model_matrix(const void* const viewer, const float* const matrix) { + FLUTTER_PLUGIN_EXPORT void set_camera_model_matrix(const void* const viewer, const float* const matrix) { ((FilamentViewer*)viewer)->setCameraModelMatrix(matrix); } - FLUTTER_PLUGIN_EXPORT void set_camera_focal_length(const void* const viewer, float focalLength) { + FLUTTER_PLUGIN_EXPORT void set_camera_focal_length(const void* const viewer, float focalLength) { ((FilamentViewer*)viewer)->setCameraFocalLength(focalLength); } FLUTTER_PLUGIN_EXPORT void render( const void* const viewer, - uint64_t frameTimeInNanos - ) { - ((FilamentViewer*)viewer)->render(frameTimeInNanos); + uint64_t frameTimeInNanos, + void* pixelBuffer, + void (*callback)(void *buf, size_t size, void *data), + void* data) { + ((FilamentViewer*)viewer)->render(frameTimeInNanos, pixelBuffer, callback, data); } - FLUTTER_PLUGIN_EXPORT void set_frame_interval( + FLUTTER_PLUGIN_EXPORT void set_frame_interval( const void* const viewer, float frameInterval ) { ((FilamentViewer*)viewer)->setFrameInterval(frameInterval); } - FLUTTER_PLUGIN_EXPORT void destroy_swap_chain(const void* const viewer) { + FLUTTER_PLUGIN_EXPORT void destroy_swap_chain(const void* const viewer) { ((FilamentViewer*)viewer)->destroySwapChain(); } - FLUTTER_PLUGIN_EXPORT void create_swap_chain(const void* const viewer, const void* const window, uint32_t width, uint32_t height) { + FLUTTER_PLUGIN_EXPORT void create_swap_chain(const void* const viewer, const void* const window, uint32_t width, uint32_t height) { ((FilamentViewer*)viewer)->createSwapChain(window, width, height); } - FLUTTER_PLUGIN_EXPORT void update_viewport_and_camera_projection(const void* const viewer, uint32_t width, uint32_t height, float scaleFactor) { + FLUTTER_PLUGIN_EXPORT void update_viewport_and_camera_projection(const void* const viewer, uint32_t width, uint32_t height, float scaleFactor) { return ((FilamentViewer*)viewer)->updateViewportAndCameraProjection(width, height, scaleFactor); } - FLUTTER_PLUGIN_EXPORT void scroll_update(const void* const viewer, float x, float y, float delta) { + FLUTTER_PLUGIN_EXPORT void scroll_update(const void* const viewer, float x, float y, float delta) { ((FilamentViewer*)viewer)->scrollUpdate(x, y, delta); } - FLUTTER_PLUGIN_EXPORT void scroll_begin(const void* const viewer) { + FLUTTER_PLUGIN_EXPORT void scroll_begin(const void* const viewer) { ((FilamentViewer*)viewer)->scrollBegin(); } - FLUTTER_PLUGIN_EXPORT void scroll_end(const void* const viewer) { + FLUTTER_PLUGIN_EXPORT void scroll_end(const void* const viewer) { ((FilamentViewer*)viewer)->scrollEnd(); } - FLUTTER_PLUGIN_EXPORT void grab_begin(const void* const viewer, float x, float y, bool pan) { + FLUTTER_PLUGIN_EXPORT void grab_begin(const void* const viewer, float x, float y, bool pan) { ((FilamentViewer*)viewer)->grabBegin(x, y, pan); } - FLUTTER_PLUGIN_EXPORT void grab_update(const void* const viewer, float x, float y) { + FLUTTER_PLUGIN_EXPORT void grab_update(const void* const viewer, float x, float y) { ((FilamentViewer*)viewer)->grabUpdate(x, y); } - FLUTTER_PLUGIN_EXPORT void grab_end(const void* const viewer) { + FLUTTER_PLUGIN_EXPORT void grab_end(const void* const viewer) { ((FilamentViewer*)viewer)->grabEnd(); } - FLUTTER_PLUGIN_EXPORT void* get_asset_manager(const void* const viewer) { + FLUTTER_PLUGIN_EXPORT void * get_asset_manager(const void* const viewer) { return (void*)((FilamentViewer*)viewer)->getAssetManager(); } - FLUTTER_PLUGIN_EXPORT void apply_weights( + FLUTTER_PLUGIN_EXPORT void apply_weights( void* assetManager, EntityId asset, const char* const entityName, @@ -193,7 +193,7 @@ extern "C" { // ((AssetManager*)assetManager)->setMorphTargetWeights(asset, entityName, weights, count); } - FLUTTER_PLUGIN_EXPORT void set_morph_target_weights( + FLUTTER_PLUGIN_EXPORT void set_morph_target_weights( void* assetManager, EntityId asset, const char* const entityName, @@ -211,7 +211,7 @@ extern "C" { - FLUTTER_PLUGIN_EXPORT bool set_morph_animation( + bool set_morph_animation( void* assetManager, EntityId asset, const char* const entityName, @@ -232,7 +232,7 @@ extern "C" { ); } - FLUTTER_PLUGIN_EXPORT void set_bone_animation( + FLUTTER_PLUGIN_EXPORT void set_bone_animation( void* assetManager, EntityId asset, const float* const frameData, @@ -284,7 +284,7 @@ extern "C" { // } - FLUTTER_PLUGIN_EXPORT void play_animation( + FLUTTER_PLUGIN_EXPORT void play_animation( void* assetManager, EntityId asset, int index, @@ -295,7 +295,7 @@ extern "C" { ((AssetManager*)assetManager)->playAnimation(asset, index, loop, reverse, replaceActive, crossfade); } - FLUTTER_PLUGIN_EXPORT void set_animation_frame( + FLUTTER_PLUGIN_EXPORT void set_animation_frame( void* assetManager, EntityId asset, int animationIndex, @@ -304,18 +304,18 @@ extern "C" { } - FLUTTER_PLUGIN_EXPORT float get_animation_duration(void* assetManager, EntityId asset, int animationIndex) { + float get_animation_duration(void* assetManager, EntityId asset, int animationIndex) { return ((AssetManager*)assetManager)->getAnimationDuration(asset, animationIndex); } - FLUTTER_PLUGIN_EXPORT int get_animation_count( + int get_animation_count( void* assetManager, EntityId asset) { auto names = ((AssetManager*)assetManager)->getAnimationNames(asset); return (int)names->size(); } - FLUTTER_PLUGIN_EXPORT void get_animation_name( + FLUTTER_PLUGIN_EXPORT void get_animation_name( void* assetManager, EntityId asset, char* const outPtr, @@ -331,17 +331,17 @@ extern "C" { return (int)names->size(); } - FLUTTER_PLUGIN_EXPORT void get_morph_target_name(void* assetManager, EntityId asset, const char* meshName, char* const outPtr, int index ) { + FLUTTER_PLUGIN_EXPORT void get_morph_target_name(void* assetManager, EntityId asset, const char* meshName, char* const outPtr, int index ) { unique_ptr> names = ((AssetManager*)assetManager)->getMorphTargetNames(asset, meshName); string name = names->at(index); strcpy(outPtr, name.c_str()); } - FLUTTER_PLUGIN_EXPORT void remove_asset(const void* const viewer, EntityId asset) { + FLUTTER_PLUGIN_EXPORT void remove_asset(const void* const viewer, EntityId asset) { ((FilamentViewer*)viewer)->removeAsset(asset); } - FLUTTER_PLUGIN_EXPORT void clear_assets(const void* const viewer) { + FLUTTER_PLUGIN_EXPORT void clear_assets(const void* const viewer) { ((FilamentViewer*)viewer)->clearAssets(); } @@ -349,35 +349,35 @@ extern "C" { return ((AssetManager*)assetManager)->setMaterialColor(asset, meshName, materialIndex, r, g, b, a); } - FLUTTER_PLUGIN_EXPORT void transform_to_unit_cube(void* assetManager, EntityId asset) { + FLUTTER_PLUGIN_EXPORT void transform_to_unit_cube(void* assetManager, EntityId asset) { ((AssetManager*)assetManager)->transformToUnitCube(asset); } - FLUTTER_PLUGIN_EXPORT void set_position(void* assetManager, EntityId asset, float x, float y, float z) { + FLUTTER_PLUGIN_EXPORT void set_position(void* assetManager, EntityId asset, float x, float y, float z) { ((AssetManager*)assetManager)->setPosition(asset, x, y, z); } - FLUTTER_PLUGIN_EXPORT void set_rotation(void* assetManager, EntityId asset, float rads, float x, float y, float z) { + FLUTTER_PLUGIN_EXPORT void set_rotation(void* assetManager, EntityId asset, float rads, float x, float y, float z) { ((AssetManager*)assetManager)->setRotation(asset, rads, x, y, z); } - FLUTTER_PLUGIN_EXPORT void set_scale(void* assetManager, EntityId asset, float scale) { + FLUTTER_PLUGIN_EXPORT void set_scale(void* assetManager, EntityId asset, float scale) { ((AssetManager*)assetManager)->setScale(asset, scale); } - FLUTTER_PLUGIN_EXPORT void stop_animation(void* assetManager, EntityId asset, int index) { + FLUTTER_PLUGIN_EXPORT void stop_animation(void* assetManager, EntityId asset, int index) { ((AssetManager*)assetManager)->stopAnimation(asset, index); } - FLUTTER_PLUGIN_EXPORT int hide_mesh(void* assetManager, EntityId asset, const char* meshName) { + int hide_mesh(void* assetManager, EntityId asset, const char* meshName) { return ((AssetManager*)assetManager)->hide(asset, meshName); } - FLUTTER_PLUGIN_EXPORT int reveal_mesh(void* assetManager, EntityId asset, const char* meshName) { + int reveal_mesh(void* assetManager, EntityId asset, const char* meshName) { return ((AssetManager*)assetManager)->reveal(asset, meshName); } - FLUTTER_PLUGIN_EXPORT void ios_dummy() { + FLUTTER_PLUGIN_EXPORT void ios_dummy() { Log("Dummy called"); } } diff --git a/macos/src/PolyvoxFilamentFFIApi.cpp b/macos/src/PolyvoxFilamentFFIApi.cpp index 4d7824f8..61ea39f3 100644 --- a/macos/src/PolyvoxFilamentFFIApi.cpp +++ b/macos/src/PolyvoxFilamentFFIApi.cpp @@ -1,4 +1,7 @@ -#include "ResourceBuffer.hpp" + +extern "C" { + #include "PolyvoxFilamentFFIApi.h" +} #include "FilamentViewer.hpp" #include "filament/LightManager.h" @@ -10,8 +13,6 @@ using namespace polyvox; -#define FLUTTER_PLUGIN_EXPORT __attribute__((visibility("default"))) - class RenderLoop { public: @@ -27,15 +28,12 @@ public: { std::unique_lock lock(_access); if(_tasks.empty()) { - _cond.wait_for(lock, std::chrono::duration(_frameIntervalInMilliseconds)); + _cond.wait_for(lock, std::chrono::duration(_frameIntervalInMilliseconds)); continue; } task = std::move(_tasks.front()); - _tasks.pop_front(); - // std::this_thread::sleep_for( - // std::chrono::milliseconds(_frameIntervalInMilliseconds)); + _tasks.pop_front(); } - task(); } }); } @@ -45,16 +43,22 @@ public: _t->join(); } - void *const createViewer(void *const context, const ResourceLoaderWrapper *const loader, void (*renderCallback)(void *), void *const owner) - { + void* const createViewer( + void* const context, + void* const platform, + const ResourceLoaderWrapper* const loader, + void (*renderCallback)(void*), void* const owner + ) { _renderCallback = renderCallback; _renderCallbackOwner = owner; - std::packaged_task lambda([&]() mutable - { return new FilamentViewer(context, loader); }); + std::packaged_task lambda([&]() mutable + { + return new FilamentViewer(context, loader, platform); + }); auto fut = add_task(lambda); fut.wait(); _viewer = fut.get(); - return (void *const)_viewer; + return (void* const)_viewer; } void setRendering(bool rendering) @@ -64,10 +68,14 @@ public: void doRender() { - render(_viewer, 0); + render(_viewer, 0, nullptr, nullptr, nullptr); _renderCallback(_renderCallbackOwner); } + void setFrameIntervalInMilliseconds(float frameIntervalInMilliseconds) { + _frameIntervalInMilliseconds = frameIntervalInMilliseconds; + } + template auto add_task(std::packaged_task &pt) -> std::future { @@ -82,10 +90,10 @@ public: private: bool _stop = false; bool _rendering = false; - int _frameIntervalInMilliseconds = 1000 / 60; + float _frameIntervalInMilliseconds = 1000.0 / 60.0; std::mutex _access; FilamentViewer *_viewer = nullptr; - void (*_renderCallback)(void *const) = nullptr; + void (*_renderCallback)(void* const) = nullptr; void *_renderCallbackOwner = nullptr; std::thread *_t = nullptr; std::condition_variable _cond; @@ -94,28 +102,34 @@ private: extern "C" { -#include "PolyvoxFilamentApi.h" static RenderLoop *_rl; - FLUTTER_PLUGIN_EXPORT void *const create_filament_viewer_ffi(void *const context, const ResourceLoaderWrapper *const loader, void (*renderCallback)(void *const renderCallbackOwner), void *const renderCallbackOwner) - { + FLUTTER_PLUGIN_EXPORT void* const create_filament_viewer_ffi( + void* const context, + void* const platform, + const ResourceLoaderWrapper* const loader, + void (*renderCallback)(void* const renderCallbackOwner), + void* const renderCallbackOwner) { if (!_rl) { _rl = new RenderLoop(); } - return _rl->createViewer(context, loader, renderCallback, renderCallbackOwner); + return _rl->createViewer(context, platform, loader, renderCallback, renderCallbackOwner); } - FLUTTER_PLUGIN_EXPORT void create_swap_chain_ffi(void *const viewer, void *const surface, uint32_t width, uint32_t height) + FLUTTER_PLUGIN_EXPORT void create_swap_chain_ffi(void* const viewer, void* const surface, uint32_t width, uint32_t height) { + Log("Creating swapchain %dx%d", width, height); std::packaged_task lambda([&]() mutable - { create_swap_chain(viewer, surface, width, height); }); + { + create_swap_chain(viewer, surface, width, height); + }); auto fut = _rl->add_task(lambda); fut.wait(); } - FLUTTER_PLUGIN_EXPORT void create_render_target_ffi(void *const viewer, uint32_t nativeTextureId, uint32_t width, uint32_t height) + FLUTTER_PLUGIN_EXPORT void create_render_target_ffi(void* const viewer, uint32_t nativeTextureId, uint32_t width, uint32_t height) { std::packaged_task lambda([&]() mutable { create_render_target(viewer, nativeTextureId, width, height); }); @@ -123,15 +137,18 @@ extern "C" fut.wait(); } - FLUTTER_PLUGIN_EXPORT void update_viewport_and_camera_projection_ffi(void *const viewer, const uint32_t width, const uint32_t height, const float scaleFactor) + FLUTTER_PLUGIN_EXPORT void update_viewport_and_camera_projection_ffi(void* const viewer, const uint32_t width, const uint32_t height, const float scaleFactor) { + Log("Update viewport %dx%d", width, height); std::packaged_task lambda([&]() mutable - { update_viewport_and_camera_projection(viewer, width, height, scaleFactor); }); + { + update_viewport_and_camera_projection(viewer, width, height, scaleFactor); + }); auto fut = _rl->add_task(lambda); fut.wait(); } - FLUTTER_PLUGIN_EXPORT void set_rendering_ffi(void *const viewer, bool rendering) + FLUTTER_PLUGIN_EXPORT void set_rendering_ffi(void* const viewer, bool rendering) { if (!_rl) { @@ -151,15 +168,21 @@ extern "C" } } - FLUTTER_PLUGIN_EXPORT void render_ffi(void *const viewer) + FLUTTER_PLUGIN_EXPORT void set_frame_interval_ffi(float frameIntervalInMilliseconds) { + _rl->setFrameIntervalInMilliseconds(frameIntervalInMilliseconds); + } + + FLUTTER_PLUGIN_EXPORT void render_ffi(void* const viewer) { std::packaged_task lambda([&]() mutable - { _rl->doRender(); }); + { + _rl->doRender(); + }); auto fut = _rl->add_task(lambda); fut.wait(); } - FLUTTER_PLUGIN_EXPORT void set_background_color_ffi(void *const viewer, const float r, const float g, const float b, const float a) + FLUTTER_PLUGIN_EXPORT void set_background_color_ffi(void* const viewer, const float r, const float g, const float b, const float a) { std::packaged_task lambda([&]() mutable { set_background_color(viewer, r, g, b, a); }); @@ -167,80 +190,84 @@ extern "C" fut.wait(); } - FLUTTER_PLUGIN_EXPORT EntityId load_glb_ffi(void *const assetManager, const char *path) + FLUTTER_PLUGIN_EXPORT EntityId load_glb_ffi(void* const assetManager, const char *path, bool unlit) { std::packaged_task lambda([&]() mutable - { return load_glb(assetManager, path, false); }); + { return load_glb(assetManager, path, unlit); }); auto fut = _rl->add_task(lambda); fut.wait(); return fut.get(); } - FLUTTER_PLUGIN_EXPORT void clear_background_image_ffi(void *const viewer) + FLUTTER_PLUGIN_EXPORT void clear_background_image_ffi(void* const viewer) { std::packaged_task lambda([&] - { clear_background_image(viewer); }); + { + clear_background_image(viewer); + }); auto fut = _rl->add_task(lambda); fut.wait(); } - FLUTTER_PLUGIN_EXPORT void set_background_image_ffi(void *const viewer, const char *path, bool fillHeight) + FLUTTER_PLUGIN_EXPORT void set_background_image_ffi(void* const viewer, const char *path, bool fillHeight) { std::packaged_task lambda([&] - { set_background_image(viewer, path, fillHeight); }); + { + set_background_image(viewer, path, fillHeight); + }); auto fut = _rl->add_task(lambda); fut.wait(); } - FLUTTER_PLUGIN_EXPORT void set_background_image_position_ffi(void *const viewer, float x, float y, bool clamp) + FLUTTER_PLUGIN_EXPORT void set_background_image_position_ffi(void* const viewer, float x, float y, bool clamp) { std::packaged_task lambda([&] { set_background_image_position(viewer, x, y, clamp); }); auto fut = _rl->add_task(lambda); fut.wait(); } - FLUTTER_PLUGIN_EXPORT void set_tone_mapping_ffi(void *const viewer, int toneMapping) + FLUTTER_PLUGIN_EXPORT void set_tone_mapping_ffi(void* const viewer, int toneMapping) { std::packaged_task lambda([&] { set_tone_mapping(viewer, toneMapping); }); auto fut = _rl->add_task(lambda); fut.wait(); } - FLUTTER_PLUGIN_EXPORT void set_bloom_ffi(void *const viewer, float strength) + FLUTTER_PLUGIN_EXPORT void set_bloom_ffi(void* const viewer, float strength) { std::packaged_task lambda([&] { set_bloom(viewer, strength); }); auto fut = _rl->add_task(lambda); fut.wait(); } - FLUTTER_PLUGIN_EXPORT void load_skybox_ffi(void *const viewer, const char *skyboxPath) + FLUTTER_PLUGIN_EXPORT void load_skybox_ffi(void* const viewer, const char *skyboxPath) { std::packaged_task lambda([&] { load_skybox(viewer, skyboxPath); }); auto fut = _rl->add_task(lambda); fut.wait(); } - FLUTTER_PLUGIN_EXPORT void load_ibl_ffi(void *const viewer, const char *iblPath, float intensity) + FLUTTER_PLUGIN_EXPORT void load_ibl_ffi(void* const viewer, const char *iblPath, float intensity) { std::packaged_task lambda([&] { load_ibl(viewer, iblPath, intensity); }); auto fut = _rl->add_task(lambda); fut.wait(); } - FLUTTER_PLUGIN_EXPORT void remove_skybox_ffi(void *const viewer) + FLUTTER_PLUGIN_EXPORT void remove_skybox_ffi(void* const viewer) { std::packaged_task lambda([&] { remove_skybox(viewer); }); auto fut = _rl->add_task(lambda); fut.wait(); } - FLUTTER_PLUGIN_EXPORT void remove_ibl_ffi(void *const viewer) + FLUTTER_PLUGIN_EXPORT void remove_ibl_ffi(void* const viewer) { std::packaged_task lambda([&] { remove_ibl(viewer); }); auto fut = _rl->add_task(lambda); fut.wait(); } - EntityId add_light_ffi(void *const viewer, uint8_t type, float colour, float intensity, float posX, float posY, float posZ, float dirX, float dirY, float dirZ, bool shadows) + EntityId add_light_ffi(void* const viewer, uint8_t type, float colour, float intensity, float posX, float posY, float posZ, float dirX, float dirY, float dirZ, bool shadows) { std::packaged_task lambda([&] { return add_light(viewer, type, colour, intensity, posX, posY, posZ, dirX, dirY, dirZ, shadows); }); @@ -248,14 +275,16 @@ extern "C" fut.wait(); return fut.get(); } - FLUTTER_PLUGIN_EXPORT void remove_light_ffi(void *const viewer, EntityId entityId) + + FLUTTER_PLUGIN_EXPORT void remove_light_ffi(void* const viewer, EntityId entityId) { std::packaged_task lambda([&] { remove_light(viewer, entityId); }); auto fut = _rl->add_task(lambda); fut.wait(); } - FLUTTER_PLUGIN_EXPORT void clear_lights_ffi(void *const viewer) + + FLUTTER_PLUGIN_EXPORT void clear_lights_ffi(void* const viewer) { std::packaged_task lambda([&] { clear_lights(viewer); }); @@ -263,14 +292,14 @@ extern "C" fut.wait(); } - FLUTTER_PLUGIN_EXPORT void remove_asset_ffi(void *const viewer, EntityId asset) + FLUTTER_PLUGIN_EXPORT void remove_asset_ffi(void* const viewer, EntityId asset) { std::packaged_task lambda([&] { remove_asset(viewer, asset); }); auto fut = _rl->add_task(lambda); fut.wait(); } - FLUTTER_PLUGIN_EXPORT void clear_assets_ffi(void *const viewer) + FLUTTER_PLUGIN_EXPORT void clear_assets_ffi(void* const viewer) { std::packaged_task lambda([&] { clear_assets(viewer); }); @@ -278,7 +307,7 @@ extern "C" fut.wait(); } - FLUTTER_PLUGIN_EXPORT bool set_camera_ffi(void *const viewer, EntityId asset, const char *nodeName) + FLUTTER_PLUGIN_EXPORT bool set_camera_ffi(void* const viewer, EntityId asset, const char *nodeName) { std::packaged_task lambda([&] { return set_camera(viewer, asset, nodeName); }); @@ -324,7 +353,7 @@ extern "C" } void set_morph_target_weights_ffi( - void *const assetManager, + void* const assetManager, EntityId asset, const char *const entityName, const float *const morphData, @@ -333,28 +362,28 @@ extern "C" // TODO } - void play_animation_ffi(void *const assetManager, EntityId asset, int index, bool loop, bool reverse, bool replaceActive, float crossfade) + void play_animation_ffi(void* const assetManager, EntityId asset, int index, bool loop, bool reverse, bool replaceActive, float crossfade) { std::packaged_task lambda([&] { play_animation(assetManager, asset, index, loop, reverse, replaceActive, crossfade); }); auto fut = _rl->add_task(lambda); fut.wait(); } - void set_animation_frame_ffi(void *const assetManager, EntityId asset, int animationIndex, int animationFrame) + void set_animation_frame_ffi(void* const assetManager, EntityId asset, int animationIndex, int animationFrame) { std::packaged_task lambda([&] { set_animation_frame(assetManager, asset, animationIndex, animationFrame); }); auto fut = _rl->add_task(lambda); fut.wait(); } - void stop_animation_ffi(void *const assetManager, EntityId asset, int index) + void stop_animation_ffi(void* const assetManager, EntityId asset, int index) { std::packaged_task lambda([&] { stop_animation(assetManager, asset, index); }); auto fut = _rl->add_task(lambda); fut.wait(); } - int get_animation_count_ffi(void *const assetManager, EntityId asset) + int get_animation_count_ffi(void* const assetManager, EntityId asset) { std::packaged_task lambda([&] { return get_animation_count(assetManager, asset); }); @@ -362,7 +391,7 @@ extern "C" fut.wait(); return fut.get(); } - void get_animation_name_ffi(void *const assetManager, EntityId asset, char *const outPtr, int index) + void get_animation_name_ffi(void* const assetManager, EntityId asset, char *const outPtr, int index) { std::packaged_task lambda([&] { get_animation_name(assetManager, asset, outPtr, index); @@ -370,4 +399,8 @@ extern "C" auto fut = _rl->add_task(lambda); fut.wait(); } + + FLUTTER_PLUGIN_EXPORT void ios_dummy_ffi() { + Log("Dummy called"); + } } diff --git a/macos/src/TimeIt.cpp b/macos/src/TimeIt.cpp index 1ebc81f4..b46a3b51 100644 --- a/macos/src/TimeIt.cpp +++ b/macos/src/TimeIt.cpp @@ -1,6 +1,6 @@ #include "TimeIt.hpp" -#if __cplusplus <= 199711L +#if __cplusplus <= 199711L && !_WIN32 void Timer::reset() { diff --git a/scratch/material.cpp b/scratch/material.cpp deleted file mode 100644 index 7f12c688..00000000 --- a/scratch/material.cpp +++ /dev/null @@ -1,131 +0,0 @@ - - -//VertexBuffer* vBuf = VertexBuffer::Builder() -// .vertexCount(numVertices) -// .bufferCount(numPrimitives) -// .attribute(VertexAttribute::POSITION, 0, VertexBuffer::AttributeType::FLOAT4, 0) -// .build(*engine); - -//numIndices = maxIndex+1; */ -//numIndices = prim.indices->count; - -/*indicesBuffer = (uint32_t*)malloc(sizeof(unsigned int) * prim.indices->count); - -//materialInstance->setParameter("vertexIndices", indicesBuffer, numIndices); - -//.require(VertexAttribute::UV0) -//.require(MaterialBuilder.VertexAttribute.CUSTOM0) -//MaterialBuilder::init(); -//MaterialBuilder builder = MaterialBuilder() -// .name("DefaultMaterial") -// .platform(MaterialBuilder::Platform::MOBILE) -// .targetApi(MaterialBuilder::TargetApi::ALL) -// .optimization(MaterialBuilderBase::Optimization::NONE) -// .shading(MaterialBuilder::Shading::LIT) -// .parameter(MaterialBuilder::UniformType::FLOAT3, "baseColor") -// .parameter(MaterialBuilder::UniformType::INT3, "dimensions") -// .parameter(MaterialBuilder::UniformType::FLOAT, numTargets, MaterialBuilder::ParameterPrecision::DEFAULT, "morphTargetWeights") -// .parameter(MaterialBuilder::SamplerType::SAMPLER_2D_ARRAY, MaterialBuilder::SamplerFormat::FLOAT, MaterialBuilder::ParameterPrecision::DEFAULT, "morphTargets") -// .vertexDomain(VertexDomain::WORLD) -// .material(R"SHADER(void material(inout MaterialInputs material) { -// prepareMaterial(material); -// material.baseColor.rgb = materialParams.baseColor; -// })SHADER") -// .materialVertex(R"SHADER( -// vec3 getMorphTarget(int vertexIndex, int morphTargetIndex) { -// // our texture is laid out as (x,y,z) where y is 1, z is the number of morph targets, and x is the number of vertices * 2 (multiplication accounts for position + normal) -// // UV coordinates are normalized to (-1,1), so we divide the current vertex index by the total number of vertices to find the correct coordinate for this vertex -// vec3 uv = vec3( -// (float(vertexIndex) + 0.5) / float(materialParams.dimensions.x), -// 0.0f, -// //(float(morphTargetIndex) + 0.5f) / float(materialParams.dimensions.z)); -// float(morphTargetIndex)); -// return texture(materialParams_morphTargets, uv).xyz; -// } -// -// void materialVertex(inout MaterialVertexInputs material) { -// return; -// // for every morph target -// for(int morphTargetIndex = 0; morphTargetIndex < materialParams.dimensions.z; morphTargetIndex++) { -// -// // get the weight to apply -// float weight = materialParams.morphTargetWeights[morphTargetIndex]; -// -// // get the ID of this vertex, which will be the x-offset of the position attribute in the texture sampler -// int vertexId = getVertexIndex(); -// -// // get the position of the target for this vertex -// vec3 morphTargetPosition = getMorphTarget(vertexId, morphTargetIndex); -// // update the world position of this vertex -// material.worldPosition.xyz += (weight * morphTargetPosition); -// -// // increment the vertexID by half the size of the texture to get the x-offset of the normal (all positions stored in the first half, all normals stored in the second half) -// -// vertexId += (materialParams.dimensions.x / 2); -// -// // get the normal of this target for this vertex -// vec3 morphTargetNormal = getMorphTarget(vertexId, morphTargetIndex); -// material.worldNormal += (weight * morphTargetNormal); -// } -// mat4 transform = getWorldFromModelMatrix(); -// material.worldPosition = mulMat4x4Float3(transform, material.worldPosition.xyz); -// })SHADER"); -// -//Package pkg = builder.build(mAsset->mEngine->getJobSystem()); -//Material* material = Material::Builder().package(pkg.getData(), pkg.getSize()) -// .build(*mAsset->mEngine); - -//size_t normal_size = sizeof(short4); -//assert(textureWidth * (position_size + normal_size) == textureSize); -//assert(textureWidth * position_size == textureSize); -/*__android_log_print(ANDROID_LOG_INFO, "MyTag", "Expected size %d width at level 0 %d height", Texture::PixelBufferDescriptor::computeDataSize(Texture::Format::RGB, - Texture::Type::FLOAT, 24, 1, 4), texture->getWidth(0),texture->getHeight(0)); */ - -/* Texture::PixelBufferDescriptor descriptor( - textureBuffer, - textureSize, - Texture::Format::RGB, - Texture::Type::FLOAT, - 4, 0,0, 24, - FREE_CALLBACK, - nullptr); */ - -/*for(int i = 0; i < int(textureSize / sizeof(float)); i++) { - __android_log_print(ANDROID_LOG_INFO, "MyTag", "offset %d %f", i, *(textureBuffer+i)); -//}*/ -//std::cout << "Checking for " << materialInstanceName << std::endl; -//if(materialInstanceName) { -// for(int i = 0; i < asset->getMaterialInstanceCount(); i++) { -// const char* name = instances[i]->getName(); -// std::cout << name << std::endl; -// if(strcmp(name, materialInstanceName) == 0) { -// materialInstance = instances[i]; -// break; -// } -// } -//} else { -// materialInstance = instances[0]; -//} -// -//if(!materialInstance) { -// exit(-1); -//} - -// std::cout << std::endl; - /* for (int i = 0; i < 4; i++) { - morphHelperPrim.positions[i] = gltfioPrim.morphPositions[i]; - morphHelperPrim.tangents[i] = gltfioPrim.morphTangents[i]; - } */ - -// applyTextures(materialInstance); - -/* const Entity* entities = mAsset->getEntities(); - for(int i=0; i < mAsset->getEntityCount();i++) { - std::cout << mAsset->getName(entities[i]); - } */ - -// Entity entity = mAsset->getFirstEntityByName(entityName); -// RenderableManager::Instance rInst = mAsset->mEngine->getRenderableManager().getInstance(entity); -// for(int i = 0; imEngine->getRenderableManager().setMaterialInstanceAt(rInst, i, materialInstance); -// }