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

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

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


Технологии приложений трехмерной графики.

Технологии приложений трех­мерной графики.

 

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

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

 геометризация – это определение размеров, ориентации и расположения примитивов в пространстве и расчет влияния источников света;

и растеризация - преобразование примитивов в пиксели на экране с нанесением нужных затенений и текстур.

Процесс визуали­зации трехмерной сцены на экране монитора компьютера происходит следующим образом:

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

  1.  На следующем этапе каждому объ­екту в сцене сопоставляется соот­ветствующая текущему моменту геометрическая модель.
  2.  Затем модель разбивается на элементыпримитивы, которые называют полигонами (треугольник, многоугольник).
    1. Дальше предварительно накладывают текстуры и определяют параметры освещения.
    2.  Затем рассчитывается положение камеры (наблюдателя) и линия визирования (взгляда).
  3. После этого отсекаются объекты невидимые наблюдателю и для каждого полигона данные о координатах вершин, присвоенной текстуре, параметрах освещенности и т. д.,  приводятся к виду, пригодному для обработки аппаратурой.

7.   И, наконец, выполняется закрашивание (рендеринг). Закрашивание происходит по точкам на основе данных о текстуре, степени прозрачности, параметрах тумана, освещении. Каждому пикселу, таким образом, присваивается  определенный цвет, и он размещается в нужном месте буфера кадра.

8.   Далее может следовать этап наложения, какого либо эффекта на уже готовое изображение кадра.

 

Рендеринг (закрашивание) выполняется по многоступенчатому процессу,  называемому  конвейером рендеринга, который состоит из трех этапов обработки:

 -  тесселяции,

 - геометрической обработки,

 - растеризации.

                Растеризация. При аппаратном рендеринге 3D-акселератор берет на себя наиболее емкие вычислительные функции по растеризации треугольников.  Для ускорения обработки текстур используют параллельную работу нескольких (2-3) конвейеров (блоков). Обычно для получения полноценного преобразования часто требуется три прохода конвейера блока рендеринга, но если в видеоакселераторе реализованы два конвейера, способные работать параллельно, то потребуется два прохода (рис.1).                                                     

QIP Shot - Image: 2016-07-15 13:10:33
Рис. 1. Варианты построения видеоадаптеров с различным числом конвейеров рендеринга. 

 

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

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

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

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

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


Лицензия