Untuk memulai, saya sangat menyarankan membaca presentasi Siggraph Naty Hoffman yang meliputi fisika rendering. Yang mengatakan, saya akan mencoba menjawab pertanyaan spesifik Anda, meminjam gambar dari presentasinya.
Melihat satu partikel cahaya yang mengenai titik pada permukaan material, ia dapat melakukan 2 hal: memantulkan, atau membiaskan. Cahaya yang dipantulkan akan terpental menjauh dari permukaan, mirip dengan cermin. Cahaya yang memantul memantul ke dalam di dalam material, dan mungkin keluar dari material agak jauh dari tempat ia masuk. Akhirnya, setiap kali cahaya berinteraksi dengan molekul material, ia kehilangan sejumlah energi. Jika ia kehilangan cukup energinya, kami menganggapnya sepenuhnya diserap.
Mengutip Naty, "Cahaya terdiri dari gelombang elektromagnetik. Jadi, sifat-sifat optik suatu zat sangat terkait dengan sifat listriknya." Inilah sebabnya kami mengelompokkan bahan sebagai logam atau non-logam.
Non logam akan menunjukkan refleksi dan refraksi.
Bahan logam hanya memiliki pantulan. Semua cahaya yang dibiaskan diserap.
Akan sangat mahal untuk mencoba memodelkan interaksi partikel cahaya dengan molekul material. Kami sebaliknya, membuat beberapa asumsi dan penyederhanaan.
Jika ukuran piksel atau area bayangan lebih besar dibandingkan dengan jarak masuk-keluar, kita dapat membuat asumsi bahwa jarak efektif nol. Untuk kenyamanan, kami membagi interaksi cahaya menjadi dua istilah yang berbeda. Kami menyebut istilah refleksi permukaan "specular" dan istilah yang dihasilkan dari refraksi, penyerapan, hamburan, dan refraksi ulang yang kami sebut "difus".
Namun, ini asumsi yang cukup besar. Untuk sebagian besar bahan buram, asumsi ini baik-baik saja dan tidak berbeda jauh dari kehidupan nyata. Namun, untuk bahan dengan segala jenis transparansi, anggapan itu gagal. Misalnya, susu, kulit, sabun, dll.
Warna yang diamati material adalah cahaya yang tidak diserap. Ini adalah kombinasi dari kedua cahaya yang dipantulkan, serta cahaya yang dibiaskan yang keluar dari material. Misalnya, bahan hijau murni akan menyerap semua cahaya yang bukan hijau, jadi satu-satunya cahaya yang sampai ke mata kita adalah lampu hijau.
Oleh karena itu seorang seniman memodelkan warna suatu material dengan memberi kita fungsi atenuasi untuk material tersebut, yaitu bagaimana cahaya akan diserap oleh material tersebut. Dalam model difus / specular kami yang disederhanakan, ini dapat diwakili oleh dua warna, warna difus, dan warna specular. Kembali sebelum bahan berbasis fisik digunakan, artis akan secara sewenang-wenang memilih masing-masing warna ini. Namun, harus jelas bahwa kedua warna ini harus terkait. Di sinilah warna albedo masuk. Misalnya, di UE4, mereka menghitung warna difus dan specular sebagai berikut:
DiffuseColor = AlbedoColor - AlbedoColor * Metallic;
SpecColor = lerp(0.08 * Specular.xxx, AlbedoColor, Metallic)
di mana Metallic adalah 0 untuk non-logam dan 1 untuk logam. Parameter 'Specular' mengontrol specularity suatu objek (tetapi biasanya 0,5 untuk 99% material)