Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
Рендеринг реки в виртуальной реальности 2000 года
Виртуальная среда в университете Иллинойса , 2001 г.
Музыкальные визуализации создаются в реальном времени

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

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

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

Принципы трехмерной компьютерной графики в реальном времени [ править ]

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

Рендеринг ландшафта сделан в 2014 году

Графические системы реального времени должны отображать каждое изображение менее чем за 1/30 секунды. Трассировка лучей слишком медленная для этих систем; вместо этого они используют технику растеризации треугольника z-буфера . В этой технике каждый объект разбивается на отдельные примитивы, обычно треугольники. Каждый треугольник позиционируется, вращается и масштабируется на экране, а оборудование растеризатора (или программный эмулятор) генерирует пиксели внутри каждого треугольника. Затем эти треугольники разбиваются на элементарные единицы, называемые фрагментами , которые подходят для отображения на экране дисплея . Фрагменты рисуются на экране с использованием цвета, который вычисляется в несколько этапов. Например, текстураможет использоваться для «рисования» треугольника на основе сохраненного изображения, а затем отображение теней может изменять цвета этого треугольника в зависимости от прямой видимости от источников света.

Графика видеоигр [ править ]

Графика в реальном времени оптимизирует качество изображения с учетом временных и аппаратных ограничений. Графические процессоры и другие усовершенствования повысили качество изображения, которое может создавать графика в реальном времени. Графические процессоры способны обрабатывать миллионы треугольников за кадр, и текущие [ когда? ] Аппаратное обеспечение класса DirectX 11 / OpenGL 4.x способно в реальном времени генерировать сложные эффекты, такие как теневые объемы , размытие движения и создание треугольников . Развитие графики в реальном времени подтверждается прогрессивными улучшениями между реальной графикой игрового процесса и предварительно визуализированными кат - сценами, традиционно встречающимися в видеоиграх. [1]Катсцены обычно рендерится в режиме реального времени и могут быть интерактивными . [2] Хотя разрыв в качестве между графикой в ​​реальном времени и традиционной автономной графикой сокращается, автономный рендеринг остается гораздо более точным.

Преимущества [ править ]

Отслеживание всего тела и лица в реальном времени

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

В компьютерной графике в реальном времени пользователь обычно управляет устройством ввода, чтобы влиять на то, что будет нарисовано на дисплее. Например, когда пользователь хочет переместить символ на экране, система обновляет положение персонажа перед рисованием следующего кадра. Обычно время отклика дисплея намного меньше, чем у устройства ввода - это оправдано огромной разницей между (быстрым) временем отклика на движение человека и (медленной) скоростью перспективы человеческой зрительной системы . Это различие имеет и другие эффекты: поскольку устройства ввода должны быть очень быстрыми, чтобы не отставать от реакции человека на движения, усовершенствования в устройствах ввода (например, текущее [ когда? ] Wii Remote) обычно занимает гораздо больше времени, чем аналогичные достижения в устройствах отображения.

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

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

Конвейер рендеринга [ править ]

Скриншот симулятора полета

В графической визуализации трубопровода ( «рендеринг трубопровода» или просто «трубопровод») является основой реального времени графики. [4] Его основная функция - визуализировать двухмерное изображение по отношению к виртуальной камере, трехмерным объектам (объект, имеющий ширину, длину и глубину), источникам света, моделям освещения, текстурам и многому другому.

Архитектура [ править ]

Архитектуру конвейера рендеринга в реальном времени можно разделить на концептуальные этапы: приложение, геометрия и растеризация .

Стадия подачи заявки [ править ]

Этап приложения отвечает за создание «сцен» или настроек 3D, которые отображаются на 2D-дисплее. Этот этап реализован в программном обеспечении, которое разработчики оптимизируют для повышения производительности. Этот этап может выполнять обработку, такую ​​как обнаружение столкновений , методы ускорения, анимацию и обратную связь по усилию, в дополнение к обработке пользовательского ввода.

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

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

Этап геометрии [ править ]

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

Преобразование модели и вида [ править ]

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

Освещение [ править ]

Чтобы придать модели более реалистичный вид, во время трансформации обычно устанавливаются один или несколько источников света. Однако этот этап не может быть достигнут без предварительного преобразования трехмерной сцены в пространство обзора. В пространстве обзора наблюдатель (камера) обычно помещается в начало координат. Если используется правосторонняя система координат (которая считается стандартной), наблюдатель смотрит в направлении отрицательной оси z, при этом ось y указывает вверх, а ось x - вправо.

Проекция [ править ]

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

Вырезание [ править ]

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

Отображение экрана [ править ]

Цель отображения экрана - узнать координаты примитивов на этапе отсечения.

Этап растеризатора [ править ]

Этап растеризации применяет цвет и превращает графические элементы в пиксели или элементы изображения.

История [ править ]

Компьютерная анимация существует с 1940-х годов, но только в 70-х годах были внедрены 3D-методы.

Первый шаг к 3D-графике, но не к графике в реальном времени, был сделан в 1972 году Эдвином Кэтмаллом и Фредом Парком . В их реализации использовалась компьютерная рука , созданная с использованием каркасных изображений , сплошного затенения и, наконец, плавного затенения . В 72 и 74 годах Парк снимал на видео лицо женщины в оттенке Гуро , которое изменило свое выражение.

3D-графика достигла точки, когда анимированные люди выглядят почти полностью реалистично. Одно препятствие - зловещая долина . Но становится все труднее и труднее определить, является ли персонаж созданным компьютером или настоящим. Однако человеческие существа - самые сложные модели для создания фотореализма , и поэтому многие анимационные фильмы посвящены антропоморфным животным, монстрам или динозаврам. В качестве примера реалистичной человеческой анимации фильм 2007 года « Беовульф» демонстрирует трехмерную графику, которая почти обманывает человеческий глаз. Фильм создан с использованием технологии 3D- захвата движения .

См. Также [ править ]

  • Иерархия ограничивающих интервалов
  • Демосцена
  • Создание экземпляра геометрии
  • Оптическая обратная связь
  • Кварцевый композитор
  • В реальном времени (медиа)
  • Трассировка лучей в реальном времени
  • Видео арт
  • Контроллер видеодисплея

Ссылки [ править ]

  1. ^ Spraul, В. Антон (2013). Как работает программное обеспечение: магия шифрования, компьютерной графики, поисковых систем и других повседневных технологий . Пресс без крахмала. п. 86. ISBN 1593276664. Проверено 24 сентября 2017 года .
  2. ^ Вольф, Марк JP (2008). Взрыв видеоигр: история от PONG до Playstation и не только . ABC-CLIO. п. 86. ISBN 9780313338687. Проверено 24 сентября 2017 года .
  3. ^ Бирн, Джереми (2013). Цифровое освещение и рендеринг: издание 3 . Новые всадники. п. 442. ISBN. 9780133439175. Проверено 24 сентября 2017 года .
  4. ^ Akenine-Меллер, Томас; Эрик Хейнс; Нэти Хоффман (2008). Рендеринг в реальном времени, третье издание: издание 3 . CRC Press. п. 11. ISBN 9781439865293. Проверено 22 сентября 2017 года .
  5. ^ Бореско, Алексей; Евгений Шикин (2013). Компьютерная графика: от пикселей до оборудования с программируемой графикой . CRC Press. п. 5. ISBN 9781482215571. Проверено 22 сентября 2017 года .[ мертвая ссылка ]

Библиография [ править ]

  • Мёллер, Томас; Хейнс, Эрик (1999). Рендеринг в реальном времени (1-е изд.). Натик, Массачусетс: AK Peters, Ltd.
  • Сальватор, Дэйв (21 июня 2001 г.). «3D Трубопровод» . Extremetech.com . Экстремальные технологии. Архивировано из оригинального 17 мая 2008 года . Проверено 2 февраля 2007 года .
  • Мальхотра, Прия (июль 2002 г.). Вопросы, связанные с визуализацией виртуальных сред в реальном времени (магистр). Блэксбург, Вирджиния: Virginia Tech. С. 20–31 . Проверено 31 января 2007 года .
  • Хейнс, Эрик (1 февраля 2007 г.). «Ресурсы для рендеринга в реальном времени» . Проверено 12 фев 2007 .

Внешние ссылки [ править ]

  • RTR Portal - урезанный «лучший» набор ссылок на ресурсы.