Как сэмплер GLSL определяет минимизацию и, следовательно, уровень MIP-карты текстуры?

Я работаю с OpenGL ES (через WebGL), но я думаю, что этот вопрос применим и к полному профилю OpenGL.

Предположим, я создаю текстуру OpenGL с полными уровнями MIP-карты и устанавливаю для ее TEXTURE_MIN_FILTER значение NEAREST_MIPMAP_NEAREST. Также предположим, что у меня есть фрагментный шейдер, который сэмплирует эту текстуру. Уровень MIP-карты выбирается в зависимости от степени минификации текстуры, но как выбирается степень минификации?

В моем случае я синтезирую (внутри шейдера) координаты текстуры, которые я использую для сэмплирования своей текстуры. Фактически, мои координаты текстуры не основаны на каких-либо входящих изменениях. Несмотря на то, что для этой текстуры у меня включено MIP-отображение, похоже, что это не имеет никакого эффекта. Ожидается ли это? Нужно ли мне самому вычислять LOD и использовать параметр bias для texture2D? (нет texture2DLOD, поскольку я использую ES)

7
задан Daniel Yankowsky 9 September 2011 в 21:25
поделиться