Mitsuba编译安装踩坑记
CC BY-NC 4.0
Introduction#
简单记录下我前面两天(13、14日)编译Mitsuba1&Mitsuba2的踩坑过程。
1 Mitsuba是什么#
Mitsuba的主页在这里:link
简单来说,Mitsuba是一个面向图形学研究的渲染器,用来快速地验证自己的想法,主打的是容易上手、正确性有保障。
更新到Mitsuba2之后,主要增加了retargetable和differentiable两大特性。更多的介绍可以去看闫令琪大神的知乎回答。
如何评价Mitsuba2渲染器? - 闫令琪的回答 - 知乎
2 Windows下Mitsuba2的编译安装#
Requirements for Mitsuba2#
cmake
Python3(>=3.6)
Visual Studio 2019
2.1 get codes#
首先把代码下载到本地:
git clone --recursive git@github.com:mitsuba-renderer/mitsuba2.git
如果忘了加上–recursive选项,需要用下面的命令更新submodule:
git submodule update --init --recursive
但是实际操作中,这样更新会出一些小问题(某些子模块不太服帖)。所以还是推荐按照第一个指令进行代码的获取。
2.2 cmake#
在..\mitsuba\目录下,运行cmake:
cmake -G "Visual Studio 16 2019" -A x64
等待cmake执行完毕后,会出现一个mitsuba.sln文件。
2.3 生成#
用VS2019打开项目文件mitsuba.sln,修改选项为Release,生成解决方案。
等到生成完毕后,可以在mitsuba\dist\目录下找到mitsuba.exe,即代表生成成功。
在mitsuba\resources\data\scenes下面有一些可供测试的xml文件,按照如下的命令:
.\mitsuba.exe 1111.xml
即可渲染对应的文件。注意不要乱动文件目录,这些xml文件是有对应的依赖的。
如果希望能在任意位置使用mitsuba,可以将mitsuba.exe所在的目录添加至环境变量的path中。
3 Windows下Mitsuba1(0.6)的编译安装#
Mitsuba0.6有些年久失修了,整个编译安装的过程非常之痛苦。
Requirements for Mitsuba0.6#
Python3(>=3.6)
Boost
Python2.7
Scons2.5.1
Visual Studio 2017
Windows Kits
是的,你没有看错,你不仅需要Python2,还同时需要Python3。
3.1 安装Boost库(有可能不需要)#
Boost的官方网站:link
可以在官方网站上下载最新的压缩包,在本地进行解压。
保证此时系统默认的Python版本为Python3(命令行输入python,得到的信息是python3相关)。
在根目录下,执行bootstrap.bat,然后执行b2.exe。等待执行完毕。
然后需要在Visual Studio中配置boost库:
属性-配置属性-C/C++-常规-附加包含目录中,填上根目录;
配置属性-链接器-常规-附加库目录中,填上根目录\stage\lib。
3.2 配置cl.exe#
Path变量中,添加:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE
另外新建两个变量LIB和INCLUDE。
LIB:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\lib\x64
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\ucrt\x64
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\um\x64
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\ucrt_enclave\x64
INCLUDE:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\cppwinrt
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\winrt
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt
检验:在命令行中输入cl,有相关信息即为配置成功。
3.3 get codes#
首先把代码下载到本地:
git clone git@github.com:mitsuba-renderer/mitsuba.git
git clone git@github.com:mitsuba-renderer/dependencies_win64.git
然后,将dependencies_win64文件夹重命名为dependencies,移动到mitsuba\目录下。
3.4 scons#
保证此时系统默认的Python版本为Python2(命令行输入python,得到的信息是python2相关)。
解压dependencies目录下的scons-2.5.1.zip,在..\mitsuba\dependencies\scons-2.5.1\下,输入:
python setup.py install
安装scons2.5.1。
回到mitsuba\目录,在命令行中输入:
copy build\config-win64-msvc2017.py .\config.py
scons
Unknown compiler version警告可以忽略。等到scons执行完毕,在mitsuba\dist\目录下可以找到mitsuba.exe和mtsgui.exe。 这里如果使用VS2019,会有一个非常神秘的错误,文件无法被编译。暂时没有找到对应的解决方案。
3.5 配置GUI#
如果直接运行mtsgui.exe,应该会Qt有关的错误。
只需要将mitsuba\dependencies\dist下的platforms文件夹拷贝至mitsuba\dist\下即可。
Summary#
至此,Mitsuba0.6和Mitsuba2在Windows下的编译安装过程全部解决。
我在WSL(Ubuntu18.04)下也尝试安装过Mitsuba0.5,遇到了一些问题,暂时没有解决。
希望世界上再也不要有人去使用老版本构建工具了。