Nvidia Instant RM是一个利用Ray_Tracing来实时估计信号传播效果的工具包,其依赖Mitsuba3和Dr.jit
Ubuntu下编译Mitsuba3方法
参考:https://mitsuba.readthedocs.io/en/latest/src/developer_guide/compiling.html
1. 创建Python >= 3.10的虚拟环境
instant-rm在编译安装时需要依赖3.10以上的python,因此提前创建好虚拟环境。本人使用的是Ubuntu20.04系统,apt源中没有Python3.10,因此手动编译安装并且在虚拟环境中使用,可参考之前的博客:
2. 安装必要依赖
# Install recent versions build tools, including Clang and libc++ (Clang's C++ library)
sudo apt install clang-10 libc++-10-dev libc++abi-10-dev cmake ninja-build
# Install libraries for image I/O
sudo apt install libpng-dev libjpeg-dev
# Install required Python packages
sudo apt install libpython3-dev python3-distutils
# For running tests
sudo apt install python3-pytest python3-pytest-xdist python3-numpy
3. 下载Mitsuba3的所有功能包
git clone --recursive https://github.com/mitsuba-renderer/mitsuba3.git --branch v3.5.2
如果报错有的submodule无法下载,可使用以下命令重试
git submodule update --init --recursive
如果还不行,则点进mitsuba3的github,手动下载submodule
4. 配置Mitsuba.conf
在/mitsuba3/resources文件夹下,找到mitsuba.conf.template文件,复制一份并重命名为mitsuba.conf
打开mitsuba.conf,找到86行左右,添加为:
"enabled": [
"scalar_rgb", "scalar_spectral", "cuda_ad_rgb", "llvm_ad_rgb", "cuda_ad_mono_polarized"
],
94行左右,添加为:
"python-default": "llvm_ad_rgb",
5. 编译Mitsuba3
export CC=clang-10 export CXX=clang++-10
mkdir build
cd build
# 第一步安装Python3.10的路径, 注意终端打印的Found Python是否是3.10版本,CCompiler是否是clang
cmake -GNinja -DPython_EXECUTABLE=/python3.10/bin/python3 ..
# 根据CPU线程数选择
ninja -j20
一切正常的话,在/mitsuba3/build/python/drjit文件夹下应有drjit_ext.cpython-310-x86_64-linux-gnu.so文件
安装InstantRM
参考:https://github.com/NVlabs/instant-rm,在之前创建的虚拟环境中安装即可
运行instant-rm
开启虚拟环境并且设置mitsuba的python路径
source venv/instantRM/bin/activate # 启动虚拟环境
source mitsuba3/build/setpath.sh --extend # 防止覆盖
注意运行的时候,如果报错could not initialize optix! 可以尝试升级显卡驱动,之前470版本会报错,升成535之后正常