您的位置:首页 > 房产 > 家装 > 2) gaussian-splatting模型查看

2) gaussian-splatting模型查看

2025/1/5 14:11:07 来源:https://blog.csdn.net/CPWWHSU/article/details/141637468  浏览:    关键词:2) gaussian-splatting模型查看
      本文在上面环境配置好的基础上,下载模型并查看,主要分享SIBR_viewers的编译流程,并简单分析SIBR_gaussianViewer_app的源码结构

目录

  • 1 SIBR_viewers的编译
  • 2 SIBR_gaussianViewer_app源码解析

内容

  • SIBR_viewers的编译流程

       用CMake配置项目, 编译选项选择Visual studio/x64,整个配置过程中,会自动下载所需对应的三方库版本。此过程中由于选择的VS版本不同,OpenCV的配置会存在问题;在之后的编译过程中boost的依赖会存在问题,提示无法解析的外部符号,因此需做如下调整。

1)OpenCV调整

       本地选择的生成器是VS 2017,而自动下载下来的三方库OpenCV只有VC16版本,因此可复制VC16文件夹,将其改名为VC15即可,如下图所示:

2)boost配置

     需要至少1.71.0版本的boost,从vcpkg中安装boost,本地安装的vcpkg为vcpkg-2023.10.19,对应的boost版本为1.83。boost配置如下图所示:

     选择Boost_INCLUDE_DIR路径后,其它boost相关的依赖项会自动找到。

  • SIBR_gaussianViewer_app的源码结构

     

解决方案依次选择文件夹projects,gaussian、apps 下的SIBR_gaussianViewer_app项目。

1)参数设置

     设置模型路径,如下图所示:

模型路径下存在cfg_args文件,并修改其中的source_path路径为SFM后对应的文件夹。

2)参数解析

     读取点云ply文件:

     场景的创建,创建BasicIBRSene对象,解析数据,由于cfg_args中的source_path路径设置的为SFM后对应的文件夹,此处识别的为colmap2类型。@蔡平(caiping)至于与其他类型的区别有待深入研究。

2)视图创建

     创建GaussianView对象:

     其中GaussianView对象有如下成员变量。

     构造函数实现如下:

     解析ply文件:

创建MultiViewManager对象:

3)渲染

由上节创建的GaussianView对象,循环遍历。

调用GaussianView中的onRenderIBR方法,由当前视口状态变量sibr::Camera获取绘制纹理对象sibr::IRenderTarget。

将栅格化的结果以ScreenQuad的形式渲染到IRenderTarget对象上。

最后将纹理渲染到屏幕上:


总结:

       本文在上节环境配置好的基础上,下载模型并查看,主要分享SIBR_viewers的编译流程,并简单分析SIBR_gaussianViewer_app的源码结构。下节主要分析CUDA下栅格化算法,及绘制细节的解读。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com