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 supports simple camera controls: 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. The goal here is to create 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 accomplishes 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. The API may change in future revisions
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)
I don't enjoy using 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.
- You'll need 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, Change the configuration to "Release, and build the solution. - Find
vcvars64.batin your installation and modify the path in activate.bat to point to it. - Open cmd.exe to the root directory of the project
- Run
activate. Thenbuild release. - A folder bin/ should exist with
LivePlotter.dllinside. - Copy the entire contents of the bin folder to your project's build output directory
If issues arise, please feel free to create an issue on this repository.
See the csharp and cpp example projects for details on how to integrate the DLL with your codebase. You must have the project built to run the csharp project (it copies the contents of bin into its output directory).
