Рельефное текстурирование

Поделись знанием:
(перенаправлено с «Бамп-маппинг»)
Перейти к: навигация, поиск

Рельефное текстурирование — метод в компьютерной графике для придания более реалистичного и насыщенного вида поверхности объектов.





Bump mapping

Bump mapping — простой способ создания эффекта рельефной поверхности с детализацией большей, чем позволяет полигональная поверхность. Эффект главным образом достигается за счет освещения поверхности источником света и черно-белой (одноканальной) карты высот, путём виртуального смещения пикселя (как при методе Displace mapping) как если бы там был вертекс (только без физического и визуального сдвига), за счет чего таким же образом изменяется ориентация нормалей использующихся для расчета освещенности пикселя (затенение по Фонгу), в результате получаются по-разному освещенные и затененные участки. Как правило Bump mapping позволяет создать не очень сложные бугристые поверхности, плоские выступы или впадины, на этом его использование заканчивается. Для более детальных эффектов впоследствии был придуман Normal mapping.[1]

Normal mapping

Normal mapping — техника, позволяющая изменять нормаль отображаемого пикселя основываясь на цветной карте нормалей, в которой эти отклонения хранятся в виде текселя, цветовые составляющие которого [r,g,b] интерпретируются в оси вектора [x, y, z], на основе которого вычисляется нормаль, используемая для расчета освещенности пикселя. Благодаря тому, что в карте нормалей задействуются 3 канала текстуры, этот метод дает большую точность, чем Bump mapping, в котором используется только один канал и нормали, по сути, всего лишь интерпретируются в зависимости от «высоты».

Карты нормалей обычно бывают двух типов:

object-space — используется для не деформирующихся объектов, таких как стены, двери, оружие и т. п.[2]

tangent-space — применяется для возможности деформировать объекты, например персонажей .[2]

Для создания карт нормалей обычно используется высокополигональная и низкополигональная модели, их сравнение дает нужные отклонения нормалей для последней.[1]

Parallax mapping

Данная технология также использует карты нормалей, но, в отличие от normal mapping, она реализует не только освещение с учётом рельефа, но и сдвигает координаты диффузной текстуры. Этим достигается наиболее полный эффект рельефа, особенно при взгляде на поверхность под углом.

Parallax occlusion mapping

Parallax occlusion mapping является усовершенствованной и в то же время одной из наиболее вычислительно сложных разновидностей Parallax mapping. Фактически представляет собой форму локальной трассировки лучей в пиксельном шейдере. Трассировка лучей используется для определения высот и учёта видимости текселей. Иными словами, данный метод позволяет создавать ещё большую глубину рельефа при небольших затратах полигонов и применении сложной геометрии. Недостаток метода — невысокая детализация силуэтов и граней.

Реализовать Parallax occlusion mapping возможно в рамках функциональности API DirectX 9 Shader Model 3, однако для получения оптимальной производительности видеокарта должна обеспечивать надлежащий уровень скорости исполнения ветвлений в пиксельном шейдере. На данный момент Parallax occlusion mapping используется в некоторых компьютерных играх, например, S.T.A.L.K.E.R, Crysis, Metro 2033 и ArmA 2. Также эта технология используется в популярном бенчмарке 3DMark Vantage.

Displacement mapping

Эта техника, в отличие от описанных выше, изменяет геометрию поверхности по заданной карте высот, обычно передающегося в вершинный шейдер через текстуру. Преимущество в том, что освещение считается обычным способом (пиксельный шейдер может быть практически любым), но требует высокую детализацию модели.

См. также

  • [www.ixbt.com/video/light-model-bump.html Особенности моделирования света: Рельефное текстурирование (Bump mapping)]
  • [www.ixbt.com/video2/terms2k5.shtml Современная терминология 3D-графики]

Напишите отзыв о статье "Рельефное текстурирование"

Примечания

  1. 1 2 [gameindustry.about.com/od/game-development/a/3d-Modeling-Fundamentals-Part-2.htm 3D Modeling Fundamentals — Part 2]
  2. 1 2 [tech-artists.org/wiki/Normal_Map#Tangent-Space_vs._Object-Space Normal Map — Tech Artists Wiki]

Литература

  • Buss, S.R. V.2 Bump mapping // 3D Computer Graphics: A Mathematical Introduction with OpenGL. — Cambridge University Press, 2003. — 371 p. — ISBN 9780521821032.
  • Birn, J. Digital Lighting and Rendering. — Pearson Education, 2013. — 464 p. — ISBN 9780133439175.
  • Akenine-Möller, T. and Haines, E. and Hoffman, N. Real-Time Rendering, Third Edition. — CRC Press, 2008. — 1045 p. — ISBN 9781439865293.

Отрывок, характеризующий Рельефное текстурирование

– Говорят, вы заключили мир с турками?
Балашев утвердительно наклонил голову.
– Мир заключен… – начал он. Но Наполеон не дал ему говорить. Ему, видно, нужно было говорить самому, одному, и он продолжал говорить с тем красноречием и невоздержанием раздраженности, к которому так склонны балованные люди.
– Да, я знаю, вы заключили мир с турками, не получив Молдавии и Валахии. А я бы дал вашему государю эти провинции так же, как я дал ему Финляндию. Да, – продолжал он, – я обещал и дал бы императору Александру Молдавию и Валахию, а теперь он не будет иметь этих прекрасных провинций. Он бы мог, однако, присоединить их к своей империи, и в одно царствование он бы расширил Россию от Ботнического залива до устьев Дуная. Катерина Великая не могла бы сделать более, – говорил Наполеон, все более и более разгораясь, ходя по комнате и повторяя Балашеву почти те же слова, которые ои говорил самому Александру в Тильзите. – Tout cela il l'aurait du a mon amitie… Ah! quel beau regne, quel beau regne! – повторил он несколько раз, остановился, достал золотую табакерку из кармана и жадно потянул из нее носом.
– Quel beau regne aurait pu etre celui de l'Empereur Alexandre! [Всем этим он был бы обязан моей дружбе… О, какое прекрасное царствование, какое прекрасное царствование! О, какое прекрасное царствование могло бы быть царствование императора Александра!]
Он с сожалением взглянул на Балашева, и только что Балашев хотел заметить что то, как он опять поспешно перебил его.
– Чего он мог желать и искать такого, чего бы он не нашел в моей дружбе?.. – сказал Наполеон, с недоумением пожимая плечами. – Нет, он нашел лучшим окружить себя моими врагами, и кем же? – продолжал он. – Он призвал к себе Штейнов, Армфельдов, Винцингероде, Бенигсенов, Штейн – прогнанный из своего отечества изменник, Армфельд – развратник и интриган, Винцингероде – беглый подданный Франции, Бенигсен несколько более военный, чем другие, но все таки неспособный, который ничего не умел сделать в 1807 году и который бы должен возбуждать в императоре Александре ужасные воспоминания… Положим, ежели бы они были способны, можно бы их употреблять, – продолжал Наполеон, едва успевая словом поспевать за беспрестанно возникающими соображениями, показывающими ему его правоту или силу (что в его понятии было одно и то же), – но и того нет: они не годятся ни для войны, ни для мира. Барклай, говорят, дельнее их всех; но я этого не скажу, судя по его первым движениям. А они что делают? Что делают все эти придворные! Пфуль предлагает, Армфельд спорит, Бенигсен рассматривает, а Барклай, призванный действовать, не знает, на что решиться, и время проходит. Один Багратион – военный человек. Он глуп, но у него есть опытность, глазомер и решительность… И что за роль играет ваш молодой государь в этой безобразной толпе. Они его компрометируют и на него сваливают ответственность всего совершающегося. Un souverain ne doit etre a l'armee que quand il est general, [Государь должен находиться при армии только тогда, когда он полководец,] – сказал он, очевидно, посылая эти слова прямо как вызов в лицо государя. Наполеон знал, как желал император Александр быть полководцем.
– Уже неделя, как началась кампания, и вы не сумели защитить Вильну. Вы разрезаны надвое и прогнаны из польских провинций. Ваша армия ропщет…
– Напротив, ваше величество, – сказал Балашев, едва успевавший запоминать то, что говорилось ему, и с трудом следивший за этим фейерверком слов, – войска горят желанием…
– Я все знаю, – перебил его Наполеон, – я все знаю, и знаю число ваших батальонов так же верно, как и моих. У вас нет двухсот тысяч войска, а у меня втрое столько. Даю вам честное слово, – сказал Наполеон, забывая, что это его честное слово никак не могло иметь значения, – даю вам ma parole d'honneur que j'ai cinq cent trente mille hommes de ce cote de la Vistule. [честное слово, что у меня пятьсот тридцать тысяч человек по сю сторону Вислы.] Турки вам не помощь: они никуда не годятся и доказали это, замирившись с вами. Шведы – их предопределение быть управляемыми сумасшедшими королями. Их король был безумный; они переменили его и взяли другого – Бернадота, который тотчас сошел с ума, потому что сумасшедший только, будучи шведом, может заключать союзы с Россией. – Наполеон злобно усмехнулся и опять поднес к носу табакерку.
На каждую из фраз Наполеона Балашев хотел и имел что возразить; беспрестанно он делал движение человека, желавшего сказать что то, но Наполеон перебивал его. Например, о безумии шведов Балашев хотел сказать, что Швеция есть остров, когда Россия за нее; но Наполеон сердито вскрикнул, чтобы заглушить его голос. Наполеон находился в том состоянии раздражения, в котором нужно говорить, говорить и говорить, только для того, чтобы самому себе доказать свою справедливость. Балашеву становилось тяжело: он, как посол, боялся уронить достоинство свое и чувствовал необходимость возражать; но, как человек, он сжимался нравственно перед забытьем беспричинного гнева, в котором, очевидно, находился Наполеон. Он знал, что все слова, сказанные теперь Наполеоном, не имеют значения, что он сам, когда опомнится, устыдится их. Балашев стоял, опустив глаза, глядя на движущиеся толстые ноги Наполеона, и старался избегать его взгляда.