title: How to use OpenGL ES extensions on Android
body: <p>I am developing a OpenGL ES 3.0 application on Android, mainly in Java and I need to use floating point render textures.</p>
  
  <pre><code>GLES30.glGetString(GLES30.GL_EXTENSIONS)
  </code></pre>
  
  <p>returns a string containing GL_EXT_color_buffer_half_float, and GL_EXT_color_buffer_float among others => my device supports floating point textures, obviously.</p>
  
  <p>However, I am a bit lost right now how to use those extensions.
  Calling</p>
  
  <pre><code>GLES30.glTexImage2D(GLES30.GL_TEXTURE_2D, 0, GLES30.GL_RGBA16F, 512, 512, 0, GLES30.GL_RGBA, GLES30.GL_UNSIGNED_BYTE, null);
  </code></pre>
  
  <p>results in an glError 1282. Everything works when I use GL_RGBA instead of GL_RGBA16F. 
  I wanted to try GL_RGBA16F_EXT, but that's not contained in GLES30. So, I tried to pass the value 0x881A which is how GL_RGBA16F_EXT is defined, I think. But, same error: glError 1282.</p>
  
  <p>There is that function eglGetProcAddress which is sometimes needed to use OpenGL ES extensions, but since I don't need the address of a function, I suspect that won't help me either. I don't really know what to try next. How can i create floating point FBOs?</p>