Алгоритм - Учебный центр

Версия сайта для слабовидящих
Заполните форму ниже! Мы вам перезвоним!

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


Типовые функции 3D-акселератора.

Типовые функции 3D-акселератора

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

Последовательность этапов создания трехмерных изображений

Геометрическая обработка. Программа хранит местоположение объектов в мировых ко­ординатах, упрощая связи между различными объектами. Большинство вычислений проис­ходит в процессоре.

Преобразование и отображение. Программа преобразует трехмерные координаты в про­странстве (3D-координаты) в координаты на плоскости (2D-координаты) и использует тек­стуры. Работа в основном выполняется аппаратурой.

Описание этапов создания трехмерных изображений

Вычисление координат вершин. Процессор вычисляет позицию каждой вершины для каж­дого объекта в мировой системе координат.

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

Отбрасывание скрытых поверхностей. Изображать невидимые поверхности излишне. Процессор должен распознавать видимые поверхности и отбрасывать невидимые.

Вычисление координат проекций. Дисплей работает всего лишь как двумерное устройст­во, наподобие куска стекла, через которое вы смотрите на трехмерную сцену. Чтобы про­моделировать это в компьютере, нам нужно пересчитать координаты проекций вершин ка­ждого многоугольника из системы координат в пространстве в систему координат на плос­кости (поверхности экрана).

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

Большинство современных наборов микросхем 3D-акселераторов  обеспечивают выполнение следующих  функций растеризации:

Растровое преобразование. Определение того, какие пиксели экрана покрываются каждым из примитивов.

Обработка полутонов. Цветовое наполнение пикселей с плавными цветовыми пере­ходами между объектами.

Образование текстуры. Наложение на примитивы двухмерных изображений и по­верхностей.

Определение видимости поверхностей. Определение пикселей, покрываемых бли­жайшими к зрителю объектами.

Анимация. Быстрое и четкое переключение между последовательными кадрами дви­жущегося изображения.

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

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

В 3D-акселераторах основой видеоадаптера является сверхбольшая микросхема видеоконтроллера.  От этой сверхбольшой микросхемы зависят быстродействие и возмож­ности видеоадаптера. Он отвечает за вывод изобра­жения из видеопамяти, регенерацию ее содержимо­го, формирование сигналов развертки для монитора и обработку запросов центрального процессора (ЦП) (см. рис. 1). Для ускорения вывода изображения на экран монитора и снижения частоты конфликтов при обращении к памяти со стороны видеоконтроллера и центрального процессора видеоконтроллер  имеет отдельный буфер, который в свободное от обращений ЦП время заполняется дан­ными из видеопамяти. Внутренняя шина данных кон­троллера обычно шире внешней (32, 64,128, 256). Если конфликта избежать не удается, видеоконтроллеру приходится задерживать обращение ЦП к видеопамяти, что снижает произво­дительность системы. Для исключения подобных кон­фликтов в ряде карт применяется так называемая двух­портовая память (VRAM, WRAM), допускающая одно­временные обращения со стороны двух устройств.

Видеоконтроллеры (см. рис. 1) имеют архитек­туру, по сложности мало уступающую центральному процессору компьютера, и зачастую превосходят их по числу транзисторов.

Архитектура современного видеоконтроллера обычно предполагает наличие нескольких блоков обработки информации: блока обработки 2D-графики, состоящего из SVGA-ядра и ядра графического акселератора, SRAM для хранения данных о гамма-коррекции и мас­ки курсора, блока обработки 3D-графики, в свою очередь, обычно разделяющегося на геометрическое ядро (плюс кэш вершин), блок растеризации (плюс кэш текстур) и ядро обработки видеоданных; контроллеры видео­памяти и порта главной шины (например, PCI или AGP), факультативно добавляется контроллер какого-нибудь дополнитель­ного внешнего порта, например VIP, во многие чипы встраивается еще и RAMDAC. На рис. 1 приведена примерная блок-схема платы видеоакселератора.

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

три цифро-аналоговых преобразователя (DAC), по одному на каждый цветовой канал (красный, синий, зеленый, RGB).

Большинство DAC имеет разрядность 8 бит - по 256 уровней яркости на каждый цвет, что в сумме дает 16,7 млн. цветов (и за счет гамма-коррекции есть возможность отображать исходные 16,7 млн. цветов в гораздо большее цветовое пространство). Некоторые новые RAMDAC имеют разрядность по каждому каналу 10 бит (1024 уровня яркости), что позволяет  сразу отображать более 1 млрд. цветов.

etSMz4mF.png (767×390) 

Рис. 1. Плата видеоакселератора

 Часто RAMDAC выполнен на одном кристалле с видеоконтроллером. Это делается в основном в недорогих видеоадаптерах, поскольку близкое сосед­ство с интенсивно работающими схемами отрицатель­но влияет на стабильность работы RAMDAC.

Видеопамять служит для хранения изображения. От  ее объема зависит максимально возможное полное раз­решение видеоадаптера : а х в х с, где А - количество точек по горизонтали, В - по вертикали и С  - количе­ство возможных цветов каждой точки. Например, для разрешения 640х480х16 достаточно 256 Кбайт, для  800х600х256  - 512 Кбайт,  для 1024х768х65 536 (другoe обозначение — 1024х768х64К)  -  2 Мбайт и т.д.

По­скольку для хранения цветов отводится целое число разрядов, количество цветов всегда является степенью двойки (16 цветов -  4 разряда, 256 -  8 разрядов, 64К -16 и т. д.).

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

Кодировщик видеосигнала, наоборот, производит конвертирование видеосигнала, идущего на монитор от RAMDAC в аналоговый видеосигнал, который мож­но подавать на вход телевизора или видеомагнито­фона.

Разъем расширения видеопамяти предназначен для увеличения до требуемого уровня объема уста­новленной на видеоадаптере видеопамяти.

BIOS (Basic Input/Output System) видеоадаптера располагается в видео-ПЗУ (Video ROM), кроме него там находятся экранные шрифты, служебные табли­цы и т.п.

                BIOS не используется видеоконтроллером напрямую -  к нему обращается только центральный процессор, и в результате выполнения им программ из BIOS происходят обращения к видеоконтроллеру и видеопамяти. На многих современных видеоадап­терах устанавливаются перепрограммируемые по­средством электричества видео-ПЗУ (EEPROM, Flash ROM), допускающие обновление BIOS видеоадаптера пользователем с помощью специальной программы из комплекта видеоадаптера. 


Лицензия