Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Тема 6. Технологии обработки графической информации

Поиск

Трехмерная графика

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

 
 

Трехмерная графика в отличие от двухмерной дает более реалистичное представление образов, как, например, это показано на рис.1. Конечно, трехмерные объекты можно попиксельно синтезировать в локальной памяти графической подсистемы, но этот процесс и сложен, и не поддается управлению. От него резко отличается современный подход, при котором в архитектуре системы отсутствуют средства непосредственного управления пикселями. Наоборот, новейшие средства, заложенные в микропроцессор, позволяют приложениям работать с высокоуровневым описанием трехмерной сцены, выполняясь на центральном процессоре. Лишь при наличии описания сцены аппаратные и программные средства трехмерной графики преобразуют описание в пиксели дисплейного изображения.

 

 

Рис.1. Двухмерная и трехмерная сферы.

 

Главной целью системы трехмерного графического синтеза является создание высококачественных фотореалистичных изображений со скоростью видео. Используя аппаратные средства, способные синтезировать сцены со скоростью 30 раз в секунду (стандартная скорость воспроизведения видео), приложения трехмерной графики предоставляют пользователю интерактивные высокореалистичные возможности для работы.

В данной статье приведен обзор основных концепций трехмерной графики и использована терминология, связанные со стандартным графическим 3D-конвейером (в дальнейшем - конвейер). В статье рассмотрена типичная реализация архитектуры трехмерного конвейера и разработанный компанией Microsoft интерфейс 3D-приложений (API), называемый Direct3D.

Графический конвейер

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

Большинство механизмов трехмерной геометрии состоит из определенных этапов графического конвейера. На рис.2. приведен пример конвейера, разделенного на два стадии: геометрические преобразования и рендеринг. До начала работы геометрических преобразований приложение должно описать трехмерную сцену, изображение которой необходимо синтезировать. Если использовать такие распространенные интерфейсы, как Direct3D компании Microsoft или OpenGL компании Silicon Graphics, сцена будет описана как последовательность обращений (вызовов функций) к интерфейсу API. Многие производители оборудования для трехмерной графики разрабатывают собственные конвейеры и соответствующие интерфейсы приложений API. Оригинальные программные разработки позволяют достичь наибольшей производительности их оборудования. Соответственно, оригинальные интерфейсы приложений API требуют описывать сцены с использованием вызовов, соответствующих используемой аппаратуре.


Рис.2.Типичный 3D-конвейер

 

6.3. Геометрические преобразования

Традиционно трехмерные объекты конструируются из треугольников или многоугольников, образуя базовую проволочную модель объекта (см. рис.3). Стадия геометрических преобразований на основе описания трехмерной сцены, которое включает освещение, точку обзора и используемые материалы, вычисляет типы и количество многоугольников или треугольников, необходимых для формирования сцены. В дальнейшем мы будем предполагать, что для конструирования объектов применяются только треугольники. Изначально множество треугольников описывается на языке высокого уровня, а затем оно преобразуется во множество вершин. Стадия геометрических преобразований требует выполения большого объема вычислительных операций, включая операции с плавающей точкой. Многие существующие процессоры начального уровня для обработки трехмерной графики перекладывают расчеты по геометрии сцены на центральный процессор.

 
 

Рис.3.Проволочная модель сферы

 

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

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

 

Стадия рендеринга

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



Поделиться:


Последнее изменение этой страницы: 2016-12-29; просмотров: 435; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.75.218 (0.008 с.)