Questions tagged [opengl-es]

Subset of the OpenGL 3D graphics API designed for embedded devices such as mobile phones.

OpenGL for Embedded Systems (OpenGL ES) is a subset of the OpenGL 3D graphics API designed for embedded devices such as mobile phones, PDA's, and video game consoles. OpenGL ES is managed by the not-for-profit technology consortium, the Khronos Group, Inc.

Current version is OpenGL ES 3.2 (), publicly released in August 2015.

OpenGL ES 2.0
OpenGL ES 2.0 eliminates most of the fixed-function rendering pipeline in favor of a programmable one. Almost all rendering features of the transform and lighting pipelines, such as the specification of materials and light parameters formerly specified by the fixed-function API, are replaced by shaders written by the graphics programmer. As a result, OpenGL ES 2.0 is not backwards compatible with OpenGL ES 1.1.

OpenGL ES 3.0
The latest major version is the OpenGL ES 3.0 specification, publicly released in August 2012. OpenGL ES 3.0 is backwards compatible with OpenGL ES 2.0, enabling applications to incrementally add new visual features to applications.

More information at

  1. Khronos Official page
  2. Wikipedia page on OpenGLES
  3. Khronos OpenGL ES Registry

Books:

14058 questions
40
votes
7 answers

OpenGL ES iPhone - drawing anti aliased lines

Normally, you'd use something like: glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glEnable(GL_BLEND); glEnable(GL_LINE_SMOOTH); glLineWidth(2.0f); glVertexPointer(2, GL_FLOAT, 0,…
quano
  • 18,812
  • 25
  • 97
  • 108
39
votes
1 answer

Passing a variable to an OpenGL GLSL shader

I'm writing an iPhone app which uses GLSL shaders to perform transformations on textures, but one point that I'm having a little hard time with is passing variables to my GLSL shader. I've read that it's possible to have a shader read part of the…
38
votes
5 answers

How to choose between GL_STREAM_DRAW or GL_DYNAMIC_DRAW?

I am using OpenGL ES 2.0, but I think it is also relevant to non-ES: how to know what "usage" to choose when creating a VBO? This particular VBO will be used for 1 to 4 times before completely updated, and I am not sure if I must pick GL_STREAM_DRAW…
lvella
  • 12,754
  • 11
  • 54
  • 106
37
votes
2 answers

libgdx SpriteBatch render to texture

Is it possible to render to texture using SpriteBatch in libGdx (Java engine for Android/Desktop)? If so, how do it? Basically I want to render everything to 320 x 240 region of 512 x 256 texture and than scale region to fit screen (in landscape…
PiotrK
  • 4,210
  • 6
  • 45
  • 65
37
votes
3 answers

Drawing paths and hardware acceleration

I'm drawing a rather large path in my view and I'm running into some performance problems. The path is currently 32,000 points long, but my application should scale to at least 128,000 points. I can't really do anything about the size of the path,…
Mad Scientist
  • 18,090
  • 12
  • 83
  • 109
36
votes
3 answers

Android - tutorials for OpenGL ES 2.0 using the NDK?

I'm looking to learn OpenGL ES 2.0 on Android and the tutorials I've found are nearly all for using the SDK with Java. I want to use native code however so I want to do it through the NDK. The only tutorial/example I've found is the sample-stuff in…
KaiserJohaan
  • 9,028
  • 20
  • 112
  • 199
35
votes
3 answers

Why does GL divide `gl_Position` by W for you rather than letting you do it yourself?

Note: I understand the basic math. I understand that the typical perspective function in various math libraries produces a matrix that converts z values from -zNear to -zFar back into -1 to +1 but only if the result is divided by w The specific…
gman
  • 100,619
  • 31
  • 269
  • 393
35
votes
5 answers

Understanding the memory consumption on iPhone

I am working on a 2D iPhone game using OpenGL ES and I keep hitting the 24 MB memory limit – my application keeps crashing with the error code 101. I tried real hard to find where the memory goes, but the numbers in Instruments are still much bigger…
zoul
  • 102,279
  • 44
  • 260
  • 354
35
votes
3 answers

What are the differences between OpenGL ES 2.0 and OpenGL ES 3.0

I want to know what is the differences between OpenGL ES 2.0 and OpenGL ES 3.0. What is the main advantage of OpenGL ES 3.0?
pushyu
  • 433
  • 1
  • 5
  • 6
34
votes
2 answers

OpenGL ES Render to Texture

I have been having trouble finding straightforward code to render a scene to a texture in OpenGL ES (specifically for the iPhone, if that matters). I am interested in knowing the following: How do you render a scene to a texture in OpenGL ES? What…
Andrew Garrison
  • 6,977
  • 11
  • 50
  • 77
33
votes
2 answers

How WebGL works?

I'm looking for deep understanding of how WebGL works. I'm wanting to gain knowledge at a level that most people care less about, because the knowledge isn't necessary useful to the average WebGL programmer. For instance, what role does each…
Oscar
  • 1,025
  • 2
  • 15
  • 25
33
votes
3 answers

What is the precision of highp floats in GLSL ES 2.0 (for iPhone/iPod touch/iPad)?

I have a shader that ideally needs 28 bits of mantissa, though I can use less and degrade performance. How can I determine what the precision of 'highp' is in OpenGL ES? It's probably an FP24, with 16bits mantissa, but I cannot figure out for sure…
gonzojive
  • 2,206
  • 2
  • 19
  • 16
33
votes
2 answers

Android OpenGL .OBJ file loader

There seem to be quite a number of OBJ mesh file loaders out there that people have developed for use on the Android platform. I'm wondering if anyone has any experience with these and can offer a recommendation on which one seems to work best for…
Matt Huggins
  • 81,398
  • 36
  • 149
  • 218
32
votes
8 answers

How to use OpenCL on Android?

For plattform independence (desktop, cloud, mobile, ...) it would be great to use OpenCL for GPGPU development when speed does matter. I know Google pushes RenderScript as an alternative, but it seems to be only be available for Android and is…
Rodja
  • 7,998
  • 8
  • 48
  • 55
32
votes
2 answers

Non power of two textures in iOS

In my iOS app (targeted for iPad), I'd like to use non power of two (NPT) textures. My GL_VERSION query returns "OpenGL ES 2.0 APPLE". According to the spec, it should support NPT textures, but a simple test shows that I need to resize the texture…
M-V
  • 5,167
  • 7
  • 52
  • 55