Baru-baru ini, saya telah melihat beberapa game 3D (misalnya:) GTA IV
untuk menggunakan semacam dithering yang dipesan untuk mensimulasikan transparansi / alpha.
Poligon tidak transparan seperti biasanya, tetapi menghasilkan tekstur dithering yang secara bertahap beralih dari kiri ke kanan untuk mensimulasikan transparansi:
Efeknya tidak menyenangkan tetapi agak mengejutkan untuk melihat pada awalnya (vs campuran alpha tradisional)
Kecuali untuk efek estetika visual yang dihasilkannya, adakah alasan mengapa beberapa game melakukan ini (kinerja lebih baik, menghemat bandwidth atau hal lain yang tidak saya pikirkan)?
Saya telah mencari di web tetapi tidak menemukan apa pun tentang teknik ini.
textures
rendering
transparency
alpha
tigrou
sumber
sumber
Jawaban:
Ini adalah pendekatan yang cukup umum untuk transparansi dalam game yang menggunakan naungan yang ditangguhkan. Transparansi yang tepat sama sekali tidak bekerja dengan baik dengan naungan yang ditangguhkan, karena hanya satu data permukaan (kedalaman, vektor normal, warna, dll.) Yang dapat disimpan pada setiap piksel, dan transparansi yang tepat melibatkan beberapa permukaan yang tumpang tindih pada satu piksel, masing-masing membutuhkan independen penerangan.
Ada beberapa cara mesin game dapat menangani ini:
Kita juga dapat menggunakan kombinasi dari pendekatan ini, misalnya naungan ke depan untuk jendela kaca dan penetapan untuk transisi LOD.
Perlu juga dicatat bahwa beberapa permainan menggunakan penetapan untuk bayangan lembut. Ini adalah tradeoff kinerja; bayangan yang lebih bagus membutuhkan lebih banyak sampel tekstur dalam pixel shader, yang membutuhkan waktu lebih lama, tetapi Anda bisa mendapatkan hasil yang tampak oke dengan menggunakan lebih sedikit sampel dan mengimbangi posisi mereka secara acak. Offset acak menghasilkan efek penetapan.
sumber
Ini adalah trade-off kinerja yang sederhana. Alpha blending membutuhkan pembacaan dari buffer warna saat ini, sedangkan dithering semacam ini hanya untuk penulisan (atau tentu saja hanya buang saja).
Dimungkinkan untuk mencampur teknik ini dengan multisampling, yang kemudian disebut alpha to coverage .
sumber