Skip to content

remogatto/egl

Repository files navigation

What's that?

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
  • Xorg
  • Android (see Mandala)

Install

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

Usage

Please refer to the examples.

To Do

  • Add support for other platforms (e.g. android)
  • Add tests

Credits

Thanks to Roger Roach for his egl/opengles libraries. I stole a lot from his repository!

License

See LICENSE

About

Go package for accessing EGL

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages