Reference projectM application in Rust, utilizing the projectM crate
Report Bug
·
Request Feature
Table of Contents
To get this crate up and running properly, you'll need to install some prerequisites.
Depending on the OS/distribution and packaging system, libraries might be split into separate packages with binaries and development files. To build projectM, both binaries and development files need to be installed.
- Rust
- A working build toolchain.
- CMake: Used to generate platform-specific build files.
- OpenGL: 3D graphics library. Used to render the visualizations.
- or GLES3: OpenGL libraries for embedded systems, version 3. Required to build projectM on Android devices, Raspberry Pi, Emscripten and the Universal Windows Platform.
- glm: OpenGL Mathematics library. Optional, will use a bundled version with autotools or if not installed.
- SDL3: Simple Directmedia Layer >= 3. Provided by sdl3-rs. the test UI.
- LLVM: Low-Level Virtual Machine. Optional and experimental, used to speed up preset execution by leveraging the LLVM JIT compiler.
- vcpkg: C++ Library Manager for Windows. Optional, but recommended to install the aforementioned library dependencies.
- GLEW: The OpenGL Extension Wrangler Library. Only required if using CMake to configure the build, the pre-created solutions use a bundled copy of GLEW.
// run app
cargo run
// build app
cargo build
RUSTFLAGS="-L$(brew --prefix sdl3)/lib" cargo build
RUSTFLAGS="-L$(brew --prefix sdl3)/lib" cargo run
cargo run --release
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the LGPL-2.1 license. See LICENSE
for more information.
Blaquewithaq (Discord: SoFloppy#1289) - @anomievision - [email protected]