Tengo un objeto FBO con un adjunto de color y profundidad al que renderizo y leo desde el uso de glReadPixels()
y estoy tratando de agregarle soporte para multimuestreo.
En lugar de glRenderbufferStorage()
llamo a glRenderbufferStorageMultisampleEXT()
tanto para el adjunto de color como para el adjunto de profundidad. El objeto de búfer de cuadro parece haber sido creado con éxito y se informa como completo.
Después del procesamiento, intento leer de él con glReadPixels()
. Cuando el número de muestras es 0, es decir, la multimuestreo desactiva, funciona perfectamente y obtengo la imagen que quiero. cuando me puse el número de muestras a otra cosa, por ejemplo 4, el registro de cuadro está siendo construido bien, pero falla con un glReadPixels()
Cualquier persona INVALID_OPERATION
glReadPixels de FBO falla con multimuestreo
tener una idea de lo que podría estar mal aquí?
EDIT: El código de glReadPixels:
glReadPixels(0, 0, width, height, GL_RGBA, GL_UNSIGNED_BYTE, ptr);
donde los puntos ptr a una matriz de width * uints altura.
Se puede publicar la línea completa para sus glReadPixels() llamada (formato, tipo, etc.)? –