-
Notifications
You must be signed in to change notification settings - Fork 24
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
Support non-quadratic viewports #3634
Conversation
…bucketsPerDim is still quadratic)
app/assets/javascripts/oxalis/model/accessors/flycam_accessor.js
Outdated
Show resolved
Hide resolved
…a (breaks fallback rendering and mouse interactions)
…-quadratic-viewports
…ring; band-aid fix arbitrary viewport zoomstep selection
…-quadratic-viewports
@daniel-wer I think it makes sense if you start reviewing this PR. There are some parts which are not spotless (bucket calculation for arbitrary mode and there are some code fragments for an rectangular arbitrary view which are not effective). However, the main part should be ready for review. Also: Maybe you have an idea on how to estimate the bucket count which is needed for arbitrary view. Right now, I switched back to the very old way of calculating the zoomstep ( |
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.
Reviewed a little more than half, will continue tomorrow, looking very good so far :)
Only thing I noticed so far was that the 3D-View is being stretched when it is resized, so the whole scene in the 3D-View is displayed with a wrong aspect ratio.
app/assets/javascripts/oxalis/controller/combinations/skeletontracing_plane_controller.js
Outdated
Show resolved
Hide resolved
app/assets/javascripts/oxalis/geometries/materials/node_shader.js
Outdated
Show resolved
Hide resolved
app/assets/javascripts/oxalis/model/accessors/flycam_accessor.js
Outdated
Show resolved
Hide resolved
app/assets/javascripts/oxalis/model/accessors/view_mode_accessor.js
Outdated
Show resolved
Hide resolved
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.
2nd part of the review, also looking very good! Awesome PR and the result is serious eye candy 👍
I agree that the determination of the number of needed buckets needs some work, maybe we should sit together for an hour, note down the constraints of this problem and think of possible solutions :)
...ripts/oxalis/model/bucket_data_handling/bucket_picker_strategies/orthogonal_bucket_picker.js
Outdated
Show resolved
Hide resolved
...ripts/oxalis/model/bucket_data_handling/bucket_picker_strategies/orthogonal_bucket_picker.js
Outdated
Show resolved
Hide resolved
if (x < 0) console.warn("x should be greater than 0. is currently:", x); | ||
if (y < 0) console.warn("y should be greater than 0. is currently:", y); | ||
if (z < 0) console.warn("z should be greater than 0. is currently:", z); | ||
// if (x < 0) console.warn("x should be greater than 0. is currently:", x); |
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.
Just to make sure, this is not solved, right?
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.
No, not really, but it's a bit of a performance killer (the actual log statements). I plan to re-investigate it soon.
app/assets/javascripts/oxalis/model/bucket_data_handling/texture_bucket_manager.js
Outdated
Show resolved
Hide resolved
app/assets/javascripts/oxalis/model/sagas/volumetracing_saga.js
Outdated
Show resolved
Hide resolved
app/assets/javascripts/oxalis/view/layouting/default_layout_configs.js
Outdated
Show resolved
Hide resolved
app/assets/javascripts/oxalis/view/right-menu/dataset_info_tab_view.js
Outdated
Show resolved
Hide resolved
app/assets/javascripts/oxalis/view/right-menu/dataset_info_tab_view.js
Outdated
Show resolved
Hide resolved
* use bucket picker for counting (orthogonal mode only) * adapt arbitrary bucket pickers to new bucket counting approach * add types for priority queue
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.
Sweet, this went smoother than expected, great design with the enqueueFunction
! 🎉
I didn't test manually as the test protocol will be executed anyways.
...ripts/oxalis/model/bucket_data_handling/bucket_picker_strategies/orthogonal_bucket_picker.js
Outdated
Show resolved
Hide resolved
@@ -149,12 +147,13 @@ export default function determineBucketsForFlight( | |||
const fallbackBuckets = isFallbackAvailable ? traverseFallbackBBox(getBBox(planeBuckets)) : []; | |||
traversedBuckets = traversedBuckets.concat(fallbackBuckets); | |||
|
|||
let currentCount = 0; |
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.
The const uniqueBucketMap = new ThreeDMap();
is used for the other two bucket pickers but not this one, is there a reason for that?
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.
"Historical growth" 🙈 I forgot about the approach in the flight bucket picker (which was there before) and used the ThreeDMap instead. I'll probably consolidate this when doing the arbitrary-fallback-rendering PR.
...ripts/oxalis/model/bucket_data_handling/bucket_picker_strategies/orthogonal_bucket_picker.js
Outdated
Show resolved
Hide resolved
* https://github.com/flowtype/flow-typed | ||
*/ | ||
|
||
declare module "js-priority-queue" { |
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.
Awesome!
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.
😇
…-quadratic-viewports
…-quadratic-viewports
…-quadratic-viewports
…-quadratic-viewports
URL of deployed dev instance (used for testing):
Steps to test:
Issues: