Texturas de punto flotante en OpenGL ES 2.0 en iOS sin fijarlas a [0, 1]

Necesito gl_FragColor para "pintar" valores de punto flotante, que también pueden ser negativos (x <0) y> 1.0. Luego, quiero usar el color adjunto del FBO, estos valores se representaron y usarlo como textura en otro FBO. Ahora he leído enhttp://www.khronos.org/opengles/sdk/docs/man/ (bajo glTexImage2D) que todos los valores están sujetos a un rango de [0, 1] y tampoco encontré una instrucción glClampColor. ¿Existe la posibilidad de encontrar una solución alternativa aquí o alguien tiene una idea que pueda ayudarme con mi problema? :)

Resuelto

Es posible y los valores no se fijan a [0, 1] en absoluto, cuando se usan texturas de punto flotante, pero solo funciona con GL_HALF_FLOAT_OES como el formato interno de la textura. El uso de GL_FLOAT en lugar de eso se traduce en un objeto de fotomarcador incompleto, lo cual es realmente triste, porque estaba construyendo una tabla de área sumada (SAT) y tuve un gran problema de precisión aquí. En general, parece que solo se admiten números de punto flotante de media precisión (2 bytes, 1 signo bit + 5 bits exponentes + 10 fracción) en el iPad2.

Creación de trabajo de la textura de color adjunto FBO.

glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, w, h, 0, GL_RGBA, GL_HALF_FLOAT_OES, NULL);

Una cosa más que mencionar: los instrumentos informarán un mensaje "Enumeración no válida para el argumento 'tipo'", pero funciona de todos modos. Además, el simulador utilizará texturas de precisión total en lugar de la precisión media especificada (creo que porque no hay tal tipo de datos en C). Esta es la razón por la cual probablemente obtendrá menos problemas de precisión en el simulador.

Pero lo más confuso es que "GL_OES_texture_float" es compatible cuando se imprime glGetString (GL_EXTENSIONS). Sin embargo, como se mencionó anteriormente, no funciona.

Respuestas a la pregunta(2)

Su respuesta a la pregunta