Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел 1.Вопросы по общепрофессиональным дисцип...docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
516.49 Кб
Скачать

16)Архитектура графической подсистемы. Принцип расчета трехмерного изображения. Рендеринг.

За вывод графической информации на дисплей в ПК отвечает специальный набор микросхем, обычно помещаемый на отдельную плату, которая называется видеоплатой или видеокартой. Основной задачей является преобразование образа экрана, находящегося в памяти, т.н. кадрового буфера (англ. frame buffer), в набор сигналов, понятных дисплею. Для подключения дисплеев к компьютерам используются стандарты, устанавливающие логические и физические параметры соединения. В настоящее время два самых распространенных из них - это аналоговый VGA и цифровой DVI. Первый используется для подключения как аналоговых по сути дисплеев на ЭЛТ, так и цифровыхЖК-дисплеев (аналого-цифровое преобразование в этом случае происходит в самом дисплее), второй - исключительно для ЖК-дисплеев.

На видеокарте присутствует видеопамять, характерной особенностью которой является то, что она двухпортовая - подсоединена как к шине, по которой передаются данные от центрального процессора, так и к микросхеме, отвечающей за вывод на дисплей, и они могут одновременно обращаться к ней. Доступ к видеопамяти со стороны процессора может быть организован двояко - либо видеопамять, как часть адресов, включается в адресное пространство процессора, либо для копирования данных между основной и видеопамятью контроллеру на видеокарте посылается специальная команда и копирование происходит с помощью DMA (от англ. Direct Memory Access - микросхема, позволяющая осуществлять передачу данных в/из оперативной памяти периферийным устройствам без участия центрального процессора).

М икросхема, отвечающая за вывод на дисплей, постоянно сканирует видеопамять, преобразует ее в форму, соответствующую интерфейсу дисплея, и формирует выходной сигнал, передаваемый по кабелю на дисплей (см. рис. 2.6). Если видеоплата оснащена аналоговым выходом, то в нее должен быть встроен цифро-аналоговый преобразователь, называемый RAMDAC - Random Access Memory Digital to Analog Converter. Так как информация о пикселях передается последовательно, то RAMDAC должен обладать достаточно высокой тактовой частотой, чтобы позволять выводить изображения высокого разрешения с достаточной частотой обновления. Например, изображение 1600×1200 для вывода с частотой 75 Гц требует частоты RAMDAC равной 1600×1200×75 = 144 МГц. Частота работы RAMDAC является важной характеристикой видеокарты..

Также на видеоплате содержится графический процессор, способный быстро выполнять основные операции по работе с изображениями в видеопамяти,

ПРедставление изображений

Теперь следует подробнее остановиться на форматах представления растровых изображений в памяти. Обычно пиксели описываются набором неотрицательных целых чисел. Изображения обычно хранятся построчно; в каждой строке информация о пикселях упорядочена слева направо, а строки соответственно располагаются по порядку сверху вниз1). При этом, как правило, каждая следующая строка начинается с границы машинного слова2) (при этом, возможно, конец предыдущей строки дополняется нулями), т.к. это оптимально для обработки процессором.

Программный интерфейс

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

Потом появились карты с графическими возможностями. В связи с малым размером адресного пространства (1 Мб) процессора Intel 8086 приходилось отображать только часть видеопамяти в адресное пространство процессора и специальными командами задавать, какая именно это часть. Такая технология получила название bank switching. Команды видеокарте посылались путем прерываний или записи информации непосредственно в ее аппаратный порт. Для использования дополнительных возможностей видеокарт разработчикам прикладных программ и игр приходилось самим реализовывать простейшие операции для каждого их типа, т.к. поддержка видеокарт со стороны ОС4) была минимальной.

С появлением ОС с графическим интерфейсом ситуация изменилась. Прослойка между прикладной программой и аппаратурой стала "толще". Непосредственно на низком уровне видеокартой управляет ее драйвер - программа, поставляемая, как правило, самой фирмой-разработчиком видеокарты. А прикладная программа обращается к нему через вызовы четко определенного общего для всех драйверов абстрактного интерфейса (англ. API - Application Programming Interface). Таким образом, появилась аппаратная независимость, что явилось важным шагом вперед, с учетом все более разраставшегося множества видеокарт с ограниченной совместимостью друг с другом.

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

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

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

В зависимости от цели, различают пре-рендеринг, как достаточно медленный процесс визуализации, применяющийся в основном при создании видео, и рендеринг в реальном режиме, применяемый в компьютерных играх. Последний часто использует 3D-ускорители.

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

 

  1. Растеризация – это перевод двухмерного изображения, описанного векторным форматом в пиксели или точки, для последующего вывода на монитор.

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

  3. Глобальное освещение – используют математику конечных элементов, чтобы воссоздать эффект диффузного распространения света от поверхностей и при этом достигать эффекта мягкости освещения.

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