Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PFU.docx
Скачиваний:
10
Добавлен:
27.09.2019
Размер:
478.9 Кб
Скачать

44. Принцип построения трехмерного изображения

Итак, по какому принципу работает видеокарта при построении кадра трехмерного приложения? В большинстве случаев любой трехмерный объект в компьютерном моделировании представляет собой совокупность множества треугольников — граней, или «полигонов». Виртуальные деревья, автомобили, зомби и автоматы Калашникова — все это лишь грамотно связанные друг с другом грани с натянутыми на них текстурами. Таким образом, при построении изображения центральный процессор загружает в память видеокарты координаты вершин отображаемого объекта, а также текстуры, которыми нужно будет покрыть каркас получившейся трехмерной модели. Далее в дело вступает непосредственно видеоадаптер.

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

Первым делом вершины попадают в вершинный процессор, который занимается их трансформацией и освещением (Transforming & Lighting). В данном случае трансформация — это преобразование координат вершин (вращение, перенос и масштабирование объектов), а освещение — это определение цвета каждой вершины с учетом всех источников света конкретной сцены. Затем следует проецирование — преобразование координат искомого 3D мира в двумерную систему координат экрана. С появлением аппаратной поддержки T&L увеличилась скорость отображения игровой графики, а также возросло ее качество.

Следом наступает стадия растеризации — серии операций, которые проводятся непосредственно с пикселями изображения. Этапы: удаление скрытых поверхностей, к примеру, обратных сторон объектов; Z-буферизация (запись значений глубины) — для каждой точки изображения определяется, насколько далеко она отстоит от плоскости экрана; и, разумеется, текстурирование (закраска).

Процесс закраски происходит следующим образом: видеокарта выбирает для каждого пикселя определенные тексели из текстуры. После усреднения цветов нескольких текселей на выходе получается итоговый цвет пикселя, который записывается в буфер кадра (видеопамять). Именно на этой ступени происходит фильтрация текстур, а также проводятся операции сглаживания. Напомним, что процессы текстурирования, фильтрации и сглаживания были подробно разобраны нами в статье «Ближе к идеалу» из мартовского номера «Лучших компьютерных игр» за 2008 год.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]