Mitsuba 0.6 编译安装记录
1 Introduction
Mitsuba作为面向图形学科研离线渲染的工具,更新到Mitsuba2之后,主要增加了retargetable和differentiable两大特性,虽然现在已经有了Mitsuba2, 但 Mitsuba 0.6.0 还是因为功能齐全/简单好用, 在如今不少作者的文章仍然以mitsuba0.6作为框架
然而mitsuba0.6由于年久失修,导致各种编译工具链过时,需要搭配合适的环境才能编译,经过我几天的尝试,在以下环境成功进行编译 Mitsuba 0.6
- Windows 11
- Visual Studio 2022
- Python 3.6+
- Scons 3.0
- Qt 5.15 (msvc2019_64)
- Windows Kits
如果不想通过编译使用Mitsuba 0.6,可以直接下载别人已经编译好的disk ,即可直接使用Mitsuba 0.6。
在成功编译后,你 mitsuba
文件夹下应该有一个 mitsuba/disk
文件夹,在disk内,至少要包含:
- platforms/qwindows.dll
- mtsgui.exe
- mitsuba.exe
点击mtsgui.exe,即可使用
2 环境配置
2.1 mitsuba scons-python3 分支
git clone https://github.com/mitsuba-renderer/mitsuba.git --branch scons-python3
2.2 denpendencies
git clone git@github.com:mitsuba-renderer/dependencies_win64.git
将depencies_win64
文件夹重命名为dependencies
,移动到mitsuba/
目录下
2.3 配置cl.exe
如果你的visual studio没有配置cl.exe环境的话,在Windows 环境配置中修改系统变量
0. VS2022
为了方便命名,可以在系统变量中添加变量名 VS2022
其中我安装的MSVC版本是 14.36.32532
, 要根据你的环境进行修改
1. path
在Path中添加:
%VS2022%\bin\Hostx64\x64
C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE
2. LIB
新建变量 LIB
%VS2022%\lib\x64;
%VS2022%\bin;
C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE
D:\Windows Kits\10\Lib\10.0.22621.0\ucrt\x64;
D:\Windows Kits\10\Lib\10.0.22621.0\ucrt_enclave\x64;
D:\Windows Kits\10\Lib\10.0.22621.0\um\x64
安装 Windows Kits
可以通过以下链接下载:
https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/
3. INCLUDE
新建变量 INCLUDE
%VS2022%\include;
D:\Windows Kits\10\Include\10.0.22621.0\cppwinrt;
D:\Windows Kits\10\Include\10.0.22621.0\shared;
D:\Windows Kits\10\Include\10.0.22621.0\ucrt;
D:\Windows Kits\10\Include\10.0.22621.0\um;
D:\Windows Kits\10\Include\10.0.22621.0\winrt;
在命令行键入 cl
即可查看是否配置成功
2.4 scons
pip install scons==3.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
这里 scons
的版本要为3.0.0,版本过高可能会有不适配的情况导致编译失败。
将scons
添加到环境, 命令行键入 scons -V
查看安装位置
在环境变量 path
中添加
C:\Users\Lenovo\AppData\Roaming\Python\Python39\Scripts
将 mitsuba/build/config-win64-msvc2017
移动到 mitsuba/
并重命名为 config.py
copy build\config-win64-msvc2017.py .\config.py
3 编译
本次编译使用的 SCons, SCons 是一个开放源代码、以 Python 语言编写的下一代的程序建造工具, 功能上类似于make。
直接在命令行键入
scons
可能会得到以下报错
根据提示,此时需要修改 mitsuba\config.py
中 16行
MSVC_VERSION = '14.1'
重新运行 scons
, 如果遇到报错:
Unable to detect a Qt installation -- not building the GUI
可能是由于你安装的 SCons 的版本不对,或者参考下面两个链接解决
-
https://github.com/mitsuba-renderer/mitsuba/issues/52
-
https://github.com/mitsuba-renderer/mitsuba/issues/61
最终经过一段时间,编译即可完成 😄
4 运行 dist\misgui.exe
到此为止应该能够运行 mitsuba.exe
了,但是还是不能运行 misgui.exe
需要更换 mitsuba\dist
目录下 Qt 文件,包含
Qt5Core.dll
Qt5Gui.dll
Qt5Network.dll
Qt5OpenGL.dll
Qt5Widgets.dll
Qt5Xml.dll
Qt5XmlPatterns.dll
可以在Qt安装目录下找到
D:\Qt\5.15.2\msvc2019_64\bin
此时运行GUI会遇到下面的问题
需要在 mitsuba\dist
目录下添加文件 mitsuba/dist/plugins/qwindows.dll
, 你可以在安装Qt的文件夹中找到该文件
D:\Qt\5.15.2\msvc2019_64\plugins\platforms\qwindows.dll
现在再运行 misgui.exe
可以即可成功得到结果,可以在官网下载一些场景,比如 Conrell Box
http://www.mitsuba-renderer.org/download.html
在 GUI中选择 file/open,找到你下载好的 */xml
文件即可导入场景