J'écris un algorithme de remplissage d'inondation ... il doit peindre des pixels individuels. Quel est le moyen le plus rapide de le faire? Au début, j'ai pensé à utiliser le point de dessin de cocos2d, mais avoir des vertices de 320 * 480 ne semble pas très bon. Existe-t-il un moyen plus rapide d'utiliser memset ou quelque chose?Le moyen le plus efficace pour dessiner des pixels individuels dans OpenGL ES (Cocos2d-iphone)
Répondre
Si vous allez couvrir la plus grande partie de l'écran (ou la majeure partie d'un sous-rectangle connu de l'écran), alors le moyen le plus rapide sera probablement de créer une taille d'écran (ou sous-rectangle) texture. Remplissez le tout dans le logiciel (alpha transparent pour les pixels que vous ne voulez pas dessiner), puis mettez-le à jour dynamiquement chaque fois qu'il change.
Je n'ai pas fait beaucoup de travail sur l'iPhone, mais je pense que ce serait plus rapide que d'essayer de dessiner 100 000 primitives (de n'importe quel type) à chaque image.
L'exemple d'application GLImageProcessing d'Apple. Cela devrait être très utile. J'ai ignoré cela et j'ai fait mon traitement d'image via des bitmaps. Je ne sais pas si cela vous aiderait bien.