|
`KHR_gaussian_splatting:SCALE` is stored in log-space, so the actual scale along each principal axis is computed as `exp(scale)`. This allows for representing a wide range of scales while maintaining numerical stability. |
After looking at some implementations and also doing an implementation from scratch, I think we should change KHR_gaussian_splatting:SCALE to be stored not in log-space and just linear. Otherwise, one has to make the conversion during load time or in the shader using an exp call.
The described numerical stability is mainly for training, however for rendering the value needs to be changed.
@weegeekps @javagl @lexaknyazev
glTF/extensions/2.0/Khronos/KHR_gaussian_splatting/README.md
Line 331 in f966a3f
After looking at some implementations and also doing an implementation from scratch, I think we should change
KHR_gaussian_splatting:SCALEto be stored not in log-space and just linear. Otherwise, one has to make the conversion during load time or in the shader using anexpcall.The described numerical stability is mainly for training, however for rendering the value needs to be changed.
@weegeekps @javagl @lexaknyazev