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

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

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

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

Ответы на вопрос(2)

Ваш ответ на вопрос