Brillo - Painless 2D graphics (fork of gloss)

I am very excited to announce Brillo, a Haskell package for painless 2D vector graphics, animations, and simulations powered by GLFW and OpenGL.

So far, it’s a backwards compatible fork of gloss and improves upon it in several ways:

  • Remove support for deprecated GLUT and SDL backends and use GLFW instead
    • High DPI / Retina display support
    • (x) button can be used to close the window and terminate the app
    • Re-implement support for vector font and improve several character glyphs
  • Remove broken gloss-raster due to unmaintained repa dependency
  • In-source brillo-juicy package
  • Remove broken Travis CI scripts
  • Add screenshots to all examples
  • Manage issues and discussions on GitHub
  • Format all code with Fourmolu
    and cabal-fmt

Why a fork?

Gloss includes a lot of old baggage I wanted to get rid off and the project seems to be more about maintaining the status quo, rather than improving it. There was no commit on master for more than 2 years.

Future plans:

  • Make it a community project with steady improvements
    • More documentation
    • More examples
    • Game jams
    • Please get involved!
  • Make it more usable for GUIs (I’m using it as the backend of Perspec)
    • Fonts (Bitmap, TrueType)
    • Better rendering (anti-alias, thick lines, …)
    • Better integration (file selector, …)
    • High level components (button, selector, …)

Let me know what else you would like to see!

32 Likes

This is great! I posted a discussion question.

Looking forward to using this soon!

2 Likes

Nice! I’ve got a few projects where I’ve used Gloss because it was so easy to get started with, and then run in to some of its limitations, and had to do things like fork an unreleased library just to get decent text support.

I’ll hopefully take a good look at this over the weekend.

1 Like

And indeed, as I see you’ve discovered, I’ve been using a fork of Gloss itself for over three years, without ever getting a response from maintainers.

Thank you so much! I’ll try and switch all my FRP libraries to this fork soon.

1 Like

Yeah, it’s a shame. So let’s get this train rolling again! :raised_hands::rocket: