- Notifications
You must be signed in to change notification settings - Fork718
Fixed child offset computation in nanovdb::tools::cuda::indexToGrid#2013
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
base:master
Are you sure you want to change the base?
Uh oh!
There was an error while loading.Please reload this page.
Conversation
… building a grid with internal nodes that differed in size from the size of internal nodes of the index grid.
|
thanks@heandreas ! Looking at your changes now :) |
yes this does indeed look like a valid fix - great catch! since you didn't sign the EasyCLA I'm taking the liberty to re-write your PR slightly with more documentation explaining how this fix works |
Sounds great, thanks for looking into it! |
@heandreas - see PR#2021 - I added a credit to you - let me know if you prefer to be anonymous. |
@kmuseth Thanks, I'd be delighted to show up in the nanovdb changelog :-) |
@heandreas - take a lookhere |
I ran into a problem when using
nanovdb::tools::cuda::indexToGrid<nanovdb::Vec3f>to build a grid ofVec3fsfrom an index grid. After debugging for a while I managed to find a fix that works for me. I believe the computation fordstTile.childinprocessRootTilesKernelis not correct for all types. It seems to work for float and double grids, but not for Vec3f and probably many (or all?) other types that do not align with the size of the index type. My fix is inspired by the code inprocessNodesKernelthat also computes similar byte offsets.I extended the unit test
CudaIndexGridToGrid_ValueOnIndexto show the problem. It only passes with my fix and not the original code. Feedback is highly appreciated!