【Filament】Filament环境搭建

这篇具有很好参考价值的文章主要介绍了【Filament】Filament环境搭建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 前言

​ Filament 是一个实时物理渲染引擎,用于 Android、iOS、Linux、macOS、Windows 和 WebGL 平台。该引擎旨在提供高效、实时的图形渲染,并被设计为在 Android 平台上尽可能小而尽可能高效。Filament 支持基于物理的渲染(PBR),这意味着它可以模拟光线、材质和阴影等物理效果,以创建更逼真的图形场景。该引擎的设计注重性能和资源效率,使其成为移动设备和其他平台上渲染复杂图形的理想选择。

​ Filament 官方资料如下。

  • Filament 仓库:https://github.com/google/filament
  • Filament 中 PBR 原理及实现:https://google.github.io/filament/Filament.html
  • Filament Materials Guide:https://google.github.io/filament/Materials.html
  • Material Properties:https://github.com/google/filament/blob/main/docs/Material Properties.pdf
  • Building Filament:https://github.com/google/filament/blob/main/BUILDING.md
  • Building Filament for Android on Windows:https://github.com/google/filament/blob/main/android/Windows.md
  • samples:https://github.com/google/filament/tree/main/samples
  • android samples:https://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 git@github.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 %p
 
Host github.com
User git
ProxyCommand connect -S 127.0.0.1:1080 %h %p

2)生成项目

​ 在 filament 根目录下创建【out\cmake-window】目录,打开 cmake-gui,配置如下。

【Filament】Filament环境搭建

​ 在弹窗中选择 "Visual Studio 16 2019" 和 x64,如下。

【Filament】Filament环境搭建

​ 配置完后,勾选 FILAMENT_SUPPORTS_VULKAN,再点击 Configure 按钮。

【Filament】Filament环境搭建

​ 接着点击 Generate 按钮,生成项目。

【Filament】Filament环境搭建

3)编译项目

​ 在 cmake-gui 界面,点击 Open Project 按钮,将通过 Visual Studio 打开生成的项目,用户也可以通过使用 Visual Studio 打开【filament\out\cmake-windows\TNT.sln】文件来打开项目,按以下步骤编译项目。

【Filament】Filament环境搭建

4)运行项目

​ Debug 和 Release 版本的编译路径分别为【filament\out\cmake-windows\samples\Debug】、【filament\out\cmake-windows\samples\Release】,里面有很多 exe 文件,点击这些文件可以运行相应 Demo,如下是点击 gltf_instances.exe 文件运行的效果。

【Filament】Filament环境搭建

​ 用户也可以通过以下方式运行相关 Demo。

【Filament】Filament环境搭建

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_JAVA=NO ^
    -DCMAKE_BUILD_TYPE=Release ^
    ..\..

​ 注意:不要修改桌面工具的安装路径(CMAKE_INSTALL_PREFIX),3.3 节中会使用到该路径。

2)编译项目

ninja matc resgen cmgen

3)安装项目

ninja install

​ 执行结束后,在【filament\out\release\filament\bin】目录下生成了一些 exe 文件,如下,箭头所指的 exe 文件在 3.3 节中会使用到,因此不要修改桌面工具的安装路径。

【Filament】Filament环境搭建

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_TYPE=Release ^
    -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_TYPE=Release ^
    -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_TYPE=Release ^
    -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_TYPE=Release ^
    -DCMAKE_INSTALL_PREFIX=..\android-release\filament ^
    -DCMAKE_TOOLCHAIN_FILE=..\..\build\toolchain-x86-linux-android.cmake ^
    ..\..

​ 注意: 不要修改平台插件的安装路径(CMAKE_INSTALL_PREFIX),3.3 节中会使用到该路径。

3)安装项目

​ 在每个 cmake-android-release-xxx 目录下,都执行一次以下命令。

ninja install

​ 执行结束后,在【filament\out\android-release\filament\lib】目录下生成了一些平台插件库,如下,在 3.3 节中会使用到,因此不要修改平台插件的安装路径。

【Filament】Filament环境搭建

3.3 生成 AAR

1)构建 aar

​ 进入【filament\android】目录,执行以下命令。

gradlew -Pcom.google.android.filament.dist-dir=..\out\android-release\filament assembleRelease

​ 执行结束后,会生成 4 个 aar,位置如下。

filament\android\filamat-android\build\outputs\aar\filamat-android-release.aar
filament\android\filament-android\build\outputs\aar\filament-android-release.aar
filament\android\filament-utils-android\build\outputs\aar\filament-utils-android-release.aar
filament\android\gltfio-android\build\outputs\aar\gltfio-android-release.aar

2)拷贝 aar

​ 将 aar 文件拷贝到【filament\out\aar】目录下。

copy filamat-android\build\outputs\aar\filamat-android-release.aar ..\out\aar\
copy filament-android\build\outputs\aar\filament-android-release.aar ..\out\aar\
copy filament-utils-android\build\outputs\aar\filament-utils-android-release.aar ..\out\aar\
copy gltfio-android\build\outputs\aar\gltfio-android-release.aar ..\out\aar\

​ 拷贝的 aar 文件如下。

【Filament】Filament环境搭建

3.4 导入依赖

1)自动导入

​ 在 app\build.gradle 文件中添加以下依赖,版本号可以参考 → releases。

android {
    ...
    aaptOptions { // 在应用程序打包过程中不压缩的文件
        noCompress 'filamat', 'ktx'
    }
}

dependencies {
    implementation 'com.google.android.filament:filament-android:1.48.0'
    implementation 'com.google.android.filament:filamat-android:1.48.0'
    implementation 'com.google.android.filament:filament-utils-android:1.48.0'
    implementation 'com.google.android.filament:gltfio-android:1.48.0'
}

2)手动导入

​ 使用 3.3 节中编译的 aar(或从 releases 中下载 aar),将他们复制到【project\libs】或【project\app\libs】目录下。

​ 如果复制到【project\libs】目录下,在 app\build.gradle 中配置如下。

android {
    ...
    aaptOptions { // 在应用程序打包过程中不压缩的文件
        noCompress 'filamat', 'ktx'
    }
}

dependencies {
    implementation fileTree(dir: '../libs', include: ['*.aar'])
}

​ 如果复制到【project\app\libs】目录下,在 app\build.gradle 中配置如下。

android {
    ...
    aaptOptions { // 在应用程序打包过程中不压缩的文件
        noCompress 'filamat', 'ktx'
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.aar'])
}

​ 声明:本文转自【Filament】Filament环境搭建。文章来源地址https://www.toymoban.com/news/detail-837743.html

到了这里,关于【Filament】Filament环境搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Eclipse】搭建python环境;运行第一个python程序helloword

    目录 0.环境 1.需准备搭建思路 2.搭建具体步骤 1)查看是否安装过python 2)安装eclipse 3)安装和配置pyDev 3.创建第一个python程序具体步骤 1)新建项目 2)输入项目名字,和配置选项 3)创建.py文件 3)输入打印语句 4)运行,选择【Python Run】 5)控制台查看打印 我的环境: win

    2024年02月10日
    浏览(32)
  • 开发一个RISC-V上的操作系统(一)—— 环境搭建

    目录 一、开发环境配置 二、测试 三、Makefile 四、开发前需要了解的知识 在前面我们使用Verilog实现了一个简易的RISC-V处理器,并且能烧录到板子上跑一些简单C程序,传送门: RISC-V处理器的设计与实现(一)—— 基本指令集_risc_v处理器_Patarw_Li的博客-CSDN博客 RISC-V处理器的设

    2024年02月12日
    浏览(50)
  • Ubuntu下搭建Vue开发环境,开发第一个程序并部署

        Vue.js目前是前端技术比较火热的开发框架,是一个基于JavaScript的前端开发框架,它可以轻松地构建大型的单页面应用程序。因为项目需要在此记录一下Ubuntu下如何搭建Vue开发环境。 目录 1.nodejs + npm安装 2.安装CNMP(非必要) 3.Vue安装 4.创建程序软连接 5.创建Vue项目 5.部署

    2024年02月16日
    浏览(30)
  • OpenHarmony 应用开发入门 (一、环境搭建及第一个Hello World)

    万事开头难。难在迈出第一步。心无旁骛,万事可破。没有人一开始就能想清楚,只有做起来,目标才会越来越清晰。--马克.扎克伯格 前言 2024年1月16日,华为目前开启已HarmonyOS NEXT开发者预览版Beta招募,报名周期为1月15日-1月22日。HarmonyOS NEXT开发者预览版将不再兼容安卓开

    2024年01月18日
    浏览(62)
  • HarmonyOS鸿蒙应用开发 (一、环境搭建及第一个Hello World)

    万事开头难。难在迈出第一步。心无旁骛,万事可破。没有人一开始就能想清楚,只有做起来,目标才会越来越清晰。--马克.扎克伯格 前言 2024年1月16日,华为目前开启已HarmonyOS NEXT开发者预览版Beta招募,报名周期为1月15日-1月22日。HarmonyOS NEXT开发者预览版将不再兼容安卓开

    2024年01月23日
    浏览(50)
  • 【玩转Jetson TX2 NX】(七)TX2 NX YoLoV4环境搭建+板载摄像头实时目标检测(详细教程+错误解决)

    直接下载,然后解压,最后移动到Jetson TX2 NX,如图所示,darknet下载链接: https://github.com/AlexeyAB/darknet 将解压的文件复制到Jetson TX2 NX,如图所示: 下载yolov4.weights权重文件,如图所示: 将权重文件 yolov4.weights 拷贝至 darknet 目录下,如图所示: 依次输入命令,修改Makefile 如图

    2024年02月10日
    浏览(31)
  • 【Spring入门 】1.环境搭建并运行第一个Spring程序(Maven依赖)

    ✅作者简介:正在学习java全栈,有兴趣的可以关注我一起学习 📃个人主页: ConderX(摸鱼)的主页 🔥系列专栏: Spring专栏 💖如果觉得博主的文章还不错的话,请👍三连支持一下博主哦🤞 我也是刚开始接触Spring,有兴趣的同学可以和我一起零基础(当然要会Java基础和XML文档)慢

    2024年02月07日
    浏览(41)
  • 我的第一个后端项目(环境搭建,Springboot项目,运行,接口验证)

    访问Java Software | OracleOracle官方网站,下载适合你操作系统的最新版本的JDK。安装JDK并设置好JAVA_HOME环境变量。 推荐使用IntelliJ IDEA作为IDE。你可以从官方网站(IntelliJ IDEA – the Leading Java and Kotlin IDE)下载适合你操作系统的版本,并根据安装向导进行安装。最新2023.2版本需要注

    2024年02月15日
    浏览(31)
  • RocketMQ:一个纯java的开源消息中间件--开发测试环境搭建

    一、简介     RocketMQ的前身是Metaq,当 Metaq 3.0发布时,产品名称改为  RocketMQ     MetaQ2.x版本由于依赖了alibaba公司内部其他系统,对于公司外部用户使用不够友好,推荐使用3.0版本。      项目地址:  https://github.com/alibaba/RocketMQ

    2024年02月11日
    浏览(37)
  • PHP从入门到精通—PHP开发入门-PHP概述、PHP开发环境搭建、PHP开发环境搭建、第一个PHP程序、PHP开发流程

    每开始学习一门语言,都要了解这门语言和进行开发环境的搭建。同样,学生开始PHP学习之前,首先要了解这门语言的历史、语言优势等内容以及了解开发环境的搭建。 PHP概述 Ø 认识PHP PHP最初是由Rasmus Lerdorf于1994年为了维护个人网页而编写的一个简单程序。这个程序用来显

    2024年02月14日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包