, iOS

2010-10-03 26 views
7

altında kayan nokta dokusuna işlem yapılıyor iPad şimdi OES_texture_half_float uzantısını destekliyor. Maalesef bir kayan nokta yapısını bir framebuffer nesnesine bağlarken sorun yaşıyorum. GL_UNSIGNED_BYTE ile GL_HALF_FLOAT_OES değiştirilirken, 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 

Bu çalışıyor: İşte benim denemesi.

Bu iOS ile bir sınırlama mı yoksa yanlış bir şey mi yapıyorum?

+0

Sonunda çalışmayı başardınız mı? Belki de iOS'un daha sonraki sürümü ile? – twerdster

+1

iOS'un daha yeni sürümleri, bunun çalışması için gereken EXT_color_buffer_half_float desteğini desteklemektedir. – prideout

+0

prideout, aynı hatayı aldım. Henüz iOS cihazlarda dokuyu yüzdürmek için işleme desteği bulunmadığı anlaşılıyor. OpenGL ES 2.0 özellikleri bu özelliği zorunlu olmadığından işaretler. Daha fazla araştırma yaptın mı? Bu sınırlamayı onaylayabilir misiniz? – HARDWARRIOR

cevap