русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Принцип работы


Дата добавления: 2015-08-31; просмотров: 606; Нарушение авторских прав


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

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

Т.к. картинка постоянно изменяется (особенно в компьютерных играх), расчеты должны производиться с очень большой скоростью. Только так можно обеспечить формирование необходимого количества кадров за 1 секунду. Идеальным для человеческого глаза является частота, равная 25 кадров/сек. (англ. – FPS или Frames Per Second). Если количество кадров меньше, то будет заметно «торможение».

В трехмерной графике все объекты создаются как совокупность множества (счет идет на миллионы) треугольников, а треугольники затем образуют полигоны (но полигон, вообще говоря, любая плоская фигура с количеством углов >=3). Работа начинается с определения полигонов для каждого из объектов изображения. Далее выполняется анализ перемещения каждого из объектов относительно наблюдателя, включая и вращение относительно собственной оси. Кроме этого, определяется, как подсветка отражается на каждом объекте. Весь этот анализ исходит из отрисовки 30 кадров/с, хотя для терпимого качества достаточно иметь 10-15 кадров/с.

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

Весь процесс создания трехмерной картинки состоит из двух частей: Сначала создается геометрия объекта из множества треугольников, а затем выполняется отображение объекта на экране или, как принято в 3D описаниях, рендеринг (от слова render - изображать). Большинство современных видеокарт с 3D ускорителями не занимаются обсчетом вершин (т.е. первой частью), а выполняют только рендеринг. Это объясняется тем, что первая часть работы требует чрезвычайно интенсивных вычислений и она, как правило, возлагается на центральный процессор. Именно поэтому результаты тестирования видеокарт существенно зависят от производительности процессора.



Собственно рендеринг состоит из четырех основных задач: растеризации, z-буферизации, затенения и нанесения текстур. "Правильная" 3D видеокарта аппаратно выполняет все эти операции.

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

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

Затенение формирует цвет каждого треугольника в зависимости от освещения или тени, падающей на объект. Самым популярным методом сейчас является затенением по Гуро – программа, в зависимости от света (тени) в каждой вершине треугольника, вычисляет среднее значение для всего треугольника.

Нанесение текстур приводит к формированию деталей на полигоне – например, ворса на ткани, колец на срезе дерева, цементной "шубы" на стене и т.п. Текстура является образом поверхности объекта. Обычно создается несколько текстур с различным разрешением. Для частей объекта, ближайших к наблюдателю, выбираются текстуры с более высоким разрешением, для удаленных – с более низким. Этот способ также называется mip mapping.



<== предыдущая лекция | следующая лекция ==>
Выводы по разделу два | Устройство видеокарты


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.041 сек.