Skip to content

hakolao/glass

Repository files navigation

Glass

Apache CI

  • 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(), |context| {
        // Create window if relevant
        // context.create_window(WindowConfig {
        //     width: 1920,
        //     height: 1080,
        //     exit_on_esc: true,
        //     ..WindowConfig::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)

About

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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

 
 
 

Contributors

Languages