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下栅格化算法,及绘制细节的解读。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CHPCWWHSU

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值