7 releases
0.2.2 | Apr 10, 2022 |
---|---|
0.2.1 | Apr 8, 2022 |
0.1.7 | Mar 31, 2022 |
0.1.0 | Feb 15, 2022 |
#68 in #unsafe
6.5MB
7K
SLoC
filament-bindings
This package provides a set of unsafe binding api, build scripts and prebuilt binaries for Google/filament on Windows, macOS, Linux.
Why unsafe
All api's of this package are marked as unsafe, because the c++ objects of filament
do not use reference counting to track resource usage, this library has no way of knowing when to release objects, you have to release resources manually.
Prebuilt Binaries
Because filament builds are very slow and have build environment requirements. We provide prebuilt binaries for common platforms and features.
When a new version is released, github action automatically runs pre-build tasks, and all prebuilt binaries are saved in filament-binaries/releases.
The filament-binding
build script will try to download the prebuilt binaries from github first, and skip the full source build.
We currently provide pre-built binary packages for Windows
, Linux
, macOS
, and enable OpenGL
, Vulkan
backend for all platforms and Metal
backend for macOS. For other platforms such as Android
, iOS
and WASM
support is planned but not yet available.
Build requirement
- cmake
- clang
- ninja
- libglu1-mesa-dev
- libxi-dev
- libc++-dev
- libc++abi-dev
Examples
triangle
Render a triangle and save the image to a ppm file
winit
Use filament with winit
.
run cargo run --example winit
Dependencies
~1.5–5MB
~99K SLoC