st-ce que trier les objets dans une liste avant dessiner n'est pas une option? Ca serait beaucoup plus simple, et tu n'aurais pas besoin de modifier SFML.
Si mais l'inconvénient est que c'est plus lent à dessiner qu'une tilemap car plus d'appels à draw.
Au sinon j'ai besoin de modifier SFML pour faire ça ?
En rajoutant juste ces quelques lignes de code dans mon code ça ne marcherait pas ?
glEnable(GL_DEPTH_TEST);
glAlphaFunc ( GL_GREATER, 0.1 ) ;
glEnable ( GL_ALPHA_TEST ) ;
Ainsi je dessine toutes les tilemap (donc je limite mes appels à draw vu que tout mes sprites qui pointeront vers la même texture seront envoyé d'un seul coup à opengl) et je mets une coordonnée z à tous les vertex de mes tilemap pour que les vertex ne soient plus affiché dans l'ordre ou je dessine mes tilemap mais bien dans l'ordre avec lequel j'ai insérer mes sprites dans ma liste.
Et pour virer le problème avec la transparence, j'active un alpha_test ainsi, tout les pixels qui sont transparent au bord de mes sprite ne seront pas écris dans le zbuffer et donc ne viendront pas cacher ce qui sera derrière.)
En fait ce que je cherche à faire c'est une combinaison des 2 techniques suivantes. (tilemapping et zBeuffering.)
La technique ou je trie tout dans la liste est plus simple mais plus lente. (D'ailleurs toutes les techniques (ou presque.) qui sont plus simple à mettre en œuvre en informatique sont souvent plus lente à l'exécution.))
Les techniques plus optimisées et plus avancées demandent souvent un peu plus de réflexion et de pratique.
Bref je trouve que se serait bien de pouvoir combiner ces 2 techniques avec la SFML, il y a bien sûr une complication supplémentaire pour les sprites semi-transparent mais il y a les rendertexture pour régler ce genre de problème non ?