Ниже — максимально простой «не для умных», объяснение идеи из блога “Rasterizing Gaussian Splats (The CUDA‑less Way)”.
Читаем PLY‑файл — он содержит просто много данных: позицию (pos
), ориентацию, размер, прозрачность, цвет, параметры сферических гармоник (SH… чтобы цвет зависел от угла) и т.п. (blog.42yeah.is)
Потому что сплаты — это эллипсоиды, и, чтобы их красиво отрисовать, нужно:
Поскольку у каждой точки десятки параметров (позиция, масштаб, поворот, прозрачность, SH и т.п.), их передают через SSBO (Shader Storage Buffer Objects) — это такие массивы, которые читает шейдер. Много данных, но так шейдер сможет для каждого инстанса считать свою трансформацию и цвет (blog.42yeah.is).