Haven't seen a comment explaining why edges of some objects make other objects disappear.
Image you have 3 layers trying to cover the same pixel: a skybox, a distant object and an object near you.
Now, if alpha blending is involved, the proper way to render these would be from far to near. So that objects closer to the player are blended on top of a more distant "background" that has been rendered before.
However, sorting by distance may slow in some cases or just impossible in others (like if two objects intersect).
And here's what may happen without sorting:
- Skybox is always rendered first (true for most old games).
- Then a semi-transparent object near you is rendered and writes its position into Z buffer (unless a texel is completely transparent and discarded).
- And then a distant object cannot be rendered anymore, because Z buffer tells that there's already something else in front of it.