WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

Отложенное освещение и затенение, отложенный рендеринг (англ. deferred shading) — программная техника (методика) в трёхмерной компьютерной графике, которая обрабатывает освещение и затенение визуальной сцены. В результате работы алгоритма отложенного освещения и затенения процесс вычисления разбивается на меньшие части, которые записываются в промежуточную буферную память и объединяются потом. Главным отличием отложенного освещения и затенения от стандартных методов освещения является то, что эти методы немедленно записывают результат работы шейдера во фреймбуфер цвета. Реализации в современных аппаратных средствах по обработке графики имеют тенденцию использовать множественные цели рендеринга (англ. multiple render targets — MRT) для избежания избыточных трансформаций вершин. Обычно, как только построены все необходимые буферы, они затем считываются (обычно как вводная текстура) из шейдерного алгоритма (например, уравнение освещения) и объединяются для создания результата. В этом случае вычислительная сложность и полоса пропускания памяти, необходимые для рендеринга сцены, уменьшаются до видимых частей, таким образом уменьшая сложность освещаемой сцены.

Первичным преимуществом отложенного рендеринга является совместимость с «грубым» и «ранним» тестированием Z-буфера, другие преимущества ещё не исследованы в должной степени. Эти преимущества могут включать более простое управление сложными ресурсами освещения, лёгкость управления другими сложными шейдерными ресурсами и упрощение программного конвейера визуализации.

Одним из ключевых недостатков техники отложенного рендеринга является неспособность обработать прозрачность в пределах алгоритма, хотя эта проблема является общей и для Z-буферизации; выходом из этой проблемы является задерживание и сортировка рендеринга прозрачных частей сцены[1]. Другое решение — использование вычислительных шейдеров Direct3D 11/OpenGL 4.3 для реализации алгоритма Order independent transparency.

Другим довольно важным недостатком отложенного рендеринга является несовместимость со сглаживанием. Так как стадия освещения отделена от стадии геометрии, то аппаратный анти-алиасинг не приводит к правильным результатам. Хотя первый проход, используемый при рендеринге базовых свойств (диффузная обработка, карта высот), может использовать сглаживание, к полному освещению сглаживание неприменимо. Одной из типичных методик для преодоления этого ограничения является метод выделения границ (en:edge detection) финального изображения и затем применения размытия к граням (границам)[2]. Однако этот недостаток был актуален для Direct3D 9. В более поздних версиях появилась возможность читать и писать отдельные семплы MSAA-текстур (Render targets — в Direct3D 10, буферы глубины — в Direct3D 10.1) Это позволило разработчикам реализовывать свои алгоритмы MSAA для отложенного освещения. Примерами игр с отложенным освещением и поддержкой MSAA являются Battlefield 3, Crysis 3, Grand Theft Auto V.

Методика отложенного рендеринга всё более часто используется в компьютерных играх, так как допускает использование неограниченного количества источников света и уменьшает сложность необходимых шейдерных инструкций. В частности, «Advanced Technology Group», команда специалистов компании Sony Computer Entertainment, исследовала эту область и помогает разработчикам встраивать эту технологию в графические движки. PhyreEngine, бесплатный графический движок разработки Sony Computer Entertainment, имеет поддержку отложенного освещения и затенения. Примерами игр, использующих отложенный рендеринг и разработку которых поддержала Sony Computer Entertainment, являются Killzone 2 разработки Guerrilla Games, LittleBigPlanet разработки Media Molecule и inFamous разработки Sucker Punch Productions. К играм, использующим отложенный рендеринг, но в разработке которых Sony не принимала участие, являются серия игр S.T.A.L.K.E.R. разработки GSC Game World, Dead Space разработки Electronic Arts[3] и Tabula Rasa разработки NCSoft[4]. Технология отложенного освещения и затенения используется в игровом движке CryEngine 3 разработки Crytek.

История

Идея отложенного освещения и затенения изначально была представлена Майклом Дирингом (en:Michael Deering) и его коллегами[5] в работе под названием «The triangle processor and normal vector shader: a VLSI system for high performance graphics», опубликованной в 1988 году[6]. Хотя в работе нигде не используется слово «отложенный», концепция, представленная там, только недавно нашла практическое применение в таких приложениях, как компьютерные игры[7].

Примечания

  1. NVIDIA SDK 9.51 - Featured Code Samples. NVIDIA (17 января 2007). Проверено 28 марта 2007. Архивировано 29 марта 2012 года.
  2. Deferred shading tutorial (недоступная ссылка). Pontifical Catholic University of Rio de Janeiro. Проверено 14 февраля 2008. Архивировано 29 марта 2012 года.
  3. Dead Space by Electronic Arts. NVIDIA. Проверено 14 февраля 2008. Архивировано 29 марта 2012 года.
  4. Deferred shading in Tabula Rasa. NVIDIA. Проверено 14 февраля 2008. Архивировано 29 марта 2012 года.
  5. Deering, Michael; Stephanie Winner, Bic Schediwy, Chris Duffy, Neil Hunt. “The triangle processor and normal vector shader: a VLSI system for high performance graphics”. ACM SIGGRAPH Computer Graphics. ACM Press. 22 (4): 21—30. Используется устаревший параметр |coauthors= (справка)
  6. Deferred Shading (PDF). NVIDIA. Проверено 28 марта 2007. Архивировано 29 марта 2012 года.
  7. Klint, Josh. “Deferred Rendering in Leadwerks Engine” (PDF). Неизвестный параметр |Publisher= (предлагается |publisher=) (справка на английском)

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

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

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии