-
Notifications
You must be signed in to change notification settings - Fork 331
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 ui-interaction with video #7353
Comments
What's the task here exactly? We don't have gpu picking for images either at all, so what do we want to accomplish here? |
There is several steps here: A) support clicking videos to select them Only C requires reading back the texture to CPU, and is also the least important |
### What * Part of #7353 * still missing hover preview, but this PR gets us to the minimum viable product. Generalizes the picking-rect mechanism to a large extent to include both videos and error placeholders. Picking code was in a quite poor state, so most of the changes here are all about making it cleaner and easier to follow. Still some left to be desired but had to stop somewhere ;-) <img width="1264" alt="image" src="https://github.com/user-attachments/assets/859aaa69-d367-4428-b7e7-df1e439fb7a9"> Overview over the refactor (it's almost commit by commit, but I went back & forth on naming a bit and there's _some_ evolution that I didn't clean up): * replace `PickableImage` with a more versatile `PickableTexturedRect` construct * each visualizer now has a list of `PickableTexturedRect` to dump its images into directly on the shared `SpatialViewVisualizerData` * similar to how ui label collecting works * this allows all reasoning about pickable rects to be fully generic, no need to know all visualizers * the only exception are depth clouds which aren't images from a picking perspective but get resolved to one * pull the `PickingContext` creation out of the mighty `picking` method * renames on `PickingContext` to make it more clear what's going on * some more meaningful sub routines for the mighty `picking` method * it's still large and complex, but a lot better now ### Checklist * [x] I have read and agree to [Contributor Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and the [Code of Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md) * [x] I've included a screenshot or gif (if applicable) * [x] I have tested the web demo (if applicable): * Using examples from latest `main` build: [rerun.io/viewer](https://rerun.io/viewer/pr/7450?manifest_url=https://app.rerun.io/version/main/examples_manifest.json) * Using full set of examples from `nightly` build: [rerun.io/viewer](https://rerun.io/viewer/pr/7450?manifest_url=https://app.rerun.io/version/nightly/examples_manifest.json) * [x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG * [x] If applicable, add a new check to the [release checklist](https://github.com/rerun-io/rerun/blob/main/tests/python/release_checklist)! * [x] If have noted any breaking changes to the log API in `CHANGELOG.md` and the migration guide - [PR Build Summary](https://build.rerun.io/pr/7450) - [Recent benchmark results](https://build.rerun.io/graphs/crates.html) - [Wasm size tracking](https://build.rerun.io/graphs/sizes.html) To run all checks from `main`, comment on the PR with `@rerun-bot full-check`.
We have video frames available in regular GPU textures, so we should be able to do GPU picking for hover UIs
The text was updated successfully, but these errors were encountered: