The iPhone doesn't support 32-bit float textures?

I create a 32-bit floating point texture with


CVOpenGLESTextureCacheCreateTextureFromImage(kCFAllocatorDefault, ..., ..., NULL, GL_TEXTURE_2D, GL_RGBA, ..., ..., GL_BGRA, GL_FLOAT, 0, ...);

or


glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA32F, 128, 128, 0, GL_RGBA, GL_FLOAT, ...);


send the texture to a vertex shader and read the output with transform feedback. For some reason the data is truncaed to 16-bit half floats.


For example,

Input: 0.001000, 0.000100, 0.000010, 0.000001

Output: 0.000999, 0.000100, 0.000000, 0.000000


This only happens on my iPhone 6s, not on the iPad.


Does the iPhone not support 32-bit floating point textures in OpenGL?

same issue... use kEAGLRenderingAPIOpenGLES3 solved the problem

The iPhone doesn't support 32-bit float textures?
 
 
Q