Встроенные функции доступа к кубическим текстурам (textureCube и texture-CubeLod) работают так, как это определено для стандартной функциональности. Переданные текстурные координаты интерпретируются как вектор направления, выходящий из центра куба. Это значение используется для выбора одной из двухмерных текстур куба на основе координат с наибольшим модулем. Другие две координаты делятся на абсолютное значение этой координаты, затем масштабируются и смещаются для вычисления двухмерной координаты, которая и будет использоваться для применения кубической текстуры к выбранной грани.

Встроенные функции для доступа к текстурам глубины (shadowlD, shadow2D и др.) тоже работают так, как это определено для стандартной функциональности. Формат текстуры, к которой обращаются, должен быть GL_DEPTH_COMPONENT. Возвращаемое значение зависит от режима сравнения текстуры, функции сравнения и режима глубины. Каждое из этих значений можно задать с помощью функции g ITexParameter.

Встроенные функции доступа к текстуре работают в соответствии с текущим состоянием заданного текстурного модуля и с параметрами текстурного объекта, присоединенного к этому текстурному модулю. Другими словами, при определении возвращаемого значения встроенной функции учитываются состояния текстурного модуля и текстурного объекта, в том числе режим переноса, уменьшение и увеличение, цвет рамки, минимальный/максимальный уровень детализации, режим сравнения текстур и т. д.

0.2. Простой пример текстурирования Используя встроенные функции для доступа к текстурам, легко написать простой шейдер, который будет выполнять наложение текстуры.

Чтобы достичь результатов, начнем с очень хороших текстур. На цветном рис. 2 показан пример двухмерной текстурной карты - цилиндрическая проекция поверхности земного шара с облаками. Это изображение, как и другие, о которых говорится в этом разделе, взято с веб-сайта NASA1 и создано Рето Стекли из центра

Шейдеры с сохранением данных в текстурах

космических летательных аппаратов (NASA/Goddard Space Flight Center). Эти изображения Земли - часть постепенно обрабатываемой последовательности данных (суша, морской лед и облака) от спутника-наблюдателя NASA, спектрорадиометра со средней разрешающей способностью. Данные от этого спутника совмещаются с другими изображениями (топографические карты, земной покров и огни городов), все с разрешением до 1 км. Результат - изображение исключительно высокого разрешения (43 200 х 21 600 пикселов). Для наших целей хватит и менее подробной текстуры, так что мы будем использовать версии изображения с уменьшенным разрешением; 2048 х 1024.


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