Overview
LivePlotter is an opengl-based, 3d point plotting DLL. It is designed to be integrated into any project that needs to see 3d points plotted and updated in real time. It supposts simple camera control: rotate, pan, and zoom. Points can be given a "lifetime" during which their opacity will fade. The opacity of these points can be restored by updating their position. This allows an intuitive representation of sensor readings (where the opacity of the point represents the age of the reading).
This DLL is designed to integrate easily into a C# application. A class that acomplishes this included. See LivePlotter.cs. Unfortunately the DLL also expects the presence of several other files currently, so you'll need to ensure EVERYTHING from the bin/ folder (that contains LivePlotter.dll) is in your project's build output directory.
Please note that this project is still considered a work in progress. I will avoid making api-breaking changes. Functionality may be added and code refactoring may occur in the future since I plan to use this for several projects
Acquiring the DLL
There are two main ways to get the DLL...
Download from releases (recommended)
Download the DLL from the latest release on the releases page.
Build from source (not recommended)
Building is a tad messy atm. I despise Visual Studio and like to manage my own build process. I prefer something simple like a script to build and that's currently what I have, but it's not nearly as clean as I'd like. I hope to fix this mess in the future.
- You'll need git bash and an installation of MSVC (likely via downloading/installing Visual Studio and then installing the C++ build tools).
- Get the source code.
git clone --recurse-submodules https://git.the-embedded-lab.com/shamilton/LivePlotter.git - Build the glfw library.
cd ext/glfw.mkdir build && cd build && cmake ... Open GLFW.sln and build the solution. - Find
vcvars64.batin your installation and modify the path in run_before_build.bat to point to it. - Open git bash to the root directory of the project.
- Run
./run_before_build.batthenbuild.sh - A folder bin/ should exist with
LivePlotter.dllinside. - Copy the entire contents of the bin folder (preferably minus the intermediate build files... sorry) to your project's build output directory
If issues arise, please feel free to create an issue on this repository.
