Apa representasi warna yang paling akurat secara fisik dari grafik komputer?

8

Saya mencari model teoritis dan yang diimplementasikan untuk mewakili warna dalam perangkat lunak yang mengupayakan akurasi fisik.

Saya tahu bahwa "warna hanya ada dalam pikiran" dan bahwa itu semacam tidak masuk akal untuk mencari "akurasi fisik", tapi tetap saja, betapa jauh lebih baik pengambilan sampel spektrum atau representasi warna yang lebih rumit lainnya ke RGB sederhana, dan apa manfaat apa yang akan dibawanya? Kelemahan apa di samping kinerja yang akan ditimbulkan (atau apakah kinerja merupakan kelemahan)?

Lennart Rolland
sumber
Saya mem-posting ulang pertanyaan terkait beberapa waktu lalu yang mungkin juga relevan di sini: Apakah ada materi umum yang tidak diwakili dengan baik oleh RGB?
trichoplax
1
Jawabannya mungkin juga bermanfaat. computergraphics.stackexchange.com/q/4321/56 . TL: DR - CIELAB dibuat menjadi ukuran warna untuk persepsi manusia. Sayangnya tampilan yang berbeda menampilkan hal-hal yang berbeda sehingga Anda tidak dapat dengan mudah mengkonversi dari RGB ke ini. Ada juga kemajuan CIELAB selama bertahun-tahun untuk membuatnya lebih dekat dengan bagaimana warna sebenarnya dipersepsikan oleh manusia. Tidak yakin jika info bermanfaat, tapi saya harap begitu!
Alan Wolfe

Jawaban:

7

Cara yang paling akurat secara fisik adalah memiliki yang untuk setiap frekuensi warna yang mungkin memiliki nilai tertentu.l(θ)

Konversi ke RGB akan membutuhkan fungsi respons frekuensi untuk setiap saluran dan hasilnya kemudian .sayanfrSebuahredkamultrSebuahvsayaHailetl(θ)Fred(θ)dθ

Cahaya yang kemudian memiliki fungsi respons 2 dimensi: . (mengabaikan BRDF di sini untuk kesederhanaan)L.reflected(θ)=lsayancHaimsayang(ϕ)R(ϕ,θ)dϕ

Kekurangannya adalah bahwa alih-alih hanya 3 saluran warna, Anda sekarang memiliki saluran tanpa batas untuk dikhawatirkan.

aneh ratchet
sumber
Yah, aku berkata "mungkin", bukan "imajiner" ;-). Tapi terima kasih atas jawaban yang bagus!
Lennart Rolland
Apakah ada nama untuk ? Atau apakah Anda hanya mengatakan el theta? l(θ)
Matthew Woo
1
@ MatthewWoo Ini adalah nama yang saya buat di tempat, sebenarnya itu adalah irradiansi dari DRDF dengan parameter ekstra panjang gelombang.
ratchet freak
Bahkan Anda harus mempertimbangkan spektrum EM lengkap. Lebih jauh, pertanyaan itu tidak menentukan apakah mata manusia harus melihat gambar yang dihasilkan.
Matthias
7

Ada rendering spektral , di mana Anda dapat menghitung panjang gelombang yang terlihat dari ~ 390nm ke ~ 700nm ke N panjang gelombang diskrit alih-alih standar 3 untuk RGB. Maka jika Anda harus membuat model mengatakan prisma, Anda akan mendapatkan distribusi spektrum yang lebih realistis.

Cahaya juga memiliki sifat polarisasi yang perlu Anda modelkan untuk peningkatan realisme. Saya tidak tahu apakah ini sedang dimodelkan dalam mesin rendering yang ada yang tersedia untuk umum dan bagaimana Anda akan menggambarkannya dengan tepat. Cahaya adalah gelombang elektromagnetik dengan dua komponen listrik dan magnetik ortogonal, yang mungkin memiliki amplitudo yang berbeda dan juga keluar dari fase yang berpotensi mengakibatkan polarisasi elips. Polarisasi akan menjadi kelayakan yang relevan misalnya untuk memodelkan beberapa refleksi specular dari permukaan dielektrik, atau memodelkan filter polarisasi yang digunakan oleh fotografer pada kamera.

Baik rendering spektral dan polarisasi cahaya akuntansi akan datang dengan biaya kinerja dan penggunaan memori yang lebih tinggi.

JarkkoL
sumber