2023-09-30 16:54:20 +10:00
2021-11-06 12:38:56 +08:00
2023-09-30 16:54:20 +10:00
2023-09-30 16:54:20 +10:00
2023-09-30 16:54:20 +10:00
2023-09-30 16:54:20 +10:00
2023-09-30 16:54:20 +10:00
2023-04-18 14:17:05 +08:00
2021-11-06 12:38:56 +08:00
2023-04-27 16:32:32 +08:00
2023-09-22 08:22:19 +08:00
2023-09-30 16:54:20 +10:00
2023-09-22 08:25:03 +08:00
2021-09-15 20:07:11 +08:00
2021-09-15 20:07:11 +08:00
2021-09-15 20:07:11 +08:00
2023-09-22 08:29:26 +08:00
2023-09-30 16:54:20 +10:00

polyvox_filament

Flutter plugin wrapping the Filament renderer https://github.com/google/filament.

Current Filament version: 112366e54524149e3a5cc601067280766efe06df

All:

  • clone Filament repository
  • copy filament/include to ios/include
  • copy filament/libs/utils/include to ios/include

(even though headers are under the iOS directory these are used across all platforms).

Android:

  • build from Filament repository on Linux (build native, then build Android). Reminder that NDK >= 24 required.
  • need to specifically move 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:

(Fedora 34) Building Filament: env LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/11/ CC=clang CXX=clang++ CXX_FLAGS="-v" LD_FLAGS="-v" FILAMENT_REQUIRES_CXXABI=true ./build.sh -c release

Running example project: export PKG_CONFIG_PATH=/usr/lib/pkgconfig/:/usr/lib64/pkgconfig/ CPLUS_INCLUDE_PATH=/usr/include/gtk-3.0/:/usr/include/pango-1.0/:/usr/include/harfbuzz:/usr/include/cairo/:/usr/include/gdk-pixbuf-2.0/:/usr/include/atk-1.0/

Extract and move both lib/ and include/ to ./ios

Web:

EMCC_CFLAGS="-Wno-missing-field-initializers -Wno-deprecated-literal-operator -fPIC" ./build.sh -c -p webgl -i debug

EMCC_CFLAGS="-I/Users/nickfisher/Documents/filament/libs/utils/include -I/Users/nickfisher/Documents/filament/libs/image/include -I/Users/nickfisher/Documents/filament/libs/math/include -I../../..//third_party/basisu/encoder/ -I../../..//third_party/libpng/ -I../../..//third_party/tinyexr/ -fPIC" emmake make

Running

Android

  • MainActivity.kt must have the following:
class MainActivity: FlutterActivity() {
    override fun getTransparencyMode(): TransparencyMode {
        return TransparencyMode.transparent
    }
}

and theme must have the following in styles.xml

<style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar">
    <item name="android:windowBackground">@android:color/transparent</item>
</style>

Remember to set the background colour for your Scaffold to transparent!

Description
No description provided
Readme Apache-2.0 458 MiB
Languages
C++ 48.3%
C 45.1%
Dart 5.8%
Objective-C 0.2%
CMake 0.2%
Other 0.2%