r4dl / StopThePop

Original reference implementation of "StopThePop: Sorted Gaussian Splatting for View-Consistent Real-time Rendering"
https://r4dl.github.io/StopThePop/
Other
149 stars 8 forks source link

Regarding First-Order Linear Search Issues #8

Closed will-zzy closed 2 months ago

will-zzy commented 2 months ago

Thank you for open-sourcing your excellent work! I have a question concerning line 165 in cuda_rasterizer/stopthepop/stopthepop_common.cuh: The computation of tx as described in the supplementary materials of the paper is: 340084932-507d319a-b666-43ae-b95f-f6e455e29a5d

where $\mathbf{dx}=[dx,0],(\mu_2-\hat{\mathbf{p}})=[diffx,diffy]$ in my understanding. So $\Sigma^{-1}=\frac{1}{ac-b^2}matrix([c,-b;-b,a])$. so the numerator should be $c\cdot dx\cdot diffx-b\cdot dx\cdot diffy$

However, this seems inconsistent with what is on line 165. Could you please explain why this is the case? const float tx = not_in_y_range * __saturatef((dx * co.x * diffx + dx * co.y * diffy) * rcp_dxdxcox); Thanks for a lot!

steimich96 commented 2 months ago

Note that 'co' (or also noted as conic) is already the inverse 2D covariance matrix. This should clear up the confusion