Рендеринг (англ. rendering — «визуализация») в компьютерной графике — процесс получения изображения по модели с помощью компьютерной программы.
Здесь модель — это описание любых объектов или явлений на строго определённом языке или в виде структуры данных. Такое описание может содержать геометрические данные, положение точки наблюдателя, информацию об освещении, степени наличия какого-то вещества, напряжённость физического поля и пр.
Примером визуализации могут служить радарные космические снимки, представляющие в виде изображения данные, полученные посредством радиолокационного сканирования поверхности космического тела, в диапазоне электро-магнитных волн, невидимых человеческим глазом.
Часто в компьютерной графике (художественной и технической) под рендерингом понимают создание плоского изображения (картинки) по разработанной 3D-сцене. Изображение — это цифровое растровое изображение. Синонимом в данном контексте является Визуализация.
Визуализация — один из наиболее важных разделов в компьютерной графике, и на практике он тесным образом связан с остальными. Обычно, программные пакеты трехмерного моделирования и анимации включают в себя также и функцию рендеринга. Существуют отдельные программные продукты, выполняющие рендеринг.
В зависимости от цели, различают пре-рендеринг, как достаточно медленный процесс визуализации, применяющийся в основном при создании видео, и рендеринг в реальном режиме, применяемый в компьютерных играх. Последний часто использует 3D-ускорители.
Методы рендеринга (визуализации)
На текущий момент разработано множество алгоритмов визуализации. Существующее программное обеспечение может использовать несколько алгоритмов для получения конечного изображения.
Трассирование каждого луча света в сцене непрактично и занимает неприемлемо длительные периоды времени. Даже трассирование малого количества лучей, достаточного, чтобы получить изображение, занимает чрезмерное количество времени, если не применяется аппроксимация (семплирование).
Вследствие этого, было разработано четыре группы методов, более эффективных, чем моделирование всех лучей света, освещающих сцену:
Растеризация (англ. rasterization) и метод сканирования строк (англ. scanline rendering). Визуализация производится проецированием объектов сцены на экран без рассмотрения эффекта перспективы относительно наблюдателя.
Метод бросания лучей (англ. ray casting). Сцена рассматривается, как наблюдаемая из определённой точки. Из точки наблюдения на объекты сцены направляются лучи, с помощью которых определяется цвет пикселя на двумерном экране. При этом лучи прекращают своё распространение (в отличие от метода обратного трассирования), когда достигают любого объекта сцены либо её фона. Возможно используются какие-то очень простые техники добавления оптических эффектов или внесения эффекта перспективы.
Глобальная иллюминация (англ. global illumination, radiosity). Использует математику конечных элементов, чтобы симулировать диффузное распространение света от поверхностей и при этом достигать эффектов «мягкости» освещения.
Трассировка лучей (англ. ray tracing) похожа на метод бросания лучей. Из точки наблюдения на объекты сцены направляются лучи, с помощью которых определяется цвет пикселя на двумерном экране. Но при этом луч не прекращает своё распространение, а разделяется на три компоненты, луча, каждый из которых вносит свой вклад в цвет пикселя на двумерном экране: отражённый, теневой и преломленный. Количество таких разделений на компоненты определяет глубину трассирования и влияет на качество и фотореалистичность изображения. Благодаря своим концептуальным особенностям, метод позволяет получить очень фотореалистичные изображения, но при этом он очень ресурсоёмкий и процесс визуализации занимает значительные периоды времени.
Передовое программное обеспечение обычно совмещает в себе несколько техник, чтобы получить достаточно качественное и фотореалистичное изображение за приемлемые затраты вычислительных ресурсов.
Источник: Свободная энциклопедия Wikipedia