Существует пять различных ограничений, связанных с отображением текстур.

1. Максимальное количество доступных модулей текстурных изображений для вершинного шейдера - GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB.

2. Максимальное количество доступных модулей текстурных изображений для фрагментного шейдера - GL_MAX_TЕXTURE_IMAGЕ UN ITS_ARB.

3. Общее количество модулей текстурных изображений и для обработки вершин, и для обработки фрагментов (фрагментным шейдером или в OpenGL) не должно превышать значения GL_MAX_COMBINED_T EXTURE_ÏMAGE_UNITS_ARB. Если и вершинный, и фрагментный шейдеры используют один и тот же модуль, считается, что модулей два.

4J. Ссылки

4. OpenGL может выполнять множественное тексту рирование даже без фрагмент-ного шейдера. В этом случае максимально доступное количество ступеней текстуры определяется константой GL_MAX_TEXTURE_UNITS.

5. Количество поддерживаемых наборов текстурных координат задается константой GL_MAX_TEXTURE_COORDS_ARB. Это ограничение действует независимо от наличия или отсутствия вершинного шейдера.

Обычные установки для текстур (GLJEXTURE_CUBE_MAP, GL_TEXTURE_3D, GL_TEXTURE_2D hGL_TEXTURE_1D) шейдерами игнорируются. Например, даже если для какого-либо 'т.ешурного модуля установлено GLJTXTUREJLD, шейдер все равно может использовать семплер типа GL_TEXTURE_2D для доступа к этому текстурному модулю.

Семплеры типов sampl erlDShadow или sampler2DShadow обычно используются для доступа к текстурам глубины (тем, у которых установлен параметр GL_DEPTH_ COMPONENT). Режим сравнения текстур требует от шейдера использования встроенной функции shadowlD либо shadow2D для доступа к текстуре (см. раздел 5.7). При попытке использовать эти функции с форматом, отличающимся от GL_JJEPTB_ COMPONENT, результат будет непредсказуем.

Если шейдер использует семплер для ссылки на неполный текстурный объект (например, одну из mipmар-текстур, имеющую внутренний формат, отличающийся от формата прочих текстур, или рамку, см. спецификацию), текстурный модуль возвратит значения (R, G, В, А) - (0, 0, 0, 1).


⇐ Предыдущая| |Следующая ⇒