glass

A rendering app to skip annoying winit & wgpu boilerplate enabling clear focus on just gpu pipelines. In addition, makes it easy to integrate with GUIs.

APACHE-2.0 License

Stars
16

Glass

  • Don't you wish you could just read your app's flow like prose?
  • Don't you wish you could just focus on wgpu pipelines without any wrapping around their types?
  • Don't you wish you could just access the winit event directly from the event loop without any wrapper types?

Glass aims to do just that. Resulting in very readable code flow for your app. Its main purposes are to allow you to skip annoying wgpu boilerplate, winit boilerplate and window organization. You can just focus on your render or compute pipelines and organize your app how you like.

Example:

fn main() {
    Glass::run(GlassConfig::default(), |_| Box::new(YourApp))
}

// Organize your app in anyway you like
struct YourApp;

// Implement methods that you need (to render or read inputs)
impl GlassApp for YourApp {}

See example folder for more.

For whom

  • People who want to learn rendering
  • People annoyed at complexities of game engines, and wanting to have more control over their app
  • People who wish to go back to the roots of coding (simplicity, and no magic)