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

Support more features as coloring input #43

Open
SirVer opened this issue Jul 17, 2017 · 0 comments
Open

Support more features as coloring input #43

SirVer opened this issue Jul 17, 2017 · 0 comments

Comments

@SirVer
Copy link
Contributor

SirVer commented Jul 17, 2017

There are two potential angles to adding more features in the visualization. For starters focus should be put on the web viewer and the SDL viewer should be ignored.

  1. Do on the fly calculation in the viewer. This entails adding more shaders in the client and make the current GL program UI selectable. Not all interesting properties are on the fly calculatable, but for example z-coloring could be done this way.

  2. The more interesting approach is to hand through more features via PLY. The start to this is pretty straightforward, but requires a few steps:

  • Support more properties when reading the PLY (add them in the match here. I can also envision a commandline option that will take a list of 'interesting' properties.
  • Add it to the Point struct. For generic properties, we'd require a HashMap or something similar here - which is quite expensive, but maybe acceptable. For starters we can just add common properties (maybe channel id, label?).
  • Make sure the NodeWriter writes it into the on-disk octree struct as a new set of files. Right now we have r123.pb containing meta information about the node like the number of points and the bounding box, r123.xyz for the geometry, and r123.rgb for the colors. We can add r123.<foo>, for example r123.label).
  • Change the reading part, i.e. the NodeIterator to understand these extra properties.
  • At this point, we need to ship this data to the client if desired. This is unfortunately a bit involved, since it requires some weird bit fiddling to deal with the idiosyncrasies of javascript.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant