Tengo un problema con la renderización de texturas y framebuffer fuera de pantalla con OpenGLES
en iPhone.Renderizar a framebuffer contextura o fuera de pantalla
alt text http://j.imagehost.org/0923/IMG_0020.pngalt text http://j.imagehost.org/0725/IMG_0019.png
primera imagen muestra fichas de mahjong prestados a CAEAGLLayer
directa y esto es correcto. La segunda muestra las teselas representadas en el marco externo de la trama, copiadas a la textura usando glCopyTexImage2D
y la textura representada en CAEAGLLayer
. Ambos usan quad blanco opaco para el fondo. También he intentado renderizar directamente a la textura, pero el efecto fue el mismo que con el framebuffer fuera de la pantalla.
Mi código para crear uso de este dispositivo:
GLuint framebuffer;
glGenFramebuffersOES(1, &framebuffer);
glBindFramebufferOES(GL_FRAMEBUFFER_OES, framebuffer);
GLuint renderbuffer;
glGenRenderbuffersOES(1, &renderbuffer);
glBindRenderbufferOES(GL_RENDERBUFFER_OES, renderbuffer);
glRenderbufferStorageOES(GL_RENDERBUFFER_OES, GL_RGB8_OES,
512, 512);
glFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES, GL_COLOR_ATTACHMENT0_OES,
GL_RENDERBUFFER_OES, renderbuffer);
que dibujar todos los azulejos de una textura del atlas con una llamada a glDrawElements
usando VBO para pasar datos entrelazados de vértices (coordenadas, coordenadas de textura, color). Yo uso el formato de textura RGBA8888, dibujando cada imagen en dos triángulos (cuádruples) con la función de fusión glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
. No uso el buffer de profundidad (en todos los casos).
¿Alguien me puede decir cuál podría ser el problema?
¿Cuál es incorrecta sobre las imágenes renderizadas? ¿Cómo espera que se vean? – Frogblast
@Frogblast El primero, que no se procesa en framebuffer o textura fuera de pantalla, es correcto. – sfider
No se muestra suficiente código. Las OBF probablemente no son el problema. – karx11erx