4 ms·
This feels like Monte Carlo rendering applied to rasterization. I'm wondering if it's a brand-new or a well established methodology
by lucamark 4mo ago
This feels like Monte Carlo rendering applied to rasterization. I'm wondering if it's a brand-new or a well established methodology
- pixelesque 4mo agoIt's not new - that was sort of my point with my other comment. At least if it's progressive (so refines and resolves over time), this has been done with pointclouds in the VFX industry in GPU shaders for years in terms of stochastically drawing different points so eventually the whole point set gets rasterised to a fidelity threshold.
- lucamark 4mo agoookay, thanks for the clarification! So, the interesting part here seems to be the 3DGS-specific opacity correction and GPU workload mapping. Am I wrong?
- pixelesque 4mo agoPossibly yeah. Or the per-pixel coord atomic I guess?
- lucamark 4mo agoRight, that part seems to be based on Schütz et al. 2021 https://arxiv.org/abs/2104.07526 https://arxiv.org/abs/2104.07526
- avaer 4mo agoMonte Carlo in 3dgs is established enough that Spark [1] has been doing it for a while in the browser. https://github.com/sparkjsdev/spark https://github.com/sparkjsdev/spark
- cyber_kinetist 4mo agoCannot find anything related to Monte Carlo methods in the source code. I thought Spark implemented a conventional 3DGS pipeline with LoD optimizations (And it seems they do the sorting on the CPU using Rust/WebAssembly because of WebGL limitations)
- convolvatron 4mo agothat goes all the way back to the Kajiya rendering equation https://en.wikipedia.org/wiki/Rendering_equation https://en.wikipedia.org/wiki/Rendering_equation