согласно руководству по программированию CUDA, значение, возвращаемое извлечением текстуры, равно
tex(x) = (1-a)T[i] + aT[i+1] for a one-dimensional texture
where i = floor(Xb), a = frac(Xb), Xb=x-0.5
Предположим, у нас есть одномерная текстура, которая имеет только два текстиля.Например:
T[0] = 0.2, T[1] = 1.5
Скажем, мы хотим получить texal в 1, что, я думаю, должно вернуть T [1], что равно 1,5.
Однако, если вы следуете правилу, данному вРуководство по программированию, возвращаемое значение будет:
Xb = 1 - 0.5 = 0.5
a = 0.5
i = 0
return value = 0.5*T[0] + 0.5*T[1] = 0.85
, что не имеет никакого смысла для меня.Может кто-нибудь объяснить, почему линейная фильтрация выполняется CUDA таким образом?Спасибо