Jump to content

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

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

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

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

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

Принципы компьютерной 3D-графики в реальном времени

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

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

Рендеринг местности сделан в 2014 году.

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

Графика видеоигр

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

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

Преимущества

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

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

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

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

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

Конвейер рендеринга

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

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

Архитектура

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

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

Этап подачи заявки

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

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

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

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

Этап геометрии

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

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

Преобразование модели и представления

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

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

Освещение

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

Чтобы придать модели более реалистичный вид, при трансформации обычно устанавливают один или несколько источников света. Однако этого этапа невозможно достичь без предварительного преобразования 3D-сцены в пространство просмотра. В пространстве обзора наблюдатель (камера) обычно располагается в начале координат. При использовании правосторонней системы координат (которая считается стандартной) наблюдатель смотрит в направлении отрицательной оси Z, причем ось Y направлена ​​вверх, а ось X — вправо.

Проекция

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

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

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

Отображение экрана

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

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

Этап растеризации

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

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

См. также

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

Библиография

[ редактировать ]
[ редактировать ]
  • Портал РТР - урезанный «лучший» набор ссылок на ресурсы.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: ef27f1cab42e8a1380999c83b09c4431__1714469220
URL1:https://arc.ask3.ru/arc/aa/ef/31/ef27f1cab42e8a1380999c83b09c4431.html
Заголовок, (Title) документа по адресу, URL1:
Real-time computer graphics - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)