Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

question about the different between render and viewer #37

Closed
Linkersem opened this issue Aug 5, 2024 · 1 comment
Closed

question about the different between render and viewer #37

Linkersem opened this issue Aug 5, 2024 · 1 comment

Comments

@Linkersem
Copy link

Hi, @Snosixtyboo,thank you for your excellent work and previous responses !
I'm reading the code of sibr_viewer, and I noticed that in the function(file:HierarchyView.cpp) onRenderIBR(sibr::IRenderTarget& dst, const sibr::Camera& eye), after calling Switching::getTsIndexed(), CudaRasterizer::Rasterizer::forward() is called directly, but in render_hierarchy.py, after calling get_interpolation_weights(), the new Gaussian and its properties are first interpolated and calculated. I'm confused about the difference between the two. Could you please explain it?
Looking forward to your reply.

@Snosixtyboo
Copy link
Collaborator

Sure.

The interpolation is, in the one path, done via Python so that we can have autodiff take care of correct gradients. In that case, no interpolation weights are sent to the rasterizer, and it does not do any interpolation itself (except on the blending weights). In the real-time viewer, we don't need gradients, but we still need correct interpolation, so the rasterizer gets the actual interpolation weights and performs interpolation itself.

Hth!
Bernhard

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants