Ubuntu编译Nvidia Instant RM (含Mitsuba3编译方法)

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,因此手动编译安装并且在虚拟环境中使用,可参考之前的博客:

在非系统自带的Python环境中使用CvBridge

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之后正常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值