Posts: 9
Joined: Sun Jun 26, 2016 1:43 pm

Which OpenGL

Sun Feb 25, 2018 6:42 am

Hi guys,

I'm writing a rather basic program which will have 8 colours and basic shapes with at most anti aliasing in terms of special effects. Should I concentrate on using OpenGL fixed pipeline or can I use the more modern OpenGL implementations? My guess is Raspberry Pi isn't advanced enough to allow a programmable pipeline so I should steer clear of modern things?

EDIT: Reading some more information and it seems I should also be looking into versions of the Raspberry Pi itself because it seems like different versions have different capabilities. Hmm.

User avatar
Posts: 4320
Joined: Sun Jul 22, 2012 4:14 pm

Re: Which OpenGL

Sun Feb 25, 2018 8:04 am

If you want well supported (ie not beta quality) then I would go for openGLESv2. If at a later date you move to full openGL then there won't be too many things to change.

Discoverer of the PI2 XENON DEATH FLASH!
Interests: C,Python,PIC,Electronics,Ham Radio (G0DZB),Aeromodelling,1960s British Computers.
"The primary requirement (as we've always seen in your examples) is that the code is readable. " Dougie Lawson

Posts: 9
Joined: Sun Jun 26, 2016 1:43 pm

Re: Which OpenGL

Sun Feb 25, 2018 9:30 am

Ah so sounds like Raspberry Pi is powerful enough to allow for even modern OpenGL with a programmable pipeline. I'm actually trying to steer clear of this because I'm not familiar with it, would prefer to do it the old fashioned way as my needs aren't very demanding and I don't see the need to learn the new way of doing things for my basic application. But sounds like the answer is in the older OpenGLES.
Last edited by HelloWorld123123 on Tue Apr 24, 2018 7:15 am, edited 2 times in total.

Brian Beuken
Posts: 90
Joined: Fri Jan 29, 2016 12:51 pm

Re: Which OpenGL

Sun Feb 25, 2018 2:24 pm

The Pi's Broadcom IV GPU is itself a native OpenGLES2.0 system, and it is a fine programmable pipeline API though only a 1st gen version with GLSL1.0 and vertex and fragment shaders. Further more its only a dual core GPU so while it can do a lot, it can't always do it fast.

Though the Pi does currently offer a really good version of OpenGL, you should bear in mind it is going to emulate some functions on the CPU Client side and convert them to OpenGLES2.0 so that the Broadcom GPU can work with it. So while the OpenGL version will provide an appealing and familiar API, which I think is quite comprehensive, your Raspberry is not going to operate at full speed on it.
Very old computer game programmer, now teaching very young computer game programmers, some very bad habits.
Wrote some book about coding Pi's and SBC's, it's out now...go get it!

Return to “Graphics programming”