-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Hi,
I just had a look at the rendering forward pass and as I understand it, you render invdepth values by taking the weighted average of the invdepths of individual Gaussians:
expected_invdepth += (1 / depths[collected_id[j]]) * alpha * T; |
However, the "A Hierarchical 3D Gaussian Representation for Real-Time Rendering of Very Large Datasets" paper states that depth is rendered as weighted average of the depths (not invdepths!) of individual Gaussians:
This seems to contrast with the implementation, as taking the weighted average of invdepth values and then inverting the result to get depth is not the same as taking the weighted average of depth values. Also this seems to contrast with other depth rendering implementations, for example:
https://github.com/Chrixtar/latent-gaussian-rasterization/blob/41e0f23d9fba2f0e0dd27115001ec6d41ed27adc/cuda_rasterizer/forward.cu#L381
I am not sure whether this is a bug, or I am just missing something. It would be helpful for me if you could provide some clarification.
Thanks and best,
Philipp