《Massively Parallel Rendering of Complex Closed-Form Implicit Surfaces》是由独立研究者MATTHEW J. KEETER发表在2020年SIGGRAPH上的一篇文章。主要提出了一种利用现代GPU的大规模并行性来直接渲染复杂封闭式隐式曲面的方法。
具有以下功能特点:
- 支持2D和3D渲染,并可以得到任意分辨率的画面;
- 不需要高于C0的连续性,支持更加灵活的建模操作;
- 支持构造实体几何(CSG)、形状的平滑融合等多种建模操作;
- 支持具有数以千计的基础数学表达式的大规模模型的渲染,并能保证可以交互。
这篇博文记录了论文代码部分部署过程中遇到问题及解决方法。
-
运行平台:曙光云计算平台(Linux) with Tesla V100 && CUDA 10.0.130
-
项目源码:https://github.com/mkeeter/mpr
-
编译支持:在正式编译mpr项目之前需要保证安装好mpr项目依赖的代码库或者编译工具,并保证其版本正确
-
编译mpr
# Install dependencies
sudo apt install mesa-common-dev ninja-build
# Install a recent version of eigen
wget https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.tar.gz
tar -zxvf eigen-3.3.7.tar.gz
cd eigen-3.3.7
mkdir build
cd build
cmake ..
sudo make install
# Install `mpr`
cd
git clone git@github.com:mkeeter/mpr
cd mpr
git submodule update --init --recursive
mkdir build
cd build
cmake -GNinja -DBIG_SERVER=ON ..
ninja
上述codes是编译mpr的所有过程。
-
编译过程中,在执行git clone命令时遇到了git权限的错误:
git clone git@github.com:mkeeter/mpr
git@github.com: Permission denied (publickey). Could not read from remote repository.
原因是客户端与服务器端没有生成ssh key,或者生成的ssh key不匹配,解决方法是重新生成一次ssh key,并重新配置一次服务器,具体方法参考博文:
https://www.jianshu.com/p/7d57ce4147d3
-
编译过程中,在执行cmake命令时遇到的错误及解决方法总结如下:
cmake -GNinja -DBIG_SERVER=on ..
-
运行mpr
在build目录下执行命令:
../run_benchmarks.sh
运行结果中包含三列数据,分别是分辨率大小、帧时间(毫秒)、标准差。
渲染好的图像存储到了mpr/build/目录下的几个文件夹下,不同模型对应的文件夹分别为:
prospero
gears_2d
architecture
gears_3d
bear
-
渲染结果
Part Ⅰ分辨率-时间-标准差
Part Ⅱ图像效果
- architecture
- bear
- gears_2d
- gears_3d
- text benchmark
-END-
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)