Goal: Implement a minimal 3DGS pipeline
Stack: OpenGL, C++
Concepts: Structure from motion, Gaussian splatting, differentiable loss
cmake -S . -B build
cmake --build build --target convert_colmap viewerconvert_colmap reads COLMAP text output and writes an initial ASCII PLY:
./build/convert_colmap data/colmap/sparse data/colmap/gaussians_init.plyviewer renders an ASCII PLY as RGB GL_POINTS. Pass the COLMAP sparse
directory as the second argument to draw camera frustums:
./build/viewer data/colmap/gaussians_init.ply data/colmap/sparseUse --check to validate PLY and sparse-pose loading without opening a window:
./build/viewer --check data/colmap/gaussians_init.ply data/colmap/sparse