C'est pour un jeu flash, avec vue isométrique. J'ai besoin de savoir comment trier un objet pour qu'il n'y ait pas besoin de vérifier le z-buffer lors du dessin. Cela peut sembler facile, mais il y a une autre restriction, une scène peut avoir plus de 10 000 objets, donc l'algorithme doit être exécuté en moins de O (n ^ 2). Tous les objets sont des boîtes rectangulaires et 3-4 objets se déplacent dans la scène. Quelle est la meilleure façon de procéder?
MISE À JOUR
dans chaque tuile, il n'y a qu'un objet (je veux dire que les objets ne peuvent pas s'empiler les uns sur les autres). et nous accédons à la fois à la carte des objets et les objets ont leur propre position.
UPDATE2
voir ces chiffres:
dans le premier un premier objet bleu doit être dessiné puis vert puis rouge. tandis que dans le second, vous devez les dessiner dans l'ordre inverse. vous devez d'abord dessiner un objet rouge, puis vert et enfin bleu. comme vous pouvez le voir, il n'y a pas de différence de position entre les objets bleus et rouges, ils ont tous deux une distance différente de la caméra, etc. mais en raison de leur position relative par rapport à la boîte verte, vous devez modifier leur ordre de dessin entre deux images. c'est ce qui fait de ce problème un gâchis.
note latérale: puisque tous les objets sont des prismes rectangulaires, il est mathématiquement prouvable qu'il existe au moins un ordre de dessin pour satisfaire les besoins du problème.