Bagaimana Depth of Field Diimplementasikan?

10

Saya tahu bahwa kedalaman bidang melibatkan pengaburan.

Ada beberapa informasi hebat tentang cara melakukan Gaussian blur dalam pertanyaan Bagaimana Gaussian Blur Diimplementasikan?

Namun, selain itu, bagaimana kedalaman lapangan diimplementasikan?

Apa aturan tentang bagaimana Anda mengaburkan setiap piksel, dan bagaimana Anda menangani kasus ketika ada piksel yang ingin banyak mengaburkan di sebelah piksel yang tidak ingin terlalu banyak mengaburkan?

Saya juga pernah mendengar tentang "lingkaran kebingungan" tetapi tidak tahu apa itu.

Adakah yang bisa menjelaskan DOF dengan cara yang sederhana dan mudah dipahami?

Alan Wolfe
sumber

Jawaban:

20

Kedalaman bidang adalah karakteristik pengaturan lensa kamera, meskipun nama "Kedalaman Bidang" biasanya digunakan untuk menggambarkan efek yang disebabkan oleh karakteristik tersebut.

Lensa kamera hanya dapat fokus secara sempurna pada satu titik tunggal, tetapi ada jarak di mana gambar akan tetap terlihat cukup tajam. Jarak seperti itulah sebenarnya Depth Of Field. Jarak ini bervariasi tergantung pada berbagai faktor, tetapi katakanlah demi singkatnya, cara termudah untuk menyesuaikannya adalah dengan mengubah bukaan kamera Anda.

masukkan deskripsi gambar di sini

Sedangkan untuk lingkaran kebingungan, sebaiknya lihat pic dari wikipedia:

masukkan deskripsi gambar di sini

Dalam ketiga kasus tersebut, satu titik "diproyeksikan" ke bidang gambar kami, tetapi seperti yang Anda lihat ada pada jarak yang berbeda dari lensa.

Pada dasarnya karena, seperti yang saya katakan, tidak semuanya sempurna dalam fokus (yaitu titik fokus ada pada bidang gambar), suatu titik dapat diproyeksikan ke bidang gambar kami bukan ke satu titik tetapi ke suatu area. Ini, karena jelas dari gambar, adalah karena titik fokusnya adalah sebelum atau sesudah bidang gambar. "Lingkaran" yang dibuat pada bidang gambar inilah yang disebut lingkaran kebingungan.

Dari sini harus jelas bahwa dengan memvariasikan kedalaman bidang Anda memvariasikan ukuran CoC, karenanya dapat digunakan sebagai ukuran DoF itu sendiri dan yang intuitif ketika berpikir dalam hal kabur.

Sesuai bagaimana itu diterapkan dalam rendering ada banyak metode di luar sana. Biasanya dalam permainan dilakukan sebagai proses posting menggunakan informasi mendalam untuk membagi adegan Anda dalam "pesawat" yang berbeda; misalnya pesawat fokus yang tidak perlu buram, pesawat dekat dan pesawat jauh / latar belakang yang perlu buram. Setelah mengaburkan pesawat, Anda dapat menggabungkannya kembali untuk mendapatkan gambar akhir. Berapa banyak Anda mengaburkan berbagai pesawat itu tergantung pada efek yang ingin Anda capai. Sistem canggih biasanya menerapkan efek ini dan "lensa" lainnya menggunakan parameter yang sesuai yang datang dari dunia fotografi seperti aperture.

Perhatikan bahwa ada banyak cara untuk menerapkan efek, yang saya jelaskan hanyalah salah satu cara yang juga memiliki variasi (misalnya melakukan semuanya pada res yang lebih rendah). Batasnya tergantung pada apa target Anda dan berapa banyak Anda menganggarkan untuk efek ini. Anda dapat beralih dari mengadopsi metode "3 pesawat" pada res yang sangat rendah untuk menghitung lingkaran kebingungan untuk setiap piksel dan menerapkan konsekuensi ad-hoc pada piksel tersebut.


EDIT: Komentar dari @NathanReed perlu lebih banyak bukti sebagai bagian dari jawaban:

Posting blog Matt Pettineo How To Fake Bokeh dan Bokeh II: The Sequel adalah pengantar yang bagus untuk bagaimana menerapkan DoF pasca-proses secara praktis dan menangani artefak khas yang Anda dapatkan dari itu.

cifz
sumber
1
Cara murah untuk melakukan ini adalah cukup gunakan Gaussian blur pada adegan terakhir Anda dan simpan dua. Satu untuk latar depan dan satu untuk latar belakang. Mereka dapat memiliki tingkat blur yang sama atau berbeda dan terserah Anda. Setelah menyelesaikan blur, cukup lerp dari kedalaman 0 hingga beberapa kedalaman yang ditentukan (dan dapat diubah-ubah) (katakanlah 0,10). Apa yang Anda pelajari adalah pemandangan kabur ini ke pemandangan terfokus sempurna. Untuk pengaburan latar belakang Anda bisa melakukan hal yang sama kecuali Anda mengaburkan dari fokus sempurna ke gambar buram. Sisakan ruang untuk bagian tengah untuk menciptakan wilayah fokus yang sempurna.
ChaoSXDemon