Главная » Статьи » Статьи |
Принцип работы видеокарты в 3D В этом разделе мы попытаемся описать архитектуру и правила формирования изображения для типичного 3D ускорителя. Так как весь объект состоит из треугольников, все операции выполняются с координатами вершин треугольников и при перемещении объекта координаты вершин пересчитываются. При освещенииобъекта определяется уровень освещенности каждой вершины треугольника, а уровень освещенности каждой точки внутри треугольника вычисляется как средневзвешенное значение относительно вершин. Как видно из диаграммы, весь процесс создания трехмерной картинки состоит из двух частей: Сначала создается геометрия объекта из множества треугольников, а затем выполняется отображение объекта на экране или, как принято в 3D описаниях, рендеринг (от слова render - изображать). Большинство современных видеокарт с 3D ускорителями не занимаются обсчетом вершин (т.е. первой частью), а выполняют только рендеринг. Это объясняется тем, что первая часть работы требует чрезвычайно интенсивных вычислений и она, как правило, возлагается на центральный процессор. Именно поэтому результаты тестирования видеокарт существенно зависят от производительности процессора. Собственно рендеринг состоит из четырех основных задач: растеризации, z-буферизации, затенения и нанесения текстур. "Правильная" 3D видеокарта аппаратно выполняет все эти операции. Качество растеризации завистит от возможностей видеокарты - лучшие карты не выполняют цветовую обработку пикселей всего треугольника, если часть его выходит за границу видимости объекта. Обрабатываются только видимые пиксели. В не очень хороших картах весь треугольник, попадающий на край объекта, может быть обработан или весь не обработан. Поэтому в хороших картах край изображения выглядит намного ровнее. Этот механизм называют также anti-aliasing. При z-буферизации определяется, какие треугольники частично или полностью видимы относительно других треугольников. Этот механизм называется z-буферизацией, так требуется сохранять третью координату для каждой вершины треугольника и анализировать ее. После этого процесса становится известно, что следует рисовать на переднем плане, а что на заднем. Затенение формирует цвет каждого треугольника в зависимости от освещения или тени, падающей на объект. Самым популярным методом сейчас является затенением по Гуро - программа, в зависимости от света (тени) в каждой вершине треугольника, вычисляет среднее значение для всего треугольника. Нанесение текстур приводит к формированию деталей на полигоне - например, ворса на ткани, колец на срезе дерева, цементной "шубы" на стене и т.п. Текстура является образом поверхности объекта. Обычно создается несколько текстур с различным разрешением. Для частей объекта, ближайших к наблюдателю, выбираются текстуры с более высоким разрешением, для удаленных - с более низким. Этот способ также называется mip mapping | |
Категория: Статьи | Добавил: ipsyedinmk (23.11.2008)
| Автор: Максим ![]() ![]() | |
Просмотров: 2107 |
Всего комментариев: 0 | |