2010-10-03 14 views
7

iPad obsługuje teraz rozszerzenie OES_texture_half_float . Niestety mam problem z powiązaniem tekstur zmiennoprzecinkowych z obiektem bufora ramki. Oto moja próba:renderowanie do tekstury zmiennoprzecinkowej pod 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 

Działa to dobrze przy wymianie GL_HALF_FLOAT_OES z GL_UNSIGNED_BYTE.

Czy to jest ograniczenie w systemie iOS, czy też robię coś niepoprawnie?

+0

Czy udało ci się sprawić, żeby działało w końcu? Być może z późniejszą wersją iOS? – twerdster

+1

Nowsze wersje obsługi iOS EXT_color_buffer_half_float, która jest wymagana do tego działania. – prideout

+0

prideout, mam ten sam błąd. Wygląda na to, że nie ma jeszcze renderowania renderowania tekstur na urządzeniach z systemem iOS. Ponieważ specyfikacje OpenGL ES 2.0 oznaczają tę funkcję jako nieobowiązkową. Czy zrobiłeś o tym więcej badań? Potrafi potwierdzić takie ograniczenie? – HARDWARRIOR

Odpowiedz

Powiązane problemy