Показать меню

Шэйдинг

19.12.2020
17

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

Рисование

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

Световые узоры, такие как объекты, имеющие светлые и затененные области, помогают при создании иллюзии глубины на бумаге.

Компьютерная графика

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

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

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

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

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

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

Освещение

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

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

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

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

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

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

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

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

Прожекторное освещение

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

Освещение на плоскости

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

Объемное освещение

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

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

Уменьшение расстояния

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

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

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

Этот эффект уменьшения расстояния создает изображения, которые кажутся более реалистичными.

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

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

Методы интерполяции

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

Плоскостной шэйдинг

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

Плавный шэйдинг

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

Типы плавного шэйдинга включают в себя:

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

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

    Проблемы
    • Даже гладкость, обеспечиваемая Гуро шэйдингом, не может предотвратить появление различий между смежными многоугольниками.
    • Гуро шэйдинг требует больше ресурсов процессора и может стать проблемой при рендеринге сред в реальном времени со многими многоугольниками.
    • Т-образные переходы с прилегающими многоугольниками могут иногда приводить к визуальным аномалиям. В общем, Т-образных соединений следует избегать.
    Еще по этой теме:
    TrueColor
    06:58, 17 декабрь
    TrueColor
    24-битный цвет (являющийся подмножеством TrueColor англ. «истинный цвет») в компьютерной графике — метод представления и хранения изображения, позволяющий отобразить большое количество цветов,
    Редактор уровней
    09:32, 16 декабрь
    Редактор уровней
    Редактор уровней (также известен как игровой редактор, редактор карт, кампаний или сценариев; англ. level editor) — прикладное программное обеспечение, которое используется для проектирования и
    Ноборито (станция)
    08:05, 12 декабрь
    Ноборито (станция)
    Станция Ноборито (яп. 登戸駅 ноборито эки) — железнодорожная станция на линиях Намбу и Одавара, расположенная в городе Кавасаки префектуры Канагава. Станция расположена в 17,3 километра от
    Вертикально-горизонтальная иллюзия
    05:41, 04 декабрь
    Вертикально-горизонтальная иллюзия
    Вертикально-горизонтальная иллюзия — это тенденция наблюдателей переоценивать длину вертикальной линии относительно горизонтальной линии такой же длины. Она включает отрезок, поделённый пополам,
    Представление в виде функциональной поверхности (часть 2)
    14:15, 13 март
    Представление в виде функциональной поверхности (часть 2)
    Различные методы интерполяции почти всегда будут давать различные результаты. Все методы интерполяции можно разбить на два класса: точные интерполяторы и сглаживающие интерполяторы. Некоторые
    Метод треугольной нерегулярной сети
    14:15, 13 март
    Метод треугольной нерегулярной сети
    Детерминистские методы могут быть разделены на две группы: глобальные и локальные. Глобальные методы при описании поверхности используют весь набор данных, локальные методы используют опорные точки,
    Комментарии:
    Добавить комментарий
    Ваше Имя:
    Ваш E-Mail:
    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent