I'm looking for recommendations on graphics libraries or game engines that would facilitate semi-realtime plotting or playback of local cartesian or geospatial data. Here are some details on use case and constraints:
Use Cases:
- Real time display of an ongoing simulation that's generating data for consumption by the system I'm looking to create.
- Playback and analysis of recorded data generated by the previously mentioned scenario.
- Display of different data relations, e.g. Points 1-1024 belong to category A and are grouped for user interaction (colorization, hiding from view, etc.)
Constraints:
- Configurable quality to allow for low resource requirements (can run on a potato PC)
- Library/SDKs are open source
- Display data sources are configurable (can be SQL database, binary file, udp messages, etc.)
Nice to Haves:
- Inherently cross platform (windows or linux)
- APIs are for C++, C#, or Python
Some things I've considered so far from my research have been:
- ROS and Rviz
- Pros: Middleware helps with data source abstraction, supports common geospatial interactions (translations, rotations, etc.), ROS2 is cross platform
- Cons: Middleware and ROS setup can be complex. I haven't worked with distributing a ROS based program to end users before.
- OpenGL
- I'm not too familiar with directly interfacing with OpenGL, but my understanding is that I would have to essentially build an application around it/using it? It seems like everything from data inputs to user interactions would have to be self-made.
- Game Engine (Unity or Unreal)
- I have no experience with these, but clearly they're able to provide the performance necessary. I assume the deciding factor would be how useful the provided tools are for this use case.
Thank you for any advice you're able to offer!
edit: Spelling/typos