Sono un po 'confuso. La documentazione ufficiale ( http://msdn.microsoft.com/en-us/library/windows/desktop/bb509588(v=vs.85).aspx ) afferma che ddx (input) è la derivata parziale dell'input rispetto alla "coordinata x spazio-schermo".
Il mio calcolo va bene, ma come può dire da cosa proviene l'input? Se gli passassi una funzione, va bene, posso immaginare cosa farebbe, ma la derivata di un numero è sempre zero ...?
È solo un ridimensionamento? Ad esempio, questo verrebbe ridimensionato a un decimo della sua dimensione a questa distanza, quindi restituisce un decimo? Ma poi non ha bisogno di un input ...
Qualcuno può dare una rapida spiegazione di ciò che sta realmente accadendo?
ddx(5)
è un po 'inutile. Usalo con un valore di input, e questo ti darà la derivata di quel valore rispetto ai pixel vicini in un blocco. Ancora una volta, non so con quale precisione calcoli i valori, ma chiedere la derivata di un non input potrebbe essere un comportamento indefinito e produrre immondizia. Vedi fgiesen.wordpress.com/2011/07/10/… per maggiori informazioni di quelle che posso fornire.
ddx
eddy
fai magie che non puoi fare da solo. Hanno accesso a informazioni aggiuntive dalla pipeline di rasterizzazione che non è possibile acquisire all'interno di un pixel shader. Non sono sicuro di quale formula utilizzino; Sono stato portato a credere che usano una tecnica di stima, ma non lo so per certo.