Saya sedikit bingung. Dokumentasi resmi ( http://msdn.microsoft.com/en-us/library/windows/desktop/bb509588(v=vs.85).aspx ) mengatakan bahwa ddx (input) adalah turunan parsial dari input dengan hormat ke "layar-ruang x-koordinat."
Kalkulus saya baik-baik saja, tetapi bagaimana cara mengetahui dari mana input berasal? Jika saya melewatinya fungsi, oke, saya bisa membayangkan apa yang akan dilakukannya, tetapi turunan dari angka selalu nol ...?
Apakah ini hanya penskalaan? Seperti, ini akan diskalakan ke sepersepuluh dari ukurannya pada jarak ini, sehingga mengembalikan sepersepuluh? Tapi itu tidak membutuhkan input ...
Dapatkah seseorang memberikan penjelasan singkat tentang apa yang sebenarnya terjadi?
ddx(5)
agak tidak berguna. Gunakan dengan nilai input, dan itu akan memberi Anda turunan dari nilai itu sehubungan dengan piksel tetangga di blok. Sekali lagi, saya tidak tahu bagaimana tepatnya menghitung nilai, tetapi meminta turunan dari non-input mungkin hanya perilaku yang tidak terdefinisi dan menghasilkan sampah. Lihat fgiesen.wordpress.com/2011/07/10/10/... untuk informasi lebih banyak daripada yang bisa saya berikan.
ddx
danddy
lakukan sihir yang tidak bisa kamu lakukan sendiri. Mereka memiliki akses ke informasi tambahan dari pipa rasterisasi yang tidak dapat Anda peroleh dari dalam pixel shader. Saya tidak yakin formula mana yang mereka gunakan; Saya dituntun untuk percaya bahwa mereka menggunakan teknik estimasi, tetapi saya tidak tahu pasti.