2010-10-03 7 views
7

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_OESGL_UNSIGNED_BYTE.

¿Esto es una limitación con iOS o estoy haciendo algo incorrectamente?

+0

¿Logró que funcionara al final? Tal vez con una versión posterior de iOS? – twerdster

+1

Las versiones más recientes de iOS admiten EXT_color_buffer_half_float, que se requiere para que esto funcione. – prideout

+0

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

Respuesta

Cuestiones relacionadas