stringtranslate.com

Самозатенение

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

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

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

Методы

Самозатенение поля высоты

Была создана техника, в которой тень на неровной поверхности может быть быстро рассчитана путем нахождения высоких точек вдоль источника света и игнорирования любых других геометрических точек под вершинами. Представьте себе восход солнца в горах, где свет падает на вершину позади вас, но вы все еще в темноте. Компьютеру не нужно беспокоиться о том, что вам нужна тень или свет, поскольку вы находитесь ниже вершины позади вас. «Height Field Self-Shadowing» визуализирует собственные тени на динамических полях высоты в динамических световых средах в реальном времени. [1]

3D Волосы

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

Объем тени

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

Карты теней

3D- картирование теней — еще один метод, который создает приблизительные тени из заданного положения, создавая очень размытые тени, которые могут быть не совсем точными.

Нормальное отображение радиосити

Крис Грин из Valve , создателя видеоигр , говорит, что данные карты рельефа выводятся из геометрических описаний поверхности объектов, существенные световые сигналы из-за окклюзии освещения деталями поверхности не рассчитываются. [3] Распространенным решением является использование дополнительного канала текстуры для создания поля окклюзии окружающего света . Это обеспечивает только эффект затемнения, который не связан с направлением источника света, действующего на поверхность. [3]

История

Теневой объем был предложен Фрэнком Кроу в 1977 году. [4] Преимущество теневого объема состояло в том, что его можно было использовать для затенения всего, включая самого себя.

Смотрите также

Ссылки

  1. ^ Тимонен, В. и Вестерхолм, Дж. (2010). Масштабируемое самозатенение поля высоты. Computer Graphics Forum, 29(2), 723-731. doi :10.1111/j.1467-8659.2009.01642.x
  2. ^ Bertails, F., Ménier, C., & Cani, M.-P. (2005, май). Практический алгоритм самозатенения для интерактивной анимации волос . ( PDF )
  3. ^ ab Green, Chris. "Эффективное самозатеняющееся отображение нормалей Radiosity" (PDF) . valvesoftware.com . Архивировано из оригинала ( PDF ) 16 марта 2015 г.
  4. ^ Кроу, Франклин С.: «Теневые алгоритмы для компьютерной графики», Компьютерная графика (Труды SIGGRAPH '77) , т. 11, № 2, 242-248.