Istilah Specular yang Benar dari Model Cook-Torrance / Torrance-Sparrow

13

Untuk sementara saya telah melakukan penelitian tentang topik Rendering Berbasis Fisik. Salah satu model refleksi yang disebutkan berulang kali adalah model Cook-Torrance / Torrance-Sparrow. Sepertinya dalam setiap penyebutan atau penjelasan model ini bentuk yang berbeda dari istilah specular digunakan. Versi yang saya temukan adalah:

  1. FDGπ(NV)(NL)
  2. FDG4(NV)(NL)
  3. FDG(NV)(NL)

Yang mana yang benar, dan kapan? Dalam Rendering Berbasis Fisik: Dari Teori ke Implementasi oleh Matt Pharr dan Greg Humphreys, yang kedua diturunkan secara meyakinkan, tetapi dalam makalah aslinya Cook dan Torrance menggunakan yang pertama tanpa penjelasan terperinci.

Thordal
sumber

Jawaban:

11

Saya akan percaya Pharr dan Humphrey tentang ini. Persamaan 2 juga setuju dengan catatan kursus SIGGRAPH Rendering Berbasis Fisik , serta dengan persamaan 20 dalam makalah Walter et al yang memperkenalkan distribusi GGX.

Saya pernah membaca di suatu tempat bahwa ada kesalahan dalam makalah Cook-Torrance asli yang membuat mereka kehilangan faktor 4 dalam penyebutnya, yang diperbaiki pada makalah selanjutnya. Saya tidak dapat menemukan referensi untuk ini dengan pencarian cepat (jika ada yang tahu, silakan mencatatnya di komentar).

Adapun faktor π, mungkin muncul atau tidak, tergantung pada konvensi. Kadang-kadang itu diperhitungkan dalam fungsi distribusi normal D. Misalnya, jika Anda melihat di Walter et all GGX paper bagian 5.2 di mana mereka memberikan persamaan untuk beberapa fungsi D, Anda dapat melihat mereka semua memiliki π dalam penyebut. Perhatikan bahwa ini menyiratkan bahwa BRDF Lambertian juga harus memiliki π dalam penyebut.

Dalam grafik waktu nyata, π sering ditinggalkan, dalam hal ini kita dapat menafsirkannya sebagai faktor warna terang . Apa pun caranya baik-baik saja, selama Anda konsisten dalam memasukkan π atau membiarkannya keluar dari semua BRDF yang Anda gunakan.

Nathan Reed
sumber
1

Makalah yang lebih baru (setidaknya 2005;)), memiliki notasi yang lebih ringkas saat membandingkan beberapa BRDF termasuk Cook-Torrance BRDF . Formula mereka tidak termasuk pembagian dengan 4.

Addy Ngan, Frédo Durand, Wojciech Matusik: Analisis Eksperimental Model BRDF, Prosiding Simposium Eurografi pada Rendering 2005.

Halaman Proyek , Tambahan (Lihatlah suplemen!)

Namun, perlu diketahui bahwa Cook-Torrance BRDF tidak sama dan karenanya bukan sinonim untuk BRDF Torrance-Sparrow . Yang terakhir termasuk divisi Anda dengan 4. Tinjauan referensi yang menarik dapat ditemukan di:

Rosana Montes, Carlos Ureña: Tinjauan Model BRDF, Laporan Teknis, 2012.

Sama Masak-Torrance BRDF rumus juga di hadir:

Philip Dutré, Kavita Bala, Philippe Bekaert: Advanced Global Illumination, 2nd Edition, 2006.

Sunting : Saya melihat beberapa implementasi (isotropik) dari F , G (atau V tergantung jika Anda memasukkan foreshortening ke penyebut menjadi G ) dan D :

  • D : Beckmann, Ward-Duer, Blinn-Phong, Trowbridge-Reitz alias GGX alias GTR2, Berry alias GTR1;
  • G | V : Tersirat, Ward, Neumann, Ashikhmin-Premoze, Kelemann, Cook-Torrance, Smith GGX, Smith Schlick-GGX, Smith Beckmann, Smith Schlick-Beckmann;
  • F : Schlick, Cook-Torrance.

Semua itu tampaknya digunakan (dalam literatur, di industri animasi dan di industri game) dalam format yang sesuai dengan pilihan kedua Anda . Semua faktor D dalam pencacahan saya mengandung eksplisit1πα2αkekasaran2

4π

Earl Hammon: PBR Diffuse Lighting untuk GGX + Smith Microsurfaces , GDC 2017.

Untuk membuat cerita panjang lebih pendek, opsi 2 adalah satu-satunya istilah specular yang benar (dari tiga opsi yang disediakan).

Matthias
sumber
Blinn-Phong tidak digunakan αrHaikamughness2. ini memiliki parameter "kekasaran" yang sewenang-wenang. Jugaα di Beckmann tidak sama dengan αdalam GGX. Di Beckmann,α[0,) dan di GGX α[0,1](meskipun keduanya menggambarkan Lereng RMS).
Tare
1
@Tare Untuk Blinn-Phong Anda harus menggunakan versi turunan yang berasal alpha dari eksponen specular. Lihat graphicrants.blogspot.be/2013/08/specular-brdf-reference.html
Matthias
1
Oke, Anda tidak menyebutkan itu di pos Anda, jadi saya berasumsi Anda menggunakan bentuk asli.
Tare
0

Secara pribadi saya telah menggunakan persamaan 2. Persamaan 3 tampaknya salah bagi saya, faktor Pi adalah menormalkan respons cahaya dan untuk konservasi energi. Pada dasarnya Anda tidak ingin lebih banyak cahaya yang dipantulkan dari permukaan daripada apa yang diterimanya.

Persamaan 2 adalah peningkatan dari persamaan 1 dan lebih benar sejauh yang saya ketahui. Untuk informasi lebih lanjut tentang persamaan 2, lihat Model Microfacet untuk Refraksi melalui Permukaan Kasar oleh Walter et al

Fred Garnier
sumber