El iPad ahora admite la extensión OES_texture_half_float
. Lamentablemente, tengo problemas para vincular una textura de coma flotante con un objeto framebuffer. Aquí está mi intento:renderizar a textura de coma flotante en iOS
GLuint textureHandle;
glGenTextures(1, &textureHandle);
glBindTexture(GL_TEXTURE_2D, textureHandle);
glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE, 256, 256, 0, GL_LUMINANCE, GL_HALF_FLOAT_OES, 0);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
assert(GL_NO_ERROR == glGetError()); // this passes
GLuint fboHandle;
glGenFramebuffers(1, &fboHandle);
glBindFramebuffer(GL_FRAMEBUFFER, fboHandle);
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, textureHandle, 0);
assert(GL_FRAMEBUFFER_COMPLETE == glCheckFramebufferStatus(GL_FRAMEBUFFER)); // this asserts
Esto funciona bien cuando se reemplaza con GL_HALF_FLOAT_OES
GL_UNSIGNED_BYTE
.
¿Esto es una limitación con iOS o estoy haciendo algo incorrectamente?
¿Logró que funcionara al final? Tal vez con una versión posterior de iOS? – twerdster
Las versiones más recientes de iOS admiten EXT_color_buffer_half_float, que se requiere para que esto funcione. – prideout
orgullo, tengo el mismo error. Parece que todavía no se admite el renderizado para flotar textura en dispositivos iOS. Desde entonces, las especificaciones de OpenGL ES 2.0 marcan esta característica como no obligatoria. ¿Hiciste más investigación sobre eso? Puede confirmar tal limitación? – HARDWARRIOR