Я немного смущен. Официальная документация ( http://msdn.microsoft.com/en-us/library/windows/desktop/bb509588(v=vs.85).aspx ) гласит, что ddx (input) является частной производной ввода по отношению к "координате экрана-пространства."
Мое исчисление в порядке, но как оно может определить, откуда поступает информация? Если бы я передал ему функцию, хорошо, я могу представить, что она будет делать, но производная числа всегда равна нулю ...?
Это просто масштабирование? Мол, это будет масштабироваться до одной десятой его размера на этом расстоянии, поэтому он возвращает одну десятую? Но тогда это не требует ввода ...
Может кто-нибудь дать быстрое объяснение того, что на самом деле происходит?
ddx(5)
вроде бессмысленно. Используйте его с входным значением, и это даст вам производную этого значения по отношению к соседним пикселям в блоке. Опять же, я не знаю, насколько точно он вычисляет значения, но запрос производной от не входных данных может быть просто неопределенным поведением и создавать мусор. Смотрите fgiesen.wordpress.com/2011/07/10/… для получения дополнительной информации, чем я могу предоставить.
ddx
иddy
твори магию, которую ты не можешь сделать сам. У них есть доступ к дополнительной информации из конвейера растеризации, которую вы не можете получить из пиксельного шейдера. Я не уверен, какую именно формулу они используют; Я был убежден, что они используют технику оценки, но я точно не знаю.