本文针对在 Windows 10 上从源码编译安装3DGS (3D Gaussian Splatting)的Viewers 即SIBR Core及外部依赖库extlibs(预编译的版本直接在页面https://sibr.gitlabpages.inria.fr/download.html下载) ,参考SIBR 的官方网站:https://sibr.gitlabpages.inria.fr,按照以下步骤进行。
1 获取源代码
下载SIBR Core源码(https://gitlab.inria.fr/sibr/sibr_core)的压缩包,也可以通过git clone https://gitlab.inria.fr/sibr/sibr_core.git -b master
下载。或者采用3DGS项目下的SIBR_viewers(https://github.com/graphdeco-inria/gaussian-splatting)。本文采用后者代码构建。
2 需要安装的工具和依赖项
2.1 Git
安装过程见其他参考。注意:需要添加到系统环境变量
中。
2.2 Visual Studio 2019 (本文采用 VS 2017)
安装过程见其他参考。注意:需要添加到系统环境变量
中。
2.3 cmake 3.16 或更高版本(本文采用 3.26.3)
安装过程见其他参考。注意:需要添加到系统环境变量
中。
2.4 Python 3.8 或更高版本 (本文 Python 3.9.12)
可以从 https://www.python.org/downloads 中安装和配置或直接安装Anaconda (本文基于Anaconda环境)。
2.5 PIL(pillow)
在Anaconda环境中安装 pip install pillow
,离线下载网址:https://pypi.org/project/pillow/)。
2.6 ImageMagick
从网页https://imagemagick.org/script/download.php
下载安装。注意:需要添加到系统环境变量
中。
2.7 CUDA10.1 或更高版本(本文为CUDA11.7)和cudnn
安装过程见其他参考。
* 2.8 Doxygen 1.8.17 或更高版本(本文1.13.2,可选择不安装)
Doxygen用于生成本地文档,应在生成文档的路径中安装和配置(http://www.doxygen.nl/download.html)。注意:需要添加到系统环境变量
中。
* 2.9 7-ZIP(可选择不安装)
下载地址 https://www.7-zip.org/download.html。
注意:(1) 需要添加到系统环境变量
中。
(2) 如果直接下载SIBR Core所依赖的第三方库extlibs就不需要在线下载安装(本文采用此方法)。
* 在CMake构建期间将从在线载外部依赖关系,此过程可以先提前下载第三方库extlibs在编译。
3 构建过程
3.1 运行CMake GUI,选择sibr-core的根文件夹作为源目录,在sibr-core下新建 build 作为构建目录。
3.2 在CMake中配置,选择x64编译器。然后在Configure、Generate完成。
3.3 在VS2017中打开build文件夹中的sibr_projects.sln,选择Build_ALL目标生成,编译后的可执行文件将被放入sibr-core/install/bin目录中。
注:此过程常出现错误,见参考2
大概意思就是:VS2017 版本修复了老版本有关对齐存储部分缺陷,但修复本身也有缺陷。如果不想编译时报这个问题,就在预编译时定义一个宏 _ENABLE_EXTENDED_ALIGNED_STORAGE 或者 _DISABLE_EXTENDED_ALIGNED_STORAGE(笔者的理解是按照修复后的逻辑处理就定义带enable那个,按照老版本的逻辑处理就定义带disable那个)
分别通过在下图右侧缺少相应的sibe_*.lib对应项目的属性页-C/C++/预处理器/预处理器定义中添加_DISABLE_EXTENDED_ALIGNED_STORAGE
解决此问题。
3.4 最终编译好的软件在根目录/install/bin
下,可以找到相应的SIBR_*.exe
文件。
参考
- https://sibr.gitlabpages.inria.fr
- https://blog.csdn.net/jiqiren_dasheng/article/details/88684370