Bagikan melalui


Matematika pencahayaan

Model Cahaya Direct3D mencakup pencahayaan sekitar, difus, spekular, dan emisi. Ini cukup fleksibilitas untuk memecahkan berbagai situasi pencahayaan. Jumlah total cahaya dalam adegan disebut iluminasi global.

Iluminasi global dihitung sebagai berikut:

global_illumination = ambient_lighting + diffuse_lighting + specular_lighting + emissive_lighting;

Pencahayaan sekitar adalah pencahayaan konstan. Pencahayaan sekitar konstan di semua arah dan mewarnai semua piksel objek yang sama. Sangat cepat untuk menghitung tetapi meninggalkan objek terlihat datar dan tidak realistis.

Pencahayaan difus tergantung pada arah cahaya dan permukaan objek normal. Pencahayaan difus bervariasi di seluruh permukaan objek sebagai akibat dari perubahan arah cahaya dan vektor angka permukaan yang berubah. Dibutuhkan waktu lebih lama untuk menghitung pencahayaan difus karena berubah untuk setiap verteks objek, namun manfaat menggunakannya adalah bahwa ia menaungi objek dan memberi mereka kedalaman tiga dimensi (3D).

Pencahayaan spekular mengidentifikasi sorotan spekular cerah yang terjadi ketika cahaya mengenai permukaan objek dan memantulkan kembali ke arah kamera. Pencahayaan spekular lebih intens daripada cahaya difus dan jatuh lebih cepat di seluruh permukaan objek. Dibutuhkan waktu lebih lama untuk menghitung pencahayaan spekular daripada pencahayaan difus, namun manfaat menggunakannya adalah menambahkan detail yang signifikan ke permukaan.

Pencahayaan emisi adalah cahaya yang dipancarkan oleh objek; misalnya, cahaya. Emisi membuat objek yang dirender tampak bercahaya sendiri. Emisi mempengaruhi warna objek dan dapat, misalnya, membuat bahan gelap lebih cerah dan mengambil bagian dari warna yang dipancarkan.

Pencahayaan realistis dapat dicapai dengan menerapkan masing-masing jenis pencahayaan ini ke adegan 3D. Nilai yang dihitung untuk komponen sekitar, emisi, dan difus adalah output sebagai warna verteks difus; nilai untuk komponen pencahayaan spekular adalah output sebagai warna verteks spekular. Nilai cahaya sekitar, difus, dan spekular dapat dipengaruhi oleh faktor peledakan dan sorotan cahaya tertentu. Lihat Faktor atenuasi dan sorotan.

Untuk mencapai efek pencahayaan yang lebih realistis, Anda menambahkan lebih banyak lampu; namun, adegan membutuhkan waktu lebih lama untuk dirender. Untuk mencapai semua efek yang diinginkan desainer, beberapa game menggunakan lebih banyak daya CPU daripada yang umumnya tersedia. Dalam hal ini, biasanya untuk mengurangi jumlah perhitungan pencahayaan minimal dengan menggunakan peta pencahayaan dan peta lingkungan untuk menambahkan pencahayaan ke adegan saat menggunakan peta tekstur.

Pencahayaan dihitung di ruang kamera. Lihat Transformasi ruang kamera. Pencahayaan yang dioptimalkan dapat dikomputasi dalam ruang model, ketika kondisi khusus ada: vektor normal sudah dinormalisasi, blending vertex tidak diperlukan, dan matriks transformasi ortogonal.

Semua komputasi pencahayaan dibuat dalam ruang model dengan mengubah posisi dan arah sumber cahaya, bersama dengan posisi kamera, untuk memodelkan ruang menggunakan inversi matriks dunia. Akibatnya, jika dunia atau matriks tampilan memperkenalkan penskalaan non-seragam, pencahayaan yang dihasilkan mungkin tidak akurat.

Di bagian ini

Topik Deskripsi

Pencahayaan sekitar

Pencahayaan sekitar memberikan pencahayaan konstan untuk adegan. Ini menyalakan semua simpul objek sama karena tidak tergantung pada faktor pencahayaan lain seperti normal puncak, arah cahaya, posisi cahaya, rentang, atau pelambatan. Pencahayaan sekitar konstan di semua arah dan mewarnai semua piksel objek yang sama. Sangat cepat untuk menghitung tetapi meninggalkan objek terlihat datar dan tidak realistis.

Pencahayaan difus

Pencahayaan difus tergantung pada arah cahaya dan permukaan objek normal. Pencahayaan difus bervariasi di seluruh permukaan objek sebagai akibat dari perubahan arah cahaya dan vektor angka permukaan yang berubah. Dibutuhkan waktu lebih lama untuk menghitung pencahayaan difus karena berubah untuk setiap verteks objek, namun manfaat menggunakannya adalah bahwa ia menaungi objek dan memberi mereka kedalaman tiga dimensi (3D).

Pencahayaan spekular

Pencahayaan spekular mengidentifikasi sorotan spekular cerah yang terjadi ketika cahaya mengenai permukaan objek dan memantulkan kembali ke arah kamera. Pencahayaan spekular lebih intens daripada cahaya difus dan jatuh lebih cepat di seluruh permukaan objek. Dibutuhkan waktu lebih lama untuk menghitung pencahayaan spekular daripada pencahayaan difus, namun manfaat menggunakannya adalah menambahkan detail yang signifikan ke permukaan.

Pencahayaan emisi

Pencahayaan emisi adalah cahaya yang dipancarkan oleh objek; misalnya, cahaya. Emisi membuat objek yang dirender tampak bercahaya sendiri. Emisi mempengaruhi warna objek dan dapat, misalnya, membuat bahan gelap lebih cerah dan mengambil bagian dari warna yang dipancarkan.

Transformasi ruang kamera

Simpul di ruang kamera dihitung dengan mengubah simpul objek dengan matriks tampilan dunia.

Faktor atenuasi dan sorotan

Komponen pencahayaan yang berbeda dan spekular dari persamaan iluminasi global berisi istilah yang menggambarkan peredaman cahaya dan kerucut sorotan.

 

Lampu dan bahan