rgl-epfl / tekari

A visualization and editing tool for reflectance data
130 stars 8 forks source link

Camera is hard to control #2

Open portsmouth opened 5 years ago

portsmouth commented 5 years ago

The app is great, but the camera could be better. In particular, the mouse wheel (at least on Linux) is too sensitive so you can't properly zoom. It's easy to pan/zoom and completely lose the display, and there doesn't seem to be a "reset". Maybe it would be better to have the camera be a standard "polar" camera which is locked to rotate around the axis, and zooms in a smoother way?

wjakob commented 5 years ago

Hi Jamie, we're definitely open for contributions but will probably not have enough clock cycles to implement this ourselves (please submit a PR in this case). I'm closing this ticket since it is not a fundamental issue but rather a usability wish. Best, Wenze

wjakob commented 5 years ago

Actually, if you have a pointer to some existing code that implements a better camera controller then that would already be very useful. :)

portsmouth commented 5 years ago

Hi Wenzel, For an example, this demo has the kind of constrained camera I had in mind: http://jam3.github.io/orbit-controls/demo/canvas.html Nice and simple.. The code is at https://github.com/Jam3/orbit-controls (unfortunately in JS, but pretty small).

best Jamie

wjakob commented 5 years ago

Hi Jamie -- this looks promising. The only thing that appears to be missing from that example are translations. Is there anything special you would do to support them in an intuitive manner?

wjakob commented 5 years ago

Also, would I have your permission to port this code into NanoGUI (foundation of Tekari), which is BSD-licensed and not MIT-licensed? (It's actually not 100% clear to me what the difference is, they appear to be very similar. But I would not want to change the license of NanoGUI or add source code with a different license.)

portsmouth commented 5 years ago

Ah, actually that code (https://github.com/Jam3/orbit-controls) is not by me.. But MIT license seems very permissive ("only requiring preservation of copyright and license notices") so can you not just copy it in?

For translations, my first thought is that since Tekari is all about exploring the BSDF "disk", maybe it doesn't need the camera to be "free-roaming", i.e. not allow translation? It might be more intuitive to only allow orbiting and zoom (so the user must resize the window, and/or rotate/zoom to see more detail in some area)? Otherwise it's a bit too easy for the cam to end up in some odd configuration which can be confusing.

Though I'm not that familiar with the app so maybe there could be some need for it. (In which case, i'd suggest to add some really obvious way to reset the camera to the default view).

best Jamie