Vad är Z-Order?

Z-Order är namnet på processen som ingår i att sortera vilka objekt i en datorapplikation som ska visas visuellt framför andra objekt. En vanlig användning för z-order är när det finns flera fönster öppna i ett grafiskt användargränssnitt (GUI) och z-ordningen avgör vilka fönster som kommer att ritas helt och vilka som kommer att skymmas av fönstren ovanför dem. Namnet z-ordningen härrör från de traditionella namnkonventioner som används när man beskriver tredimensionella (3D) utrymmen, där X hänvisar till höger-vänster-riktningen, Y till upp-ned-riktningen och Z till framåt-bakåt-riktningen. Nästan alla 3D-applikationer använder någon form av z-ordning för att snabbt avgöra vilka objekt som ska eller inte ska renderas för att öka visningshastigheten för en scen.

Den faktiska axeln som beskrivs av en z-ordning kan ses som att den sträcker sig in i visningsfältet och rör sig antingen mot eller bort från en betraktare som tittar på monitorn. Ju längre bort ett objekt är, desto högre är dess nummer i ordningen, medan närmare objekt har lägre nummer. Genom att använda enkla sorteringsalgoritmer kan objekt som är längre bort från betraktaren uteslutas från sikten eller bara delvis ritas, eftersom de skyms av objekt som är närmare.

En vanlig användning för z-order är att bibehålla tillståndet för en serie öppna fönster eller andra GUI-element i en applikation. När ett fönster eller annat element genereras tilldelas det ett ordernummer för att indikera att det är i helvy. Om ett annat fönster eller element öppnas, ändras z-ordningen så att det nya aktiva fönstret anses vara närmast. Förutom att hjälpa till att tillhandahålla ledtrådar som gör ritning av GUI-element mer effektivt, använder vissa operativsystem eller applikationer det också för att bestämma tabulatorordningen så att, när en användare använder tangentbordet för att cykla genom ett GUI, väljs de element som får fokus baserat på på deras z-ordning.

Grafikredigeringsprogram använder z-ordningsmetoder för att rita bilder som har flera lager, vilket säkerställer att lagren renderas i rätt ordning. Samma princip tillämpas på program som används för publicering eller layout, där flera element kan staplas för att skapa en sammansättning. I vissa situationer, som i vektorgrafik, används ordningen också för att beräkna geometriska operationer på objekt, som att skapa en förening eller skillnad mellan skiktade geometrier.

I 3D-applikationer kallas z-ordningen också ibland för en z-buffert eller djupbuffert. Förutom att ge ett optimerat sätt att sortera objekt inom en scen, möjliggör det också effektiv borttagning av dolda ytor. Objekt som har ett tillräckligt långt nummer i z-ordningen kan ignoreras och inte renderas alls, medan objekt som täcks av närmare former kan ha hela segment av sin geometri kvar orenderade eftersom de inte kan ses.