[OpenMW-CS] Cube and sphere instance selection

Implements cube-centre, cube-corner and sphere-selection for instances. Four user-configurable select actions: select only, add to selection, remove from selection and invert selection.

Points to consider in later MRs:

  • How to improve the visuals: Perhaps add line at the terrain intersection of selection cube/sphere edges (this may decrease performance, and it may be possible to implement something like this as shader). It's also possible to implement a GL_LINES wire-frame draw which might help to see the intersections. Should there be a visual hint for objects that will be selected with the given action (e.g. white-gray/colored outlines)?
  • getMousePlaneCoords function is probably useful in other editmodes as well. This MR implements that for InstanceMode only. Also, this method should be the default for instance movement too, but this MR doesn't touch that part of the code.
  • Possibility of binding all 4 selection modes to different input-setups (requires implementing tertiary and quaternary select modes)

Addresses issue #3171 (closed)

Demonstration: https://youtu.be/BX6PTzTNW3Y

Edited by Nelsson Huotari

Merge request reports

Loading