Когда я сэмплирую текстуру в пиксельном шейдере, блок текстуры должен выбрать мип-карту на основе градиента текстуры вокруг затененного пикселя.
Есть функция tex2Dgrad()
, которая позволяет мне вводить информацию о градиенте вручную, и tex2Dlod()
, которая позволяет мне выбирать mipmap вручную, но если я просто вызываю tex2D()
, то откуда берется дополнительная информация о градиенте?
tex2D()
- наиболее распространенный случай для наложения текстуры, используемый в большинстве шейдеров, но я понятия не имею, откуда берется градиент. Mipmapping, очевидно, работает, поэтому оно должно откуда-то появиться.
Я хочу использовать текстуру в качестве таблицы поиска в пиксельном шейдере, используя вычисленные U
и V
координаты, но я не хочу, чтобы в 10101 * происходило неожиданное 'волшебство' .
Нужно ли использовать tex2Dlod()
, чтобы избежать этого? Я читал, что tex2Dlod()
медленнее, чем tex2D()
.