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工程,因为这个工程可以调节参数
========================================
最后是完全PBR,带纹理
msbuild TNT.sln /t:sample_full_pbr /m /p:configuration=Release
然后我们需要修改纹理目录纹理的名字
filament\assets\models\monkey
备份,并且改为如图所示,不改的话程序会提示你找不到对应贴图
也就是纹理名带上目录前缀
修改好后再次运行
samples\Release\sample_full_pbr.exe --ibl=..\samples\envs\pillars --material=..\assets\models\monkey ..\assets\models\monkey\monkey.obj
可以看到是带了纹理的PBR,找其他的PBR模型试一下。
Win7 VS2017编译PBR渲染引擎google filament的更多相关文章
- Win7 VS2017编译Audacity2.1.3
最近比较热衷折腾大型开源软件编译,因为在逐渐用开源软件替换盗版软件,除去盗版用着不安全的原因外,主要还是因为开源软件有源码,可以学习研究,另外就是体积小. 像Matlab每次装完都用不上什么功能,体积 ...
- Win7 VS2017编译Blender2.79
去年在VS2013环境编译过一次,重装系统后换了VS2017,正好刚编译完Godot3.0.2,顺手把Blender也编译了吧. 官方Windows下编译指南 https://wiki.blender ...
- Win7 VS2017编译bgfx图形API
官方的编译指南在这个页面 https://bkaradzic.github.io/bgfx/build.html#quick-start 目前的版本编译比较简单,下载3个项目,放于同级目录下 http ...
- Win7 VS2017编译magnum及例子
magnum是一个开源的图形中间件 Lightweight and modular C++11/C++14 graphics middleware for games and data visuali ...
- Win7 VS2017编译Godot3.0.2和2.1.4
千呼万唤屎出来,Godot终于发布3.0版本的源码了,今天是2018年3月17日,自去年接触过后,一直没事就刷刷Gayhub,看看3.0什么时候更新,刷了一年也没结果. 今天上Youtube无意中搜了 ...
- 剖析虚幻渲染体系(14)- 延展篇:现代渲染引擎演变史Part 1(萌芽期)
目录 14.1 本篇概述 14.1.1 游戏引擎简介 14.1.2 游戏引擎模块 14.1.3 游戏引擎列表 14.1.3.1 Unreal Engine 14.1.3.2 Unity 14.1.3. ...
- Blink: Chromium的新渲染引擎
编自http://www.chromium.org/blink 关于blink Google Chrome/Chromium 从创始至今一直使用 WebKit(WebCore) 作为 HTML/CSS ...
- 深入解析Flutter下一代渲染引擎Impeller
作者 魏国梁:字节 Flutter Infra 工程师, Flutter Member,长期专注 Flutter 引擎技术 袁 欣:字节 Flutter Infra 工程师, 长期关注渲染技术发 ...
- [比较老的文章]三维渲染引擎 OGRE 与 OSG 的比较综述
1 .引言随着计算机可视化.虚拟现实技术的飞速发展,人们对实时真实感渲染以及场景复杂度提出了更高的要求.传统的直接使用底层图形接口如OpenGL.DirectX开发图形应用的模式越来越暴露出开发复杂性 ...
随机推荐
- 不用安装Oracle客户端
1 pl/sql developer 1.1 下载解压instantclient-basic-nt-12.1.0.2.0. 1.2 在其目录下新建Network/ADMIN/tnsnames.ora文 ...
- 云笔记项目- 上传文件报错"java.lang.IllegalStateException: File has been moved - cannot be read again"
在做文件上传时,当写入上传的文件到文件时,会报错“java.lang.IllegalStateException: File has been moved - cannot be read again ...
- PHP : MySQLi【面向过程】操作数据库【 连接、建库、建表、增、删、改、查、关闭】
<?php /** *数据库操作关键函数 *mysql_connect:连接数据 *mysql_error:最后一次sql动作错误信息 *mysqli_query:执行sql语句,增删该查 *m ...
- 解决cpplint在Python 3下没有任何输出的问题
修改cpplint.py:1. main()中注释掉 # sys.stderr = codecs.StreamReaderWriter(sys.stderr, # codecs.getreader ...
- Verilog中关于wire使用的一些小知识
1.Verilog中如果wire连接到常量,而常量没有说明他的位宽,那么将会默认为32位 如: input [:] x ; wire [:] a; assign a = + x; 上述代码在综合的时候 ...
- jqgrid点击搜索无法重置参数问题
var searchClick=false;//判断是否是第一次点击搜索 //当搜索按钮被单击时触发 function searchData(){ //创建jqGrid组件 console.log(' ...
- Servlet之过滤器(Filter)
一.概述 Servlet 过滤器是小型的 Web 组件,它们拦截请求和响应,以便查看.提取或以某种方式操作正在客户机和服务器之间交换的数据.这些组件通过一个配置文件来声明,并动态地处理,当在web.x ...
- node.js 调试 eggs launch.json配置信息
{ // 使用 IntelliSense 了解相关属性. // 悬停以查看现有属性的描述. // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linki ...
- .net webapi 接收 xml 格式数据的三种情况
webapi 接收 xml 的三种方法 前段时间接到一个任务写一个小接口,要接收java端返回过来的短信xml数据. 刚拿到项目,我的第一想法是对方会以什么形式发送xml格式的数据给我呢,设想三种情况 ...
- 201621123002《java程序设计》第九周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 1.2 选做:收集你认为有用的代码片段 //功能需求:将所有大于5的生成一个新的List对象 List lis ...