Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Рендеринг
Rendering — окончательная компиляция изображения. На этапе рендеринга, выполняемого 3D-акселератором, осуществляется построение растрового изображения (пикселей). Узкое место — доступ к памяти (необходимо быстро считывать пиксели и передавать в буфер кадра/экрана). Изображение каждого кадра (сцены) составляют тысячи многоугольников и они должны быть обновлены и переданы через память, по крайней мере 30 раз в секунду, чтобы создать иллюзию движения. Из буфера кадры передаются в RAMDAC (ЦАП) и преобразуются в аналоговый сигнал для монитора. Процесс рендеринга предполагает использование различных 3D-методов: • текстурирование, отображение текстур (texture mapping) – технология детализации 3D-изображения, которая лучше всего может быть представлена как обтягивание некоего трехмерного каркаса окрашенной бумагой (конечно, двумерной). Это трудоемкий процесс, который должен быть выполнен не только для каждого пикселя изображения, но и для каждого элемента текстуры (текселя, texel). Могут использоваться разные текстуры (мультитекстурирование, multitexturing); • сжатое текстурирование (mip mapping, mip-отображение) — форма сокращения объема данных, при которой создается большее количество текселей, без выполнения эквивалентного необходимого числа вычислений. Если сжатие составляет 1: 4, то считывание одного текселя эквивалентно передаче четырех текселей первоначальной структуры. Если использованы надлежащие фильтры, качество изображения может даже повыситься, поскольку при этом сглаживаются зубчатые грани; • билинейная фильтрация (bi-linear filtering) — считывание четверок текселей, усреднение их характеристик и использование представленного результата как единственного текселя. В результате выравнивается фактура близлежащих участков, изображение сглаживается и уменьшается пикселизация (blocky, pixelated appearance). Билинейная фильтрация является в настоящее время стандартом для большинства графических карт; • Z-буферизация (Z-buffering) — метод вычисления пикселей, которые следует загрузить в буфер экрана (память, хранящая данные, которые должны быть немедленно выведены). Обычные 3D-акселераторы берут один пиксель, рассчитывают его и переходят к следующему. Проблема состоит в том, что акселератор не имеет возможностей «узнать», Должен ли рассчитываемый пиксель быть показан немедленно или же позже. Z-буферизация вычисляет и приписывает каждому пикселю некоторый вес «Z». Чем меньше значение Z, тем раньше данный пиксель должен быть выведен на экран; • сглаживание (anti-aliasing) — технология снижения «шумов», присутствующих в изображении. Например, если объект находится в движении, необходим большой информационный поток, отражающий изменение положения, Цвета, размера и т. д. Иногда процессор не успевает обработать всю информацию и тогда некоторые места заполня-ются бессмысленным шумом. Сглаживание наряду mip-отображением удаляет этот шум; • закраска/штриховка Гуро (Gouraud shading) применяет тени к поверхности объектов, заставляет их выглядеть более объемно. Алгоритм определяет цвета смежных многоугольников и вычисляет гладкий переход между ними, что гарантирует отсутствие резких цветовых переходов в окраске объекта; • отображение выпуклостей/неровностей (bump mapping) создает иллюзию объемных углублений на плоской поверхности (шершавые стены, бурное море и пр.). Моделирование эффектов в рендеринге. Рендеринг является одной из важнейших дисциплин трехмерной компьютерной графики. В графическом конвейере — последний важный шаг, дающий окончательное представление модели или анимации. Используется в компьютерных и видеоиграх, тренажерах, спецэффектах кино и телевидения, системах автоматизации проектирования (САПР), в каждом случае — на основе специфических технологий и методик. Доступен широкий спектр программных продуктов-рендеров (renderers) — либо встроенных в большие программы моделирования/анимации, либо отдельные проекты. По своей внутренней структуре, рендерер — тщательно проработанная программа, основанная на широком спектре научных дисциплин, которые связаны с физикой, оптикой, теорией визуального восприятия, математикой и программированием. Построенное изображение может иметь множество видимых особенностей и эффектов. Исследования и разработки в области рендеринга в основном мотивировались необходимостью их моделирования — некоторых отдельными алгоритмами и методами, а других — в комплексе. В табл. 3.9 приведены основные эффекты и особенности, моделируемые в процессе рендеринга. Были исследованы многие алгоритмы рендеринга, и разработанное программное обеспечение может использовать множество различных методов, чтобы получить заключительное изображение. Прослеживание каждого луча света в сцене — непрактично и слишком трудоемко. Даже рассмотрение части, достаточно большой, чтобы производить изображение, потребует чрезмерного времени, если выборка разумно не ограничена. В итоге были выделены четыре группы методов эффективного моделирования процессов прохождения света (табл. 3.10). Большинство средств расширенного программного обеспечения комбинирует два или больше методов, чтобы получить достаточно хорошие результаты при разумных затратах.
|