Saya benar-benar tidak tahu apa yang menyebabkan satu permukaan saling tumpang tindih. Dalam mesin 3D yang saya buat, teknik saya gagal dalam kasus tepi.
Metode saya adalah menyortir permukaan yang akan dicat dari yang terjauh ke terdekat. Untuk menentukan kedekatan, saya membandingkan nilai rata-rata z. Kadang-kadang, bagaimanapun, permukaan tumpang tindih memiliki tinggi nilai z rata-rata dari yang itu tumpang tindih. Dengan demikian, permukaan yang lebih jauh dicat lebih dekat - menghasilkan rendering aneh seperti ini:
Apa yang dimaksudkan untuk dilihat adalah permukaan depan ungu dari kubus saja, sementara permukaan sisi merah dicat di atas permukaan ungu. Nilai rata-rata z dari permukaan ungu lebih tinggi, dan karenanya 'lebih jauh'. Jadi saya ragu apakah teknik ini benar.
Apa yang saya coba adalah mendapatkan jarak dari kamera (yaitu asal) ke permukaan, tetapi kemudian saya membutuhkan sebuah titik. Saya memilih bagian tengah dari setiap permukaan tetapi juga ini sepertinya tidak selalu berhasil karena tidak semua permukaan sama besar.
Oleh karena itu, apa cara yang dapat diandalkan untuk menentukan urutan kedekatan permukaan terhadap asal?