egl is a Go package for accessing the EGL (Embedded Graphics Library). EGL is the access door toward hardware accelerated graphics, through OpenGL, on many embedded devices. The project was born for accessing the GPU of the Raspberry PI (check this post) but now it has been generalized to be go installable on other platforms too. This has the benefit that you could develop Open GL ES 2.0 applications on your desktop computer using Mesa and deploy them on embedded systems like the Raspberry PI.
Currently supported platform
- Raspberry PI
- Android (see Mandala)
The package aims to be multiplatform. To achive this result two approaches are used: build constraints and per-platform/per-implementation initialization boilerplate code. By default egl will use the xorg implementation.
$ go get github.com/remogatto/egl # use xorg by default
To build egl against a particular implementation use the specific build constraint, for example:
$ go get -tags=raspberry github.com/remogatto/egl # install on the raspberry
On a debian like system you will need to install the following prerequisites:
$ sudo apt-get install libegl1-mesa-dev libgles2-mesa-dev
Please refer to the examples.
- Add support for other platforms (e.g. android)
- Add tests
Thanks to Roger Roach for his egl/opengles libraries. I stole a lot from his repository!