Материал взят из книги Расширения OpenGL
Дополнительные режимы смешивания текстур можно задать при помощи расширения GL_EXT_texture_env_combine, GL_ARB_texture_env_dot3
Ниже представлены обычный режимы смешивания текстур
Про нормализацию значений
Очень часто всплывает такой термин. Суть его в том, что внутренне текстурные каналы, вершинные атрибуты практически всегда хранятся во float значениях. Термин нормализация для не float значений означает масштабирование к [0,1] для без знаковых типов. И к [-1,1] для знаковых типов. В случае если вы каким-то образом говорите без-нормализации - это означает кастование вида (float) myVal, т.е. какое-либо масштабирование отсутствует.
Pyramidal Parametrics - судя по всему первоисточник знаний
https://www.opengl.org/wiki/Texture#Mip_maps - информация с wiki opengl.org
Самый верхний (большой) уровень пирамиды имеет индекс 0.
Следующий (приблизительно в два раза меньший) имеет индекс 1.
Для десктопного OpenGL texture* функции по получению текселя могут вызываться как из фрагментных шейдеров так и из вершинных.
Если вы не доверяете фильтрованию в opengl то можно взять тексель с соответсвющего lod-уровня, эти функции можно использовать в вершинном шейдере.
https://www.opengl.org/wiki/Sampler_(GLSL)#Lod_texture_access
Так же можно задать стандартное смещение bias - добавляется при вычисление текстурного уровня (доступен только во фрагментном шейдере). Он добавляется к вычисленному уровню LOD перед обращением к текстуре.
При доступе к текстурным данным через функцию *Proj координаты запрошенного текселя перед обращением делятся на значение последнего компонента.
glPixelStorei -- модифицирует Global State