Эта статья требует дополнительных ссылок для проверки . ( сентябрь 2018 г. ) |
Трехмерная (3D) компьютерная графика |
---|
Основы |
Основное использование |
похожие темы |
3D-рендеринг - это процесс компьютерной 3D-графики преобразования 3D-моделей в 2D-изображения на компьютере . 3D-рендеринг может включать фотореалистичные эффекты или нефотореалистичные стили .
Рендеринг - это заключительный процесс создания фактического 2D-изображения или анимации из подготовленной сцены. Это можно сравнить с фотографированием или съемкой сцены после завершения настройки в реальной жизни. [1] Было разработано несколько различных и часто специализированных методов визуализации. Они варьируются от явно нереалистичного каркасного рендеринга через рендеринг на основе многоугольников до более продвинутых методов, таких как рендеринг строк развертки , трассировка лучей или излучение . Рендеринг может занять от долей секунды до дней для одного изображения / кадра. В общем, разные методы лучше подходят как для фотореалистичного рендеринга, так и для рендеринга в реальном времени.. [2]
Рендеринг для интерактивных медиа, таких как игры и симуляторы, рассчитывается и отображается в реальном времени со скоростью примерно от 20 до 120 кадров в секунду. При рендеринге в реальном времени цель состоит в том, чтобы показать как можно больше информации, которую глаз может обработать за доли секунды (также известный как «в одном кадре»: в случае анимации с частотой 30 кадров в секунду, кадр охватывает одну 30-ю долю секунды).
Основная цель - достичь максимально возможной степени фотореализма при приемлемой минимальной скорости рендеринга (обычно 24 кадра в секунду, поскольку это минимум, который нужно видеть человеческому глазу, чтобы успешно создать иллюзию движения). Фактически, эксплуатации могут быть применены к тому, как глаз «воспринимает» мир, и в результате окончательное представленное изображение не обязательно является изображением реального мира, но достаточно близким, чтобы человеческий глаз мог его выдержать.
Программное обеспечение для рендеринга может имитировать такие визуальные эффекты, как блики линз , глубину резкости или размытость при движении . Это попытки смоделировать визуальные явления, обусловленные оптическими характеристиками фотоаппаратов и человеческого глаза. Эти эффекты могут придать сцене элемент реализма, даже если эффект представляет собой просто смоделированный артефакт камеры. Это основной метод, используемый в играх, интерактивных мирах и VRML .
Быстрое увеличение вычислительной мощности компьютера позволило добиться более высокой степени реализма даже для рендеринга в реальном времени, включая такие методы, как рендеринг HDR . Рендеринг в реальном времени часто бывает многоугольным и поддерживается графическим процессором компьютера . [3]
Анимация для неинтерактивных медиа, таких как художественные фильмы и видео, может занять гораздо больше времени для рендеринга. [4] Рендеринг не в реальном времени позволяет использовать ограниченную вычислительную мощность для получения более высокого качества изображения. Время рендеринга отдельных кадров может варьироваться от нескольких секунд до нескольких дней для сложных сцен. Визуализированные кадры сохраняются на жестком диске , а затем передаются на другие носители, такие как кинофильм или оптический диск. Затем эти кадры отображаются последовательно с высокой частотой кадров, обычно 24, 25 или 30 кадров в секунду (fps), чтобы добиться иллюзии движения.
Когда целью является фотореализм, используются такие методы, как трассировка лучей , трассировка пути , фотонное картирование или излучение . Это основной метод, используемый в цифровых медиа и художественных произведениях. Были разработаны методы моделирования других естественных эффектов, таких как взаимодействие света с различными формами материи. Примеры таких методов включают системы частиц (которые могут имитировать дождь, дым или огонь), объемный отбор проб (для имитации тумана, пыли и других пространственных атмосферных эффектов), каустики.(для имитации фокусировки света неровными светопреломляющими поверхностями, такими как световая рябь на дне бассейна) и подповерхностное рассеяние (для имитации света, отражающегося внутри объемов твердых объектов, таких как человеческая кожа ).
Процесс рендеринга требует больших вычислительных ресурсов, учитывая сложное разнообразие моделируемых физических процессов. С годами вычислительная мощность компьютера стремительно росла, что позволяет добиться более высокой степени реалистичности рендеринга. Киностудии, производящие компьютерную анимацию, обычно используют рендер-ферму для своевременной генерации изображений. Однако снижение затрат на оборудование означает, что вполне возможно создавать небольшие объемы 3D-анимации на домашней компьютерной системе с учетом затрат, связанных с использованием ферм рендеринга. [5] Выходные данные средства визуализации часто используются как только одна небольшая часть завершенной сцены движущегося изображения. Многие слои материала можно рендерить отдельно и интегрировать в финальный снимок с помощью композитинга. программное обеспечение.
Модели отражения / рассеяния и затенения используются для описания внешнего вида поверхности. Хотя эти проблемы могут показаться проблемами сами по себе, они изучаются почти исключительно в контексте рендеринга. Современная трехмерная компьютерная графика в значительной степени полагается на упрощенную модель отражения, называемую моделью отражения Фонга (не путать с затенением Фонга ). При преломлении света важным понятием является показатель преломления ; в большинстве реализаций 3D-программирования термин для этого значения - «показатель преломления» (обычно сокращается до IOR).
Затенение можно разделить на два разных метода, которые часто изучаются независимо:
Популярные алгоритмы затенения поверхностей в компьютерной 3D-графике включают:
Отражение или рассеяние - это отношение между входящим и исходящим освещением в данной точке. Описание рассеяния обычно дается в терминах функции распределения двунаправленного рассеяния или BSDF. [6]
Затенение определяет, как различные типы рассеяния распределяются по поверхности (т. Е. Какая функция рассеяния и где применяется). Подобные описания обычно выражаются с помощью программы, называемой шейдером . [7] Простым примером затенения является наложение текстуры , которое использует изображение для определения диффузного цвета в каждой точке поверхности, придавая ей более очевидные детали.
Некоторые техники затенения включают:
Транспорт описывает, как освещение в сцене передается из одного места в другое. Видимость - важная составляющая легкового транспорта.
Затененные трехмерные объекты должны быть сглажены, чтобы устройство отображения, а именно монитор, могло отображать их только в двух измерениях, этот процесс называется трехмерной проекцией . Это делается с помощью проекции и, для большинства приложений, перспективной проекции . Основная идея перспективной проекции заключается в том, что объекты, которые находятся дальше, уменьшаются по сравнению с теми, которые находятся ближе к глазу. Программы создают перспективу, умножая постоянную растяжения, возведенную в степень отрицания расстояния от наблюдателя. Константа расширения, равная единице, означает, что перспективы нет. Высокие константы расширения могут вызвать эффект «рыбьего глаза», при котором начинает происходить искажение изображения. Ортографическая проекция используется в основном в САПР.или приложения CAM, где научное моделирование требует точных измерений и сохранения третьего измерения.
Механизмы рендеринга могут объединяться или интегрироваться с программным обеспечением для 3D-моделирования, но есть и отдельное программное обеспечение. Некоторые движки рендеринга совместимы с несколькими программами 3D, а некоторые - только с одним.