Skip to content
Frank Bauernöppel edited this page Dec 3, 2017 · 18 revisions

Raspi VC4 hardware supports

OpenGLES is a subset of OpenGL for embbeded systems (ES), but many applications, especially games, rely on a fully supported OpenGL API. There are efforts to support all of OpenGL, see https://github.com/anholt/mesa/wiki/VC4-OpenGL-support with additional drivers (work in progress).

under Yocto

The images are configured to use the following software stack:

  • OpenGLES client application like a Qt5 application or a SDL2 game.
  • OpenGLES for 3D accelerated rendering (see /usr/include/GLES2/ header files)
  • EGL as interface layer between the rendering API and the native platform windowing API (see /usr/include/EGL/ headers)
  • framebuffer as native platform API for graphical output

Examples / Testing

OpenGL ES Book Samples

Examples from Munshi, Ginsburg, Shriner "OpenGL ES 2.0 Programming Guide". Forked from benosteen/opengles-book-samples:

root@raspberrypi3:~# git clone https://github.com/FrankBau/opengles-book-samples/
root@raspberrypi3:~# cd opengles-book-samples/Raspi
root@raspberrypi3:~/opengles-book-samples/Raspi# make
root@raspberrypi3:~/opengles-book-samples/Raspi# Chapter_2/Hello_Triangle/CH02_HelloTriangle 
 123 frames rendered in 2.0033 seconds -> FPS=61.3986
 ...

The famous red triangle is displayed on HDMI monitor. Rendering is synchronized to 60Hz display refresh rate.

Further reading

Clone this wiki locally