郑州中森网站建设,赣州人才网最新招聘信息,高端网站设计制作,想兼职做网站推广1 前言 Filament 是一个实时物理渲染引擎#xff0c;用于 Android、iOS、Linux、macOS、Windows 和 WebGL 平台。该引擎旨在提供高效、实时的图形渲染#xff0c;并被设计为在 Android 平台上尽可能小而尽可能高效。Filament 支持基于物理的渲染#xff08;PBR#xff09;用于 Android、iOS、Linux、macOS、Windows 和 WebGL 平台。该引擎旨在提供高效、实时的图形渲染并被设计为在 Android 平台上尽可能小而尽可能高效。Filament 支持基于物理的渲染PBR这意味着它可以模拟光线、材质和阴影等物理效果以创建更逼真的图形场景。该引擎的设计注重性能和资源效率使其成为移动设备和其他平台上渲染复杂图形的理想选择。 Filament 官方资料如下。
Filament 仓库https://github.com/google/filamentFilament 中 PBR 原理及实现https://google.github.io/filament/Filament.htmlBuilding Filamenthttps://github.com/google/filament/blob/main/BUILDING.mdBuilding Filament for Android on Windowshttps://github.com/google/filament/blob/main/android/Windows.mdsampleshttps://github.com/google/filament/tree/main/samplesandroid sampleshttps://github.com/google/filament/tree/main/android/samples 笔者本地编译环境如下。
Cmake: 3.19
ninja: 1.8.2
Python: 3.11.5
JDK: 17.0.9
Git Bash: 2.42.0.2
Visual Studio: 2019
Android NDK: 25.1.8937393 说明Android SDK 的环境变量需要配置 ANDROID_HOME。
2 Windows 编译 官方编译介绍见 → Building Filament。 1拉取 Filament 代码
git clone --recurse-submodules gitgithub.com:google/filament.git
# 切换至release分支
git checkout release 如果下载速度比较慢在有代理软件如 SSR的前提下在 ~/.ssh/config 文件没有可以新建一个里添加以下内容可以提高下载速度。
Host github.com
User git
ProxyCommand connect -H 127.0.0.1:1080 %h %pHost github.com
User git
ProxyCommand connect -S 127.0.0.1:1080 %h %p 2生成项目 在 filament 根目录下创建【out\cmake-window】目录打开 cmake-gui配置如下。 在弹窗中选择 Visual Studio 16 2019 和 x64如下。 配置完后勾选 FILAMENT_SUPPORTS_VULKAN再点击 Configure 按钮。 接着点击 Generate 按钮生成项目。 3编译项目 在 cmake-gui 界面点击 Open Project 按钮将通过 Visual Studio 打开生成的项目用户也可以通过使用 Visual Studio 打开【filament\out\cmake-windows\TNT.sln】文件来打开项目按以下步骤编译项目。 4运行项目 Debug 和 Release 版本的编译路径分别为【filament\out\cmake-windows\samples\Debug】、【filament\out\cmake-windows\samples\Release】里面有很多 exe 文件点击这些文件可以运行相应 Demo如下是点击 gltf_instances.exe 文件运行的效果。 用户也可以通过以下方式运行相关 Demo。 3 Android 编译 官方介绍见 → Building Filament for Android on Windows本节所有命令都是通过【x64 Native Tools Command Prompt for VS 2019】命令行工具执行注意不能通过 cmd 或 Git Bash 执行这些命令。
3.1 桌面工具编译 1配置项目 在 filament 根目录下创建【out\cmake-desktop-tools】目录打开【x64 Native Tools Command Prompt for VS 2019】命令行工具执行以下命令。
cd out\cmake-desktop-tools
cmake ^-G Ninja ^-DCMAKE_INSTALL_PREFIX..\release\filament ^-DFILAMENT_ENABLE_JAVANO ^-DCMAKE_BUILD_TYPERelease ^..\.. 注意不要修改桌面工具的安装路径CMAKE_INSTALL_PREFIX3.3 节中会使用到该路径。 2编译项目
ninja matc resgen cmgen 3安装项目
ninja install 执行结束后在【filament\out\release\filament\bin】目录下生成了一些 exe 文件如下箭头所指的 exe 文件在 3.3 节中会使用到因此不要修改桌面工具的安装路径。 3.2 平台插件编译 1创建目录 在 filament 根目录下分别创建以下目录。
mkdir out\cmake-android-release-aarch64
mkdir out\cmake-android-release-arm7
mkdir out\cmake-android-release-x86_64
mkdir out\cmake-android-release-x86 2配置项目 通过【x64 Native Tools Command Prompt for VS 2019】命令行工具在每个目录下依次执行以下命令。
cd out\cmake-android-release-aarch64
cmake ^-G Ninja ^-DCMAKE_BUILD_TYPERelease ^-DCMAKE_INSTALL_PREFIX..\android-release\filament ^-DCMAKE_TOOLCHAIN_FILE..\..\build\toolchain-aarch64-linux-android.cmake ^..\..cd out\cmake-android-release-arm7
cmake ^-G Ninja ^-DCMAKE_BUILD_TYPERelease ^-DCMAKE_INSTALL_PREFIX..\android-release\filament ^-DCMAKE_TOOLCHAIN_FILE..\..\build\toolchain-arm7-linux-android.cmake ^..\..cd out\cmake-android-release-x86_64
cmake ^-G Ninja ^-DCMAKE_BUILD_TYPERelease ^-DCMAKE_INSTALL_PREFIX..\android-release\filament ^-DCMAKE_TOOLCHAIN_FILE..\..\build\toolchain-x86_64-linux-android.cmake ^..\..cd out\cmake-android-release-x86
cmake ^-G Ninja ^-DCMAKE_BUILD_TYPERelease ^-DCMAKE_INSTALL_PREFIX..\android-release\filament ^-DCMAKE_TOOLCHAIN_FILE..\..\build\toolchain-x86-linux-android.cmake ^..\.. 注意 不要修改平台插件的安装路径CMAKE_INSTALL_PREFIX3.3 节中会使用到该路径。 3安装项目 在每个 cmake-android-release-xxx 目录下都执行一次以下命令。
ninja install 执行结束后在【filament\out\android-release\filament\lib】目录下生成了一些平台插件库如下在 3.3 节中会使用到因此不要修改平台插件的安装路径。 3.3 生成 AAR 1构建 aar 进入【filament\android】目录执行以下命令。
gradlew -Pcom.google.android.filament.dist-dir..\out\android-release\filament assembleRelease 执行结束后在【filament\android\filamat-android\build\outputs\aar】目录下会生成 filamat-android-release.aar 文件如下。 2拷贝 aar 将 aar 文件拷贝到【filament\out】目录下。
copy filament-android\build\outputs\aar\filament-android-release.aar ..\out\