[fpc-pascal] GLExt crashing

Michalis Kamburelis michalis.kambi at gmail.com
Fri Jan 29 13:05:27 CET 2016


Ryan Joseph wrote:
> Is it available in any version before 2.0 do you know? I don’t know
> much about OpenGL but there is a 1.5 version also which maybe has
> it.
> 

Before OpenGLES version 2.0 (shader pipeline), you only have OpenGLES
1.1 and OpenGLES 1.0. See https://en.wikipedia.org/wiki/OpenGL_ES and
https://www.khronos.org/opengles/1_X/ . Although OpenGLES 1.1 was based
on (desktop) OpenGL 1.5, which included glBlendEquation (you can see it
in https://www.opengl.org/documentation/specs/version1.5/glspec15.pdf ).
But I guess glBlendEquation was not included in OpenGLES for simplicity
--- OpenGLES was, by design, a very "trimmed down" version of (desktop)
OpenGL.

And "glBlendEquation" is not available in OpenGLES 1.1. You have
"glBlendFunc" in 1.1, but it only allows you to specify blending
parameters, while blending equation is "hardcoded". Effectively,
OpenGLES 1.1 always behaves like

  glBlendEquation(GL_FUNC_ADD)

was called. You can see it e.g. by comparing glBlendFunc specifications
for 1.1 and 2.0:
- https://www.khronos.org/opengles/sdk/1.1/docs/man/glBlendFunc.xml ,
- https://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendFunc.xml

In 1.1 version, the equation is simply hardcoded, while in 2.0 it can be
configured by glBlendEquation.

Hmm, but there's this extension:
https://www.khronos.org/registry/gles/extensions/OES/OES_blend_subtract.txt
. If this extension is supported, you could load glBlendEquationOES
function, which should be what you need.

I'm not sure why the thread on
http://stackoverflow.com/questions/17457327/blending-issue-porting-from-opengles-1-0-to-2-0-ios
suggests that glBlendEquation was used in OpenGLES 1.1. Maybe it's an
Apple extension that, once you have OES_blend_subtract, you can load
entry point "glBlendEquation", without "OES" suffix? Or maybe the poster
on stackoverflow just simplified his/her code, to simplify the question?

Regards,
Michalis


More information about the fpc-pascal mailing list