Le framebuffer est conservé par le GPU et n'est pas immédiatement accessible par le CPU. Je pense que la chose que vous voudriez probablement de OpenGL complet est la requête d'occlusion; vous pouvez demander à ce que la géométrie soit dessinée et être informé du nombre de pixels réellement tracés. Malheureusement, ce n'est pas disponible sur l'iPhone.
Je pense que ce que vous voulez probablement, c'est glReadPixels, qui peut être utilisé pour lire un seul pixel si vous préférez, par exemple. (Écrit ici, comme je tape, non testé)
GLubyte pixelValue[4];
glReadPixels(x, y, 1, 1, GL_RGBA, GL_UNSIGNED_BYTE, pixelValue);
NSLog(@"alpha was %d", pixelValue[3]);
L'utilisation glReadPixels provoque une chasse d'eau de canalisation, est donc généralement une mauvaise idée d'un point de vue de la performance de GL, mais il fera ce que vous voulez. Contrairement à iOS, OpenGL utilise l'ordre du papier graphique pour les coordonnées de pixel, donc (0, 0) est le coin inférieur gauche.
BitmapData :: getPixel32 ne renvoie-t-il pas la valeur du canal alpha? – PatrickS
getPixel32 renvoie la valeur ARGB complète d'un pixel. De cela, vous pouvez détecter s'il y a quelque chose ou pas sur ce pixel. – sharvey