38 releases

✓ Uses Rust 2018 edition

0.3.4 Jun 15, 2019
0.3.0 May 30, 2019
0.1.17 Mar 31, 2019

#75 in GUI

Download history 40/week @ 2019-03-01 6/week @ 2019-03-08 55/week @ 2019-03-15 88/week @ 2019-03-22 33/week @ 2019-03-29 111/week @ 2019-04-05 60/week @ 2019-04-12 43/week @ 2019-04-19 33/week @ 2019-04-26 2/week @ 2019-05-03 74/week @ 2019-05-10 109/week @ 2019-05-17 55/week @ 2019-05-24 189/week @ 2019-05-31 256/week @ 2019-06-07

360 downloads per month

Apache-2.0

106KB
2K SLoC

rust-pushrod

Build Status docs.rs for rust-pushrod

Cross Platform UI Widget Library for Rust that uses OpenGL as its rendering engine.

Draws inspiration from lots of GUI libraries.

(Ever Evolving) Screenshot of Sample

Philosophy

The reason I created this library instead of extending another library was that I wanted to keep these specific design ideas in mind:

  • Maintainable with little effort
  • Easily extensible
  • Lightweight enough to run on minimalist hardware
  • Easy to use and understand

These design ideas are critical. Keep it simple. Keep it stupid simple.

Prerequisites for Pushrod

Pushrod requires the following minimum versions:

Library Version
piston_window 0.89
piston2d-opengl_graphics 0.59
piston2d-graphics *
pistoncore-glfw_window 0.49
gl *

Optimization Note

To see what the CPU usage looked like before and after switching between 2D and 3D rendering engines, here is before, and this is after. These numbers represent the current version (0.3.0) before any rendering optimizations have been added.

So, is it worth it to add OpenGL? I'll let you decide.

Runnable Examples

Pre-Requisite for Mac OS X

You must download and install MoltenGL's distribution of OpenGL ES 2 and copy the *.dylib files that are extracted to /usr/local/lib on your system. You should also use brew on your system. If you have Homebrew already installed, use brew install glfw to install the GLFW formula.

Please note, do not install the MoltenGL library - only install the OpenGL ES libraries. MoltenGL requires a runtime license.

Pre-requisite for Linux

... TBD ...

Pre-requisite for Windows

... TBD ...

After installing pre-requisites:

cargo run --example simple

This will run the simple application demo. It's interactive, so have fun!

Dependencies

~6.5MB
~120K SLoC