Win7 VS2017编译PBR渲染引擎google filament

时间:2023-03-10 05:07:23
Win7 VS2017编译PBR渲染引擎google filament

按照官方说明

https://github.com/google/filament

前置工具包

Windows 10 SDK
Visual Studio 2017
Clang 6
Python 3.7
Git 2.16.1 or later
Cmake 3.11 or later

其中VS2017和Win10 SDK应该是装完VS2017就有的,其他Python,Git Windows和CMake也算常用,都装了,Clang要单独安装一下。

http://releases.llvm.org/download.html

写本文时使用的是

http://releases.llvm.org/7.0.1/LLVM-7.0.1-win64.exe

我装到了

D:\Program Files\LLVM

接下来,安装LLVM for VS2017的Toolchain

https://marketplace.visualstudio.com/items?itemName=LLVMExtensions.llvm-toolchain

然后就可以下载filament了

git clone https://github.com/google/filament.git

  

开始菜单中找到

x64 Native Tools Command Prompt for VS 2017

并运行

进入项目比如我的是

E:\PProjects\GitDownloads\filament

e:
cd E:\PProjects\GitDownloads\filament
mkdir msvc_config
cd msvc_config

  

建立msvc_config目录,并进入

然后修改下面的配置,变成你安装的Clang编译器路径,复制粘贴到命令行中运行

cmake ..\ -T"LLVM" -G "Visual Studio 15 2017 Win64" ^
-DCMAKE_CXX_COMPILER:PATH="D:\Program Files\LLVM\bin\clang-cl.exe" ^
-DCMAKE_C_COMPILER:PATH="D:\Program Files\LLVM\bin\clang-cl.exe" ^
-DCMAKE_LINKER:PATH="D:\Program Files\LLVM\bin\lld-link.exe"  

这时就会生成sln工程。

接着可以编译

msbuild  TNT.sln /t:material_sandbox /m /p:configuration=Release

  

编译完后应该没有任何错误,然后运行

samples\Release\material_sandbox.exe --ibl=..\samples\envs\pillars ..\assets\models\monkey\monkey.obj

  

注意路径可能有变化,官方给的是

samples\Release\lightbulb.exe ..\..\assets\models\monkey\monkey.obj

但是我编译完并没有lightbulb.exe,只有material_sandbox.exe

版本不同,自己修改下目录,一般不会变化太多。

看了下,实际上是官方只编译了material_sandbox工程,因为这个工程可以调节参数

Win7 VS2017编译PBR渲染引擎google filament

========================================

最后是完全PBR,带纹理

msbuild  TNT.sln /t:sample_full_pbr /m /p:configuration=Release

  

然后我们需要修改纹理目录纹理的名字

filament\assets\models\monkey

备份,并且改为如图所示,不改的话程序会提示你找不到对应贴图

也就是纹理名带上目录前缀

Win7 VS2017编译PBR渲染引擎google filament

修改好后再次运行

samples\Release\sample_full_pbr.exe --ibl=..\samples\envs\pillars --material=..\assets\models\monkey ..\assets\models\monkey\monkey.obj

  

Win7 VS2017编译PBR渲染引擎google filament

可以看到是带了纹理的PBR,找其他的PBR模型试一下。

Win7 VS2017编译PBR渲染引擎google filament