Jump to content

Затенение

(Перенаправлено из Плавное затенение )
Плоская штриховка описывает ряд простых приемов освещения. При этом значение освещенности определяется один раз для каждой грани. Значение цвета также можно определить для каждого объекта или вершины.
Затенение Гуро (1971) улучшило внешний вид изогнутых объектов.
затенения Фонга Интерполяция — это более реалистичная техника затенения, разработанная Буй Туонг Фонгом в 1973 году.

Затенение относится к изображению восприятия глубины в 3D-моделях (в области 3D-компьютерной графики ) или иллюстрациях изобразительном искусстве ) путем изменения уровня темноты . [ 1 ] Затенение пытается аппроксимировать локальное поведение света на поверхности объекта, и его не следует путать с методами добавления теней, такими как наложение теней или объемы теней , которые подпадают под глобальное поведение света.

В рисунке

[ редактировать ]

Штриховка традиционно используется в рисовании для изображения темных участков путем нанесения носителя более плотно или с более темным оттенком для более темных областей и менее густо или с более светлым оттенком для более светлых областей. Световые узоры, например объекты, имеющие светлые и затененные области, помогают создать на бумаге иллюзию глубины. [ 2 ] [ 3 ]

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

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

В компьютерной графике

[ редактировать ]
Изображение сферы
Затенение Гуро , разработанное Анри Гуро в 1971 году, было одним из первых методов затенения, разработанных для 3D-компьютерной графики .
Изображение шестнадцати веревочных узлов
Узел, окрашенный различными материалами, включая алюминий, латунь, бронзу, медь, электрум, золото, железо, олово, серебро, глину, фольгу, глазурь, пластик, резину, атлас и бархат. создано в Mathematica 13.1

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

Затенение выполняется в процессе рендеринга программой, называемой шейдером .

Угол поверхности к источнику света

[ редактировать ]

Затенение изменяет цвета граней в 3D-модели в зависимости от угла поверхности к источнику света или источникам света.

На первом изображении ниже показаны грани коробки, но все они одного цвета. Здесь также визуализируются краевые линии, что облегчает просмотр изображения.

Второе изображение — та же модель, но без краевых линий. Трудно сказать, где заканчивается одна грань коробки и начинается следующая.

На третьем изображении включена затенение, что делает изображение более реалистичным и позволяет легче увидеть, какое лицо какое.

Отрисованное изображение коробки. На гранях этого изображения нет затенения, вместо этого используются краевые линии (также известные как каркас ) для разделения граней и более жирный контур для отделения объекта от фона.
Это то же изображение с удаленными линиями; объекта Единственным показателем внутренней геометрии являются точки силуэта .
Это тот же объект, визуализированный с плоской заливкой . Цвет трех видимых передних граней был установлен на основе их угла (определяемого вектором нормали ) к источникам света.

Виды освещения

[ редактировать ]
Эффекты затенения от прожектора с использованием трассировки лучей

Когда шейдер вычисляет итоговый цвет, он использует модель освещения , чтобы определить количество света, отраженного в определенных точках поверхности. Различные модели освещения можно комбинировать с разными методами затенения — хотя освещение говорит о том, сколько света отражается, затенение определяет, как эта информация используется для расчета конечного результата. Например, он может рассчитывать освещение только в определенных точках и использовать интерполяцию для заполнения остальных. Шейдер также может решить, сколько источников света учитывать и т. д.

Окружающее освещение

[ редактировать ]

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

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

Точечное освещение

[ редактировать ]

Свет исходит из одной точки и распространяется во всех направлениях.

Прожектор

[ редактировать ]

Моделирует прожектор : свет исходит из одной точки и распространяется конусом наружу .

Освещение территории

[ редактировать ]

Свет исходит из небольшой области в одной плоскости . (Более реалистичная модель, чем точечный источник света.)

Направленное освещение

[ редактировать ]

Направленный источник света одинаково освещает все объекты с заданного направления , как источник света бесконечного размера и на бесконечном расстоянии от сцены; затенение есть, но спада по расстоянию быть не может. Это похоже на солнце .

Спад расстояния

[ редактировать ]
Два блока, визуализированные с помощью OpenGL (обратите внимание, что цвет двух передних граней одинаковый, даже если один из них находится дальше.)
Та же модель, визуализированная с использованием ARRIS CAD , которая реализует затухание расстояния , чтобы сделать поверхности, находящиеся ближе к глазу, ярче.

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

На левом изображении не используется спад расстояния. Обратите внимание, что цвета на лицевой стороне двух коробок совершенно одинаковы. Может показаться, что существует небольшая разница в том месте, где две грани непосредственно перекрываются, но это оптическая иллюзия, вызванная вертикальным краем ниже места встречи двух граней.

На правом изображении используется спад расстояния. Обратите внимание, что передняя поверхность коробки доводчика ярче, чем передняя поверхность задней коробки. Кроме того, по мере удаления пол меняется от светлого к темному.

Спад расстояния можно рассчитать несколькими способами:

  • Мощность расстояния . Для данной точки на расстоянии x от источника света полученная интенсивность света пропорциональна 1/ x. н .
    • Нет ( n = 0 ) — интенсивность получаемого света одинакова независимо от расстояния между точкой и источником света.
    • Линейный ( n = 1 ) — для данной точки на расстоянии x от источника света полученная интенсивность света пропорциональна 1/ x .
    • Квадратичный ( n = 2 ) — так интенсивность света уменьшается в реальности, если свет имеет свободный путь (т. е. нет тумана в воздухе или чего-либо другого, что может поглощать или рассеивать свет). Для данной точки на расстоянии x от источника света интенсивность получаемого света пропорциональна 1/ x 2 .
  • Также может быть использовано любое количество других математических функций .

Техники затенения

[ редактировать ]

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

Плоская штриховка

[ редактировать ]
Плоское затенение текстурированного кубоида
графический комплекс морской ракушки с плоской штриховкой, смоделированный в системе Mathematica
Графический комплекс морской ракушки с плоской штриховкой, смоделированный в системе Mathematica.

Здесь освещение оценивается только один раз для каждого многоугольника (обычно для первой вершины в многоугольнике, но иногда и для центроида для треугольных сеток), на основе нормали к поверхности многоугольника и в предположении, что все многоугольники плоские. Вычисленный цвет используется для всего многоугольника, благодаря чему углы выглядят острыми. Обычно это используется, когда более продвинутые методы затенения слишком затратны в вычислительном отношении. Зеркальные блики плохо визуализируются при плоской штриховке: если в репрезентативной вершине имеется большой зеркальный компонент, эта яркость прорисовывается равномерно по всему лицу. Если зеркальный свет не попадает на репрезентативную точку, он полностью пропускается. Следовательно, компонент зеркального отражения обычно не включается в расчет плоского затенения.

Плавное затенение

[ редактировать ]

В отличие от плоского затенения, при котором цвета меняются прерывисто на границах полигонов, при плавном затенении цвет меняется от пикселя к пикселю, что приводит к плавному переходу цвета между двумя соседними полигонами. Обычно значения сначала вычисляются в вершинах, а билинейная интерполяция для расчета значений пикселей между вершинами многоугольников используется . Типы плавной штриховки включают штриховку Гуро. [ 4 ] и затенение Фонга . [ 5 ]

Растушевка по Гуро
[ редактировать ]
  1. Определите нормаль в каждой вершине многоугольника.
  2. Примените модель освещения к каждой вершине, чтобы вычислить интенсивность света по нормали вершины.
  3. Интерполируйте интенсивности вершин с помощью билинейной интерполяции по поверхностному многоугольнику.

Проблемы:

  • Из-за того, что освещение вычисляется только в вершинах, неточности (особенно в случае зеркальных бликов на больших треугольниках) могут стать слишком очевидными.
  • Т-образные соединения с прилегающими многоугольниками иногда могут приводить к визуальным аномалиям. В общем, следует избегать Т-образных соединений.
Затенение Фонга
[ редактировать ]

Затенение Фонга похоже на затенение Гуро, за исключением того, что вместо интерполяции интенсивности света нормали интерполируются между вершинами, а освещение оценивается попиксельно. Таким образом, зеркальные блики вычисляются гораздо точнее, чем в модели затенения Гуро.

  1. Вычислите нормальное N для каждой вершины многоугольника.
  2. Используя билинейную интерполяцию, вычислите нормаль N i для каждого пикселя. (Нормальное значение каждый раз приходится перенормировать.)
  3. Примените модель освещения к каждому пикселю, чтобы вычислить интенсивность света от N i .

Отложенное затенение

[ редактировать ]

Отложенное затенение — это метод затенения, при котором вычисление затенения откладывается на более поздний этап путем рендеринга в два прохода, что потенциально повышает производительность за счет не отбрасывания дорогостоящих затененных пикселей. Первый проход фиксирует только параметры поверхности (такие как глубина, нормали и параметры материала), второй выполняет фактическое затенение и вычисляет окончательные цвета. [ 6 ] [ 7 ] [ 8 ] : 884 

Другие подходы
[ редактировать ]

И затенение Гуро , и затенение Фонга могут быть реализованы с использованием билинейной интерполяции . Бишоп и Веймер [ 9 ] предложил использовать в ряд Тейлора разложение полученного выражения в результате применения модели освещения и билинейной интерполяции нормалей. второй степени полиномиальная интерполяция Следовательно, использовалась . Этот тип биквадратной интерполяции был дополнительно развит Баррерой и др., [ 10 ] где один полином второго порядка использовался для интерполяции рассеянного света модели отражения Фонга , а другой полином второго порядка использовался для зеркального света.

Сферическая линейная интерполяция ( Slerp ) использовалась Куиджем и Блейком. [ 11 ] для вычисления как нормали к многоугольнику, так и вектора по направлению к источнику света. Похожий подход был предложен Хастом. [ 12 ] который использует кватернионную интерполяцию нормалей с тем преимуществом, что нормаль всегда будет иметь единичную длину и позволяет избежать сложной в вычислительном отношении нормализации.

Плоская и плавная штриховка

[ редактировать ]
Плоский Гладкий
Использует один и тот же цвет для каждого пикселя грани — обычно цвет первой вершины. Плавное затенение использует линейную интерполяцию цветов или нормалей между вершинами.
Края кажутся более выраженными, чем на реальном объекте, потому что на самом деле почти все края несколько закруглены. Края исчезают с помощью этой техники.
Одинаковый цвет для любой точки лица Каждая точка лица имеет свой цвет
Отдельные лица визуализируются подстилающая поверхность визуализируется
Не подходит для гладких предметов. Подходит для любых объектов
Меньше вычислительных затрат Более затратный в вычислительном отношении

Компьютерное зрение

[ редактировать ]
Реконструкция " Форма из штриховки "

В компьютерном зрении некоторые методы 3D-реконструкции основаны на затенении или форме из затенения . На основе затенения изображения трехмерную модель можно восстановить по одной фотографии. [ 13 ]

См. также

[ редактировать ]
  1. ^ «Графика: Шейдинг» . hexianghu.com . Проверено 10 сентября 2019 г.
  2. ^ «Техника рисования» . Рисование с уверенностью. Архивировано из оригинала 24 ноября 2012 года . Проверено 19 сентября 2012 г.
  3. ^ «Урок по штриховке. Как растушевывать рисунок» . Dueysdrawings.com. 21 июня 2007 г. Проверено 11 февраля 2012 г.
  4. ^ Гуро, Анри (1971). «Сплошное затенение изогнутых поверхностей». Транзакции IEEE на компьютерах . С-20 (6): 623–629. дои : 10.1109/TC.1971.223313 . S2CID   123827991 .
  5. ^ Б.Т. Фонг, Освещение для компьютерных изображений , Communications of ACM 18 (1975), вып. 6, 311–317. ( PDF )
  6. ^ «Прямой рендеринг против отложенного рендеринга» .
  7. ^ «ИзучениеOpenGL — отложенное затенение» .
  8. ^ Акенине-Мёллер, Томас; Хейнс, Эрик; Хоффман, Нати (2018). Рендеринг в реальном времени (Четвертое изд.). ISBN  978-1-1386-2700-0 .
  9. ^ Гэри Бишоп и Дэвид М. Веймер. 1986. Быстрое затенение Фонга. СИГРАФ Компьютер. График . 20, 4 (август 1986 г.), 103–106.
  10. ^ Т. Баррера, А. Хаст, Э. Бенгтссон. Программное обеспечение быстрого шейдинга почти фонг-качества . WSCG'06 , стр. 109–116. 2006 г.
  11. ^ Куйк, ААМ и Э. Х. Блейк, Быстрое затенение Фонга посредством угловой интерполяции . Форум компьютерной графики 8 (4): 315–324. 1989 ( PDF )
  12. ^ А. Хаст. Затенение с помощью кватернионной интерполяции . WSCG'05 . стр. 53–56. 2005.
  13. ^ Хорн, Бертольд К.П. « Форма из затенения: метод получения формы гладкого непрозрачного объекта с одного взгляда ». (1970). ( PDF )

Дальнейшее чтение

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 7f6bc65b06f88c66cc9ec29c96cb6335__1721209200
URL1:https://arc.ask3.ru/arc/aa/7f/35/7f6bc65b06f88c66cc9ec29c96cb6335.html
Заголовок, (Title) документа по адресу, URL1:
Shading - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)