Аналитическая часть 1 Основные понятия трехмерной графики 9



бет6/7
Дата01.10.2022
өлшемі4,95 Mb.
#41069
1   2   3   4   5   6   7





1.6 Понятие о рендеринге


Ре́ндеринг или отрисо́вка (англ. rendering — «визуализация») — термин в компьютерной графике, обозначающий процесс получения изображения по модели с помощью компьютерной программы.
Здесь модель — это описание любых объектов или явлений на строго определённом языке или в виде структуры данных. Такое описание может содержать геометрические данные, положение точки наблюдателя, информацию об освещении, степени наличия какого-то вещества, напряжённость физического поля и пр.
Примером визуализации могут служить радарные космические снимки, представляющие в виде изображения данные, полученные посредством радиолокационного сканирования поверхности космического тела, в диапазоне электромагнитных волн, невидимых человеческим глазом.
Часто в компьютерной графике (художественной и технической) под рендерингом (3D-рендерингом) понимают создание плоской картинки — цифрового растрового изображения — по разработанной 3D-сцене. Синонимом в данном контексте является визуализация.
Визуализация — один из наиболее важных разделов в компьютерной графике, и на практике он тесным образом связан с остальными. Обычно программные пакеты трёхмерного моделирования и анимации включают в себя также и функцию рендеринга. Существуют отдельные программные продукты, выполняющие рендеринг.
В зависимости от цели, различают рендеринг, как достаточно медленный процесс визуализации, применяющийся в основном при создании видео, например в Vegas Pro, и рендеринг в режиме реального времени, например, в компьютерных играх. Последний часто использует 3D-ускорители.

Методы рендеринга.


На текущий момент разработано множество алгоритмов визуализации. Существующее программное обеспечение может использовать несколько алгоритмов для получения конечного изображения.
Трассирование каждого луча света в сцене непрактично и занимает неприемлемо долгое время. Даже трассирование малого количества лучей, достаточного, чтобы получить изображение, занимает чрезмерно много времени, если не применяется аппроксимация (семплирование).
Вследствие этого, было разработано четыре группы методов, более эффективных, чем моделирование всех лучей света, освещающих сцену:
Растеризация (англ. rasterization) совместно с методом сканирования строк (Scanline rendering (англ.)). Визуализация производится проецированием объектов сцены на экран без рассмотрения эффекта перспективы относительно наблюдателя.
Ray casting (рейкастинг) (англ. ray casting). Сцена рассматривается, как наблюдаемая из определённой точки. Из точки наблюдения на объекты сцены направляются лучи, с помощью которых определяется цвет пиксела на двумерном экране. При этом лучи прекращают своё распространение (в отличие от метода обратного трассирования), когда достигают любого объекта сцены либо её фона. Возможно использование каких-либо очень простых способов добавления оптических эффектов. Эффект перспективы получается естественным образом в случае, когда бросаемые лучи запускаются под углом, зависящим от положения пикселя на экране и максимального угла обзора камеры. Трассировка лучей (англ. ray tracing) похожа на метод бросания лучей. Из точки наблюдения на объекты сцены направляются лучи, с помощью которых определяется цвет пиксела на двумерном экране. Но при этом луч не прекращает своё распространение, а разделяется на три луча-компонента, каждый из которых вносит свой вклад в цвет пикселя на двумерном экране: отражённый, теневой и преломлённый. Количество таких компонентов определяет глубину трассировки и влияет на качество и фотореалистичность изображения. Благодаря своим концептуальным особенностям, метод позволяет получить очень фотореалистичные изображения, однако из-за большой ресурсоёмкости процесс визуализации занимает значительное время. Трассировка пути (англ. path tracing) использует похожий принцип трассировки распространения лучей, однако этот метод является наиболее приближённым к физическим законам распространения света. Также является самым ресурсоёмким. Передовое программное обеспечение обычно совмещает в себе несколько техник, чтобы получить достаточно качественное и фотореалистичное изображение за приемлемые затраты вычислительных ресурсов.

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


Достарыңызбен бөлісу:
1   2   3   4   5   6   7




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет