-
Notifications
You must be signed in to change notification settings - Fork 210
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
Fix point cloud jitter and quantization issues for additive refinement pnts #5324
Conversation
ImageTests ran and the only differences were considered inconsequential ones from now supporting unquantized pnts data. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Run rush change
and add the files created in common/changes.
The error is telling you what you need to do to fix it. |
I did "npm run extract-api" in the core\extension folder (step 1), and it generated no modified files anywhere, so can't do step 2. |
Don't know what to do about the repeatable MacOS security error. |
As yet there is no fix available. Nothing to do with your changes. |
@Mergifyio backport release/3.7.x |
✅ Backports have been created
|
Fixes #5333
Investigating problems with a user point cloud showed jitter and gaps in the displayed data, both indicating quantization issues. The point cloud was PNTS format, but using additive refinement. Also, the first 13 pnts files were unquantized, but all the rest were quantized.
Found that we were quantizing the unquantized tiles, so first changed that to generate and use unquantized point cloud graphics (for PNTS), but that by itself did not solve the problem. Investigating further, I found that the RTC_CENTER in these tiles was large enough to cause quantization issues the way it was added into the vertex shader points. I removed that offset from the vertex shader points, then added it into a transform for the tile instead, and that resolved the problem.
Had to adjust batch range by RTC_CENTER since it is in the transform now (for locate, etc.). Also had to create a range for unquantized points for the voxelSize calculation, since the qParam range (scale of 1) would not work for that.
TODO