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

More efficient way of allocating voxel hash blocks in context of dynamic surfaces #38

Open
3 tasks
Algomorph opened this issue Jun 16, 2022 · 0 comments
Open
3 tasks
Labels
enhancement New feature or request

Comments

@Algomorph
Copy link
Owner

Algomorph commented Jun 16, 2022

This is an optimization of #6

  • Project corners of forward-warped activation candidate blocks onto depth image
  • Bin projected candidate blocks into BxB rectangles on the depth image by recording the depth range (two floats) of each forward-warped candidate block into each BxB bin. I suggest 4x4 pixels for the bin size, but this should be parameterized. Probably, need to experiment how many blocks tend to fall into each bin first to determine optimal range array size for each bin. Overflow should be ignored.
  • Query pixel values for each block: if depth is within truncation distance + depth range of recorded block depth range, mark block to be allocated.

This reduces complexity from O(block_count * depth_sample_count) to O(bin_size * depth_sample_count) + O(block_count).

@Algomorph Algomorph added the enhancement New feature or request label Jun 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant