3
\$\begingroup\$

As far as I can see, there is no GL_PIXEL_UNPACK_BUFFER. Also, the OpenGL ES 2.0 specification (and as far as I know, no iOS device currently supports OpenGL ES > 2.0) states that glMapBufferOES() can only use GL_ARRAY_BUFFER as a target, yet glTexImage2D() and glTexSubImage2D() only seem to use PBOs if GL_PIXEL_UNPACK_BUFFER is bound.

The OpenGL documentation for glBindBuffer() also states that:

GL_PIXEL_PACK_BUFFER and GL_PIXEL_UNPACK_BUFFER are available only if the GL version is 2.1 or greater.

So, can I use PBOs for textures? Am I missing something obvious?

\$\endgroup\$
5
\$\begingroup\$

OpenGL ES doesn't have pixel buffer objects. So you can not use them there.

\$\endgroup\$
7
\$\begingroup\$

OpenGL and OpenGL ES, despite the similar names, are two different specifications. They may have similarly named functions, but there will be semantic differences between what these functions do. And of course, there will be differences in what features they support.

PBOs are not supported on ES (except for ES 3.0, which recently came out but isn't widely supported yet), regardless of version. There isn't even an extension for it. Also, you should probably read up on what PBOs actually do; they don't do what you think they do.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.