Isto é para um jogo em flash, com vista isométrica. Eu preciso saber como classificar o objeto para que não haja necessidade de verificação do z-buffer ao desenhar. Isso pode parecer fácil, mas há outra restrição: uma cena pode ter mais de 10.000 objetos; portanto, o algoritmo precisa ser executado em menos de O (n ^ 2). Todos os objetos são caixas retangulares e há 3-4 objetos em movimento na cena. Qual é a melhor forma de fazer isso?
ATUALIZAR
em cada bloco há apenas objeto (quero dizer, objetos não podem ser empilhados uns sobre os outros). e acessamos o mapa de objetos e os objetos têm sua própria posição.
UPDATE2
veja estas figuras:
no primeiro, um primeiro objeto azul deve ser desenhado, depois verde e vermelho. enquanto no segundo você precisa desenhá-los em ordem inversa. você precisa desenhar primeiro o vermelho e depois o objeto verde e finalmente azul. Como você pode ver, não há diferença na posição dos objetos azuis e vermelhos, ambos têm distâncias diferentes da câmera e assim por diante. mas devido à sua posição relativa em relação à caixa verde, é necessário alterar a ordem dos desenhos entre duas imagens. é isso que torna esse problema uma bagunça.
nota lateral: como todos os objetos são prisma retangular, é matematicamente comprovável que exista pelo menos uma ordem de desenho para atender às necessidades do problema.