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
28
votes
1 answer

GLKMatrix4 (and other similar) missing in swift?

I'm having an issue creating a 4X4 openGL matrix in swift. I have imported the following which worked in Obj-C: import UIKit import GLKit import OpenGLES GLKMatrix4 is not available, however I have access to other GL math resources,…
Daniel Rushton
  • 480
  • 5
  • 13
28
votes
5 answers

Android OpenGL ES Transparent Background

I'm building an Android app that takes advantage of OpenGL. As it stands, the background for the GLSurfaceView is dynamically generated by my code and loaded in as a texture and drawn with glDrawTexfOES. Which is "ok", but I can simply display the…
mattbasta
  • 13,492
  • 9
  • 47
  • 68
28
votes
2 answers

What are the advantage of using indirect rendering in OpenGL?

I read that the APIs like glDrawElementsIndirect, glDrawArraysIndirect help us in indirect rendering. Indirect rendering is different from direct in the way that the rendering parameters like "number of vertex attributes", "number of instances to…
viktorzeid
  • 1,521
  • 1
  • 22
  • 35
28
votes
6 answers

Crop camera preview for TextureView

I have a TextureView with a fixed width and height and I want to show a camera preview inside of it. I need to crop the camera preview so that it doesn't look stretched inside my TextureView. How to do the cropping? If I need to use OpenGL, how to…
Catalin Morosan
  • 7,897
  • 11
  • 53
  • 73
28
votes
5 answers

Is it possible to draw line thickness in a fragment shader?

Is it possible for me to add line thickness in the fragment shader considering that I draw the line with GL_LINES? Most of the examples I saw seem to access only the texels within the primitive in the fragment shader and a line thickness shader…
Meda
  • 2,776
  • 4
  • 20
  • 31
27
votes
4 answers

Genymotion emulators giving Open GL error on Kubuntu 13.10 64-bit

I have been using the Genymotion Android emulator for a while on Kubuntu, but recently I have run into Open GL errors that prevent it from working. Interestingly enough, I have an older Galaxy Nexus 4.2.2 emulator image that works fine (though it…
Russell Stewart
  • 1,960
  • 4
  • 24
  • 31
27
votes
7 answers

Sprite Kit & playing sound leads to app termination

using ARC Just a problem I've run into- I have an SKScene in which I play a sound fx using SKAction class method [SKAction playSoundFileNamed:@"sound.wav" waitForCompletion:NO]; Now when I try to go to background, no matter that the sound was over,…
Lior Pollak
  • 3,362
  • 5
  • 27
  • 48
27
votes
3 answers

Perspective correct texturing of trapezoid in OpenGL ES 2.0

I have drawn a textured trapezoid, however the result does not appear as I had intended. Instead of appearing as a single unbroken quadrilateral, a discontinuity occurs at the diagonal line where its two comprising triangles meet. This illustration…
elbowpa
  • 498
  • 1
  • 5
  • 9
26
votes
1 answer

What is glVertexAttrib (versus glVertexAttribPointer) used for?

I understand that glVertexAttribPointer will set the values for a vertex attribute based on the pointed-to array. What is glVertexAttrib for, though? It looks like it just sets a single (possibly vector) value for the vertex attribute, so what…
Laurence Gonsalves
  • 137,896
  • 35
  • 246
  • 299
26
votes
8 answers

iOS CVImageBuffer distorted from AVCaptureSessionDataOutput with AVCaptureSessionPresetPhoto

At a high level, I created an app that lets a user point his or her iPhone camera around and see video frames that have been processed with visual effects. Additionally, the user can tap a button to take a freeze-frame of the current preview as a…
sotangochips
  • 2,700
  • 6
  • 28
  • 38
26
votes
1 answer

YUV to RGB conversion and display using opengl es 2.0 from android ndk using shaders

I am currently working on a rtsp player on android using ffmpeg to connect and decode the video stream. I would like to use OpenGL es 2.0 to convert the YUV frame to RGB frame and display it but i am blocked (it's the first time i use opengl). I…
Lionel B.
  • 261
  • 3
  • 5
26
votes
2 answers

Why it is necessary to set precision for the fragment shader?

I learn WebGL. Next shaders work fine: // vertex.shader // precision mediump float; attribute vec4 a_Position; attribute float a_PointSize; void main(){ gl_Position = a_Position; gl_PointSize = a_PointSize; } and // fragment.shader precision…
Andrey Bushman
  • 11,712
  • 17
  • 87
  • 182
26
votes
1 answer

Drawing a border on a 2d polygon with a fragment shader

I have some simple polygons (fewer than 20 vertices) rendering flat on a simple xy plane, using GL_TRIANGLES and a flat color, a 2d simulation. I would like to add a border of variable thickness and a different color to these polygons. I have…
26
votes
3 answers

What does the GL_ARRAY_BUFFER target mean in glBindBuffer?

I was confused about the VBO, glGenBuffers(1, &positionBufferObject); glBindBuffer(GL_ARRAY_BUFFER, positionBufferObject); Besides GL_ARRAY_BUFFER, there are other target types: GL_ATOMIC_COUNTER_BUFFER, GL_COPY_READ_BUFFER... However, the Opengl…
lightrek
  • 951
  • 3
  • 14
  • 30
25
votes
7 answers

Is there a way to check if Android device supports openGL ES 2.0?

I need to check dynamically if the used device supports openGL ES 2.0. How can i do that?
Erik Sapir
  • 23,209
  • 28
  • 81
  • 141