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

Fully move from pyglet to visbrain #60

Closed
alexpron opened this issue Dec 31, 2020 · 4 comments
Closed

Fully move from pyglet to visbrain #60

alexpron opened this issue Dec 31, 2020 · 4 comments

Comments

@alexpron
Copy link
Collaborator

Visbrain was chosen as the visualisation package for slam.

  • example_surface_profiling; current pyglet display should be done using visbrain
  • example_curvature_direction: current display calls matplotlib, visbrain implementation would be great

Furthermore, it would be the opportunity to discuss how to deal with visualisation dependence in the example and strategies that could be implemented

@JulienLefevreMars
Copy link
Collaborator

JulienLefevreMars commented Dec 31, 2020

Yo Alex !

For curvature direction I have everything for that in my vector_field class + visualization with visbrain :-) There remains some tricky issues because there are troubles with vispy to manage a surface and vectors. The opacity of the mesh is lost and it is a big mess. See here for instance:
EtienneCmb/visbrain#84

I have found a temporary solution where points that are not visible from the camera location are hidden but it is not completely satisfactory. The best way would consist to use ray tracing to identify point that are really not visible (not based on a criterion with the vertex normals, whose only advantage is to be less costfull).

Bon réveillon !
Julien

@alexpron
Copy link
Collaborator Author

Super nice @JulienLefevreMars ! That definetly is a super basis to work on to have the final display we want. May be worth to discuss with @EtienneCmb next year :) Bon réveillon et à bientôt

@EtienneCmb
Copy link
Contributor

Hello guys ! Happy new year :D

Sorry for the delay @JulienLefevreMars, but very nice figures !

Under the hood the VectorObj is using the ArrowVisual Vispy class. The vector is built using two elements : the line and the arrow head. The best would be to have a custom glsl shaders where the arrow is hidden when the camera is moving. From what I remember, the shaders should contain a discard so that, given a certain condition, we don't plot the arrow according to the camera rotation. I suggest to open a issue on Vispy github where you can past the figures to illustrate the problem, they might have a better solution

@alexpron
Copy link
Collaborator Author

The visualization code was removed from slam to focus on processing. Not longer relevant for slam but useful for slamviz

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants