Skip to main content

Что такое рельефное картирование?

В компьютерной графике, особенно в трехмерной (3D) компьютерной графике, рельефное отображение - это способ нанесения двумерного (2D) изображения на поверхность объекта для изменения внешнего вида его геометрии. Рельефная карта - это 2D-изображение, в котором каждое изображение определяет высоту соответствующего местоположения в 3D-модели или, альтернативно, является прозрачным, чтобы указать, что в данной точке модели нет геометрии. Когда 2D-изображение текстурировано наложено на поверхность 3D-объекта, механизм рендеринга изменит геометрию объекта и переместит каждую точку, связанную с пикселем в 2D-изображении, на определенное расстояние от его исходной координаты на значение, которое соответствует на его текстуру пикселей. Это позволяет получать очень тонкие детали, которые могут реагировать на свет, отбрасывать точные тени и даже покрывать фоновые объекты без необходимости создания мелких, интенсивно использующих память сеток для построения геометрии. Одним из примеров такого типа картирования может быть применение спутниковой фотографии Земли к сфере, при этом рельефное картирование приводит к тому, что точки на поверхности сферы становятся выше там, где есть горы, и остаются плоскими там, где есть океаны.

Рельефное отображение опирается на 2D текстурное изображение для данных, необходимых для визуализации объекта. 2D-изображение состоит из пикселей разных цветов, и каждый цвет переводится в определенную высоту. Большинство этих изображений в градациях серого, потому что легко определить высоту области, когда черный цвет будет равен нулевой высоте, чистый белый будет максимальной высотой, а серые будут составлять значения между ними.

Когда объект имеет 2D-текстуру, примененную для рельефного отображения, местоположение каждого пикселя сопоставляется с точкой в ​​геометрии объекта. Если пиксель текстуры в изображении, называемый текселем, имеет значение, отличное от нуля, то трехмерная координата поверхности модели корректируется на значение пикселя вдали от центра объекта в направлении поверхности обычный. Величина движения, которую представляет каждая единица текселя, может быть установлена ​​на очень низкое значение, поэтому отображение рельефа может быть использовано для создания только незначительных деформаций на поверхности, или оно может быть установлено на высоком уровне, чтобы карта рельефной текстуры переместилась в сильно неровную местность.

Существует много применений для рельефного картирования в компьютерной графике, от отображения 2D картографических карт в 3D до геометрической симуляции очень подробных текстур, таких как тканая поверхность свитера. Следует отметить, что рельефное отображение очень похоже на рельефное отображение, и некоторые программы фактически оптимизируют отображение на расстоянии в пределах сцены, возвращаясь к рельефному отображению. Основное отличие состоит в том, что, хотя некоторые подобные поверхностные эффекты могут быть достигнуты, рельефное отображение фактически никогда не приводит к тому, что геометрия объекта выступает за пределы его основной геометрической формы. Это означает, что, если сфера нанесена на карту с изображением гор, то видимая поверхность будет точно отображать горы, но края сферы и ее тень будут оставаться идеально круглыми. Техника рельефного картографирования фактически изменяет сферу, поэтому ее геометрия точно отражает высоту текстуры.