Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Untuk sepenuhnya memahami shader yang mengimplementasikan PRT, berguna untuk memperoleh rumus yang digunakan shader untuk menghitung radiasi keluar.
Untuk memulai, persamaan berikut adalah persamaan umum untuk menghitung radiasi keluar yang dihasilkan dari pencahayaan langsung pada objek difus dengan pencahayaan jauh yang semena-mena.
mana:
Parameter | Deskripsi |
---|---|
Rp | Radiasi keluar di vertex p. Dievaluasi di setiap puncak pada jala. |
pd | Albedo permukaan. |
Pi | Konstanta, digunakan sebagai faktor normalisasi konservasi energi. |
L | Lingkungan pencahayaan (radiasi sumber). |
Vp₍s₎ | Fungsi visibilitas biner untuk titik p. Ini adalah 1 jika titik dapat melihat cahaya, 0 jika tidak. |
Hnp₍s₎ | Istilah kosinus dari hukum Lambert. Sama dengan maks((Np· s), 0) di mana Np adalah permukaan normal pada titik p. |
s | Variabel yang terintegrasi di atas bola. |
Menggunakan fungsi dasar bulat, seperti harmonik bulat, persamaan berikut mempertanyakan lingkungan pencahayaan.
mana:
Parameter | Deskripsi |
---|---|
L | Lingkungan pencahayaan (radiasi sumber). |
saya | Bilangan bulat yang menjumlahkan jumlah fungsi dasar. |
O | Urutan harmonik bola. |
Aku | Koefisien. |
Y i | Beberapa fungsi dasar di atas bola. |
Pengumpulan koefisien ini, L', memberikan perkiraan optimal untuk L fungsi dengan fungsi dasar Y. Mengganti dan mendistribusikan menghasilkan persamaan berikut.
Integral dari YiVp₍s₎Hnp₍s₎ adalah koefisien transfer tpi yang diawali simulator untuk setiap puncak pada jala. Mengganti ini menghasilkan persamaan berikut.
Mengubah ini ke notasi vektor menghasilkan persamaan yang tidak dikompresi berikut untuk menghitung radiasi keluar untuk setiap saluran.
mana:
Parameter | Deskripsi |
---|---|
Rp | Radiasi keluar di vertex p. |
pd | Albedo permukaan. |
L' | Vektor li, dan merupakan proyeksi dari pancaran sumber ke dalam fungsi dasar harmonis bubuk. Ini adalah vektor order² koefisien harmonik bulat. |
Tp | Vektor transfer order² untuk vertex p. Simulator membagi koefisien transfer dengan p. |
Kedua vektor ini adalah vektor koefisien harmonis bulat order², jadi perhatikan bahwa ini hanyalah produk titik. Tergantung pada pesanan, titik bisa mahal sehingga kompresi dapat digunakan. Algoritma yang disebut Clustered Principal Component Analysis (CPCA) secara efisien mengompresi data. Ini memungkinkan penggunaan perkiraan harmonik sferis dengan urutan yang lebih tinggi yang menghasilkan bayangan yang lebih tajam.
CPCA menyediakan persamaan berikut untuk memperkirakan vektor transfer.
mana:
Parameter | Deskripsi |
---|---|
Tp | Vektor transfer untuk vertex p. |
Mk | Rata-rata untuk k kluster. |
j | Bilangan bulat yang menjumlahkan jumlah vektor PCA. |
N | Jumlah vektor PCA. |
wpj | Bobot PCA jth untuk titik p. |
Bkj | Vektor dasar PCA jth untuk k kluster. |
Kluster hanyalah beberapa simpul yang memiliki vektor rata-rata yang sama. Cara mendapatkan rata-rata kluster, bobot PCA, vektor dasar PCA, dan id kluster untuk simpul dibahas di bawah ini.
Mengganti kedua persamaan ini menghasilkan:
Kemudian mendistribusikan produk titik menghasilkan persamaan berikut.
Karena keduanya (Mk· L') dan (Bkj· L') adalah konstanta per puncak, sampel menghitung nilai-nilai ini dengan CPU dan meneruskannya sebagai konstanta ke dalam shader vertex; karena wpj perubahan untuk setiap puncak, sampel menyimpan data per vertex ini di buffer vertex.
Topik terkait