Voglio ottenere il valore usando GL_FLOAT texture da glReadPixels.
Il mio dispositivo Android supporta OES_texture_float . ma è diventato un errore colbind la trama GL_FLOAT .
In OpenGL ES 2.0 in Android, non è ansible associare la trama GL_FLOAT a FBO? O dipende dall’hardware?
Parte del mio codice è:
Dentro:
glGenTextures(1, &texture); glBindTexture(GL_TEXTURE_2D,texture); glTexImage2D(GL_TEXTURE_2D,0,GL_RGB,texWidth,texHeight,0,GL_RGB,GL_FLOAT,NULL);
FBO Allegati:
glBindFramebuffer(GL_FRAMEBUFFER,framebuffer); glFramebufferTexture2D(GL_FRAMEBUFFER,GL_COLOR_ATTACHMENT0,GL_TEXTURE_2D,texture,0); checkGlError("FBO Settings"); // glGetError() return 0x502. status = glCheckFramebufferStatus(GL_FRAMEBUFFER); // glCheckFramebufferStatus() return 0.
Se qualcuno ha qualche intuito lo apprezzerei.
OpenGL ES 2.0 2.0 non consente FBO di questo tipo, tuttavia esistono alcune estensioni (e alcune GPU mobili) che supportano i buffer in virgola mobile. Dai un’occhiata a GL_OES_texture_float e GL_NV_fbo_color_attachments .
nVidia Tegra 3 supporta gli FBO in virgola mobile.
PS Con Tegra 2 sembra anche ansible: http://forums.developer.nvidia.com/devforum/discussion/1576/tegra-2-slow-floating-point-texture-operations/p1