Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

Лекции - Компьютерная графика для студентов экономических специальностей - файл 1.doc


Лекции - Компьютерная графика для студентов экономических специальностей
скачать (658 kb.)

Доступные файлы (1):

1.doc658kb.26.11.2011 01:08скачать

1.doc

1   2   3   4   5   6   7
^

Основные понятия трехмерной графики



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

PI(X)cture ELement - минимальный графический элемент, генерируемый видео адаптером, обычно размером с точку. Пикселы могут быть почти любого цвета, в зависимости от способностей адаптера.
Тексел

TE(X)ture ELement - минимальный элемент текстуры, обычно относится к треугольнику.
Текстурирование

Текстурирование - основной метод моделирования поверхностей наложением на них изображений, называемых текстурой.
Скорость текстурирования (Fill rate)

Количественная оценка, показывающая, какое число пикселов графическая плата может обработать за секунду - прорисовать или назначить текстуру.
Throughput

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

Копирование массива данных из основной памяти компьютера в память видеокарты. Скорость этого процесса (Blit Rate) - важная характеристика для оценки видеокарт.
Сетка (Mesh)

Термин, применяемый для описания структуры 3D-объекта или изображения. Назван так потому, что имеет сходство со скульптурой сделанной из проволочной сетки.
Призрак (Sprite)

Объект (часто буква или курсор) движущийся поверх фоновой картинки.
Ядро (Engine)

Часть программного обеспечения предназначенная для управления и обновления трехмерной графики в реальном масштабе времени.
Многоугольник (Polygon)

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

16- 24- и 32-битные цвета

Каждый пиксел окрашен определенным цветом. В 16-битном режиме можно воспроизвести 65,536 цветов, в то время как в 24-битном - 16.7 миллионов цветов. 32-битный режим располагает тем же количеством цветов, что и 24-битовый режим, хотя манипулировать 32-битными изображениями значительно быстрее, чем 24-битными. Однако, 32-битная графика требует почти на 25% больше памяти. Поскольку человеческие глаза не могут увидеть более чем 10 миллионов различных цветов, то считается, что 24- и 32-битовая графика примерно равны по качеству.
Дисплейные Режимы

1. Проволочная скульптура (Wireframe) - Первичный объект, для образования которого применяются линии краев многоугольников, придающие объекту сходство со скульптурой, сделанной из проволочной сетки.

2. Окрашивание плоскостей (Flat Shaded) - Поверхность многоугольников (треугольников) окрашена определенным цветом, однако поверхность объекта все еще выглядит дробной.

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

4. Текстурирование поверхностей (Smooth Textured) - Объект начинает выглядеть волне реалистично. Характер поверхностей отражен максимально точно. Метод требует массы усилий процессора и памяти.

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

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

Omni lights - общее освещение, подобно лампочке, освещающее предметы со всех направлений.

Spot lights - точечные источники света, выделяющие только часть объекта.

Ambient light - отдаленные источники света. Используются для того, чтоб сымитировать далекие источники света, которые подобно луне, заставляют предметы отбрасывать параллельные тени.

Световое пятно (Specular Highlight) - яркое отражение света от глянцевой поверхности.
Рендеринг (иначе, растеризация)

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

1. Плоскостной рендеринг (Flat Render) - Создание четко разграниченных многоугольников, поверхность каждого из которых окрашена одним однотонным цветом. Самый быстрый способ представления поверхностей.

2. Мягкое закрашивание (Gouraud Shading) - Смешение объектов образующих поверхность. Более реалистично, чем плоскостное представление. Используется во многих новых играх, где трехмерные поверхности преобразуются в реальном масштабе времени, например, в авиационных симуляторах.

3. Phong Shading - Более реалистичная и сложная форма закрашивания, чем предыдущий вариант. Предъявляет большие требования к аппаратным ресурсам компьютера вообще и к производительности в частности.

4. Трассировка луча (Ray Tracing) - Наиболее качественный уровень представления трехмерных поверхностей, доступный для настольных компьютеров. Состоит в том, что "нарисованный" луч света, попадая на такую же искусственную поверхность, ведет себя точно так же, как и настоящий - отражается и меняет свое направление. Результат очень реалистичен, с чрезвычайно точными тенями, отражениями и даже преломлением

Превращения (Transforms)

Операции изменения позиции, размера, или ориентации объекта в пространстве. В общем случае - перемещение, масштабирование и вращение.
Деформации (Deforms)

Операции подобные превращениям, однако, более сложные, так как их исполнение приводят к перемене внешнего вида объекта. К деформациям можно отнести искривление, поворот, рассогласование и т. п.
Отсечение (Clipping)

Отсечение тех многоугольников, которые не попадают в поле зрения пользователя.
Распределение (Mapping)

Распределение, (иначе - распределение текстур, Texture Mapping) - процесс назначения объекту атрибутов придающих ему реалистичность. До того, как объекту будет назначена определенная текстура, его составляющие окрашены либо в несколько простейших цветов, либо в серый цвет. Распределение придает объекту или поверхности специфический цвет или назначает текстуру.
Важнейшая характеристика для оценки трехмерных сцен - реалистичность, однако, простое моделирование трехмерных объектов не всегда позволяет добиться реалистичности. В этом случае, на помощь приходит распределение текстур. Представьте себе скалу - стена из нескольких прямоугольников разной величины с плоскими серыми поверхностями, выглядит весьма неубедительно, будто это стена сложенная из стандартных бетонных плит. Но стоит только добавить к ним текстуру, имитирующую поверхность скалы, как прежние блоки действительно выглядят похожими на скалу.
Дизеринг (dithering) механизм получения изображения в HiColor-режимах.
Мультитекстурирование

Мультитекстурирование (multitexturing) - метод рендеринга с использованием нескольких текстур за минимальное число проходов. Мультитекстурирование позволяет конвейеризировать наложение текстур с использованием нескольких (обычно двух) блоков текстурирования.
Конвейер рендеринга

Рендеринг выполняется по многоступенчатому механизму, называемому конвейером рендеринга. Конвейер рендеринга может быть разделен на три стадии: тесселяция, геометрическая обработка и растеризация. Если взять произвольный 3D-ускоритель, то он не будет ускорять все стадии конвейера, и даже более того, стадии могут лишь частично ускоряться им. Тесселяция - процесс разбиения поверхности объектов на треугольники. Эта стадия проводится полностью программно вне зависимости от технического уровня и цены 3D-аппаратуры. Геометрическая обработка делится на несколько фаз и может частично ускоряться 3D-ускорителем. Трансформация - преобразование координат (вращение, перенос и масштабирование всех объектов). Расчет освещенности - определение цвета каждой вершины с учетом всех световых источников. Проецирование - преобразование координат в систему координат экрана. Triangle setup - предварительная обработка потока вершин перед растеризацией. Растеризация наиболее интенсивная операция, обычно реализуемая на аппаратном уровне. Растеризатор выполняет непосредственно рендеринг и является нaиболее сложной ступенью конвейера. Если стадия геометрической обработки работает с вершинами, то растеризация включает операции над пиксела-ми. Растеризация включает в себя затенение и дизеринг.
Z-буферизция (Z-Buffering)

Сравнительно новое свойство, применяемое для облегчения управлением положения трехмерных объектов в пространстве. Часто используется для затуманивания. Состоит в том, что кроме двумерных координат (x, y) пиксела, хранится еще и значение его глубины. Область видеопамяти, в которой хранятся значения глубины для каждого пиксела, называется z-буфер.
Фреймбуфер

Фреймбуфер - понятие путанное, так как может означать несколько вещей в зависимости от контекста. Обычно фреймбуфер - это область памяти, где хранятся пикселы. Фреймбуфер в этом случае делится (обычно пополам) на передний и обратный буфер. Передний буфер - это то, что видит пользователь в конкретный момент. При рендеринге передний буфер остается неизменным до полного формирования нового кадра. При этом вся работа ведется с невидимым обратным буфером, который как бы хранит будущий кадр, который пользователь увидит через долю секунды. Когда новый кадр отрисован, то обратный буфер становится передним, и 3D-ускоритель приступает к новому кадру. Такая работа называ-ется двойной буферизацией. Иногда фреймбуфером называют всю видеопамять (когда говорят "эта плата имеет фреймбуфер 8 Мбайт"), иногда - видеопамять для z-буфера, переднего буфера и обратного буфера (фреймбуфер Voodoo 2).
2D-разрешение

2D-разрешение - это то разрешение, которое стоит, к примеру, на экране (desktop) Windows 95. Для расчета того, сколько видеопамяти требуется для какого-либо 2D-разрешения, нужно умножить ширину экрана в точках на его высоту и на размер одного пиксела в байтах. 3D-разрешение - это то разрешение, на котором 3D-ускоритель может выполнять рендеринг трехмерной сцены. Расчеты в 3D более сложны, так как, кроме переднего буфера, здесь есть еще обратный буфер, z-буфер и в некоторых случаях другие буферы. Рендеринг может выполняться по-разному, в одном случае z-буфера не будет, в другом случае будет два обратных буфера. Но, традиционно говоря о 3D-разрешении, имеется в виду ситуация "по умолчанию": передний буфер, обратный буфер и z-буфeр
Коррекция перспективы

Способность корректировать текстуры таким образом, чтобы у наблюдателя создавалось впечатление перспективы.

Сегодня, при создании игр используют сравнительно большие треугольники, а для придания реалистичности изображения применяют карты текстур, что более эффективно, нежели использование огромной массы мелких треугольников. Хотя такой подход требует от компьютера весьма интенсивной работы, он все же выгоднее альтернативных методов, которые так и не избавились от видимых искажений и "плавающих" текстур.
Мипмэппинг (MIP-mapping)

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

Билинейная фильтрация (bi-linear filtering) - метод текстурирования, при котором выполняется интерполя-ция текстуры. Смысл билинейной фильтрации состоит в том, что каждый тексел данной структуры окрашивается в цвет, полученный, как средне взвешенное от значений цветов четырех соседних текселей.
Трилинейная фильтрация (tri-linear filtering)

Более сложный метод текстурирования, при котором помимо интерполяции текстуры выполняется интерполяция между уровнями детализации текстуры. Трилинейная фильтрация дает более качественное изоб-ражение, чем обычная билинейная с мипмэппингом.
Антиалиасинг (Anti-Aliasing)

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

Один из наиболее распространенных эффектов. Отдаленные объекты или их детали, как бы скрываются в тумане и проясняются по мере приближения зрителя к ним. Эффект используется не только для моделирования атмосферного явления - уменьшая число деталей разработчики делают сцену менее сложной, тем самым снижая нагрузку на процессор и графический акселератор.
Альфа-смешение (Alpha Blending)

Техника создания эффекта полупрозрачности путем объединения исходного пиксела с пикселом, уже находящимся во фреймбуфере. Применяется для создания многочисленных визуальных эффектов, так или иначе обыгрывающих полупрозрачность каких-либо объектов, например воды, стекла или ударной волны от взрыва, тени, тумана, бликов, всполохов света, огня. Это очень общий термин, многие другие функции, где нужно объединять пикселы, такие как прозрачные текстуры, мультитекстурирование, антиалиасинг, также используют альфа-смешение.
Наложение рельефа (bump-mapping)

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

Геометрическим процессором называется ускоритель, который ускоряет всю стадию геометрической обработки, в том числе трансформацию и освещение. Реализация геометрического процессора довольно дорога, и, как уже было сказано, он является объектом реклам-ных спекуляций. Определить, реализован ли геометрический процессор, довольно легко - надо выяснить, поддерживает ли 3D-ускоритель операции с матрицами. Без такой поддержки не может идти речи об ускорении фазы трансформации. Геометрическими процессорами являются, например, FGX-1.
В большинстве приложений использующих трехмерную графику 3D-объекты состоят из множества многоугольников размещенных таким образом, что создается реалистичный образ. Сотни или тысячи многоугольников необходимых для единственного 3D- объекта, образуют огромный массив данных, которые надо создать и которыми необходимо управлять.
^ Средства обработки трехмерной графики
Компания AMD предложила новую технологию 3DNow!(TM), используемую в процессоре AMD-K6-2®. Преимущества новой технологии заключаются в более быстрой смене кадров в графике с высоким разрешением, значительно улучшенным моделированием физических сред, четкое и более детальное формирование трехмерных изображений, лишенным характерных скачков воспроизведением видео и звуком театрального качества. Среди наиболее важных из вышеназванных свойств - значительное улучшение в работе с трехмерной графикой.
API (Application Programming Interface)

Комплект программ, которые прикладная программа использует для обращения к задачам исполняемым на уровне операционной системы. Т.е. программы связи аппаратных средств (таких, как, например, видеопроцессор) с приложениями, например, играми. Разработчики игры пишут ее код согласуясь с API, что позволяет ей работать с любыми аппаратными средствами, на любых компьютерах. 3D API позволяет программисту создавать трехмерное программное обеспечение использующее все возможности 3D-ускорителей. 3D API делятся на стандартные (универсальные) и собственные (специализированные). Без стандартных API, поддерживающих широкий спектр 3D-ускорителей, разработчиками, пришлось бы портировать игры под множество плат. Наиболее известные стандартные 3D API - OpenGL и Direct3D. Собственный (native) 3D API предназначен для одного конкретного семейства 3D-уcкopитeлeй и ограждает программиста от низкоуровневого программирования. Примеры специализированных 3D API - Glide (от 3Dfx), RRedline (от Rendition), PowerSGL (от Videologic). Ис-пользование 3D API предполагает применение драйверов для этого API. На сегодняшний день наличие драйверов Direct3D и OpenGL для Windows 95/ 98 является обязательным требованием ко всем 3D-уcкopитeлям.
DirectX

API для Microsoft® Windows® сфокусированный на разработке мультимедийных приложений. По словам Microsoft, DirectX обеспечивает разработчиков программного обеспечения гибкостью необходимой для работы в Internet и открывает путь к использованию мощнейших возможностей современных персональных компьютеров в работе с мультимедийными приложениями. DirectX 6.0 был оптимизирован для работы с технологией 3DNow! и стал доступен пользователям в июле 1998 года.
Direct3D

Часть DirectX ориентированная на исполнение трехмерной графики. Direct3D предлагается компанией Microsoft как важное дополнение к API для игр и других 3D-приложений. Direct3D, как часть DirectX 6.0, оптимизирован для технологии 3DNow! Direct3D существует только в Windows 95, в скором будущем появится и в Windows NT 5.0. Direct3D име-ет два режима: RM (retained mode), или абстрактный и IM (immediate mode), или непосредственный. IМ состоит из тонкого уровня, который общается с аппаратурой и обеспечивает самое высокое быстродействие. Абстрактный режим - высокоуровневый интерфейс, покрывающий множество операций для программиста, включая инициализацию и трансформацию. У обоих режимов есть достоинства и недостатки, большинство Direct3D-игр используют IM.
OpenGL

OpenGL - открытый 3D API, созданный компанией SGI и контролируемый ассоциацией OpenGL Architecture Review Board (ARB), в которую входят DEC, E&S, IBM, Intel, Intergraph, Microsoft и SGI. OpenGL реализует широкий диапазон функций от вывода точки, линии или полигона до рендеринга кривых поверхностей NURBS, покрытых текстурой. OpenGL долгое время использовался для работы с трехмерной графикой на компьютерах профессионального уровня. Сейчас многие разработчики игр используют этот API. OpenGL также оптимизируется для совместной работы с технологией 3DNow! OpenGL-драйвер может быть реализован в трех вариантах: ICD, MCD и мини-порт. ICD (Installable Client Driver) полностью включает все стадии конвейера OpenGL, что дает максимальное быстродействие, но разработка ICD-драйвера занимает большое количество времени. MCD (Mini Client Driver) разработан для внесения абстракции в конвейер OpenGL, и поэтому написание драйвера менее трудоемко. MCD уступает ICD в быстродействии, плюс к этому MCD работает только в Windows NT. Мини-порт - драйвер, предназначенный для одной конкретной игры (или движка), обычно для GLQuake и Quake 2. Мини-порт может работать по принципу ICD (Rage Pro), через собственный API (Voodoo 2) или через Direct3D (lntel740). В последнем случае он называется враппером.
VRML

VRML - язык описания трехмерных миров. Лидером среди разработчиков программного обеспечения для работы с VRML считается Cosmo Software (одно из подразделений SGI). Эта компания также активно разрабатывает новые стандарты VRML. Ее программа CosmoPlayer предназначена для просмотра сцен, созданных на VRML. CosmoPlayer поддерживает OpenGL, что при наличии OpenGL-ускорителя дает прирост скорости и повышает качество 3D.
AGP (Advanced Graphics Port)

Новая технология призванная повысить качество воспроизведения мультимедийных программ, скорость их воспроизведения и интерактивные возможности сохранив, однако, невысокую стоимость. Главное свойство AGP - возможность быстрого обращения к оперативной памяти компьютера. Это означает, что фрейм-буфер (более важна функция кэширования фрейм-буфера) может сохраняться в основной памяти, а не в памяти видеокарты, что, кстати, значительно уменьшает стоимость последней. Таким образом, описания трехмерного изображения, подобно картам текстур, могут быть большими, и находится в основной памяти, а не загружать фрейм-буфер. Это обстоятельство способствует уменьшению фрейм-буфера, что тоже немаловажно.
DiME

DiME (Direct Memory Execution) - главное преимущество AGP. AGP-платы без DiME недалеко ушли от РСI. DiME (или, как его еще называют, AGP-текстурирование) дает возможность 3D-ускорителю брать текстуры напрямую из системной памяти, а не из локальной видеопамяти. DiME - ключ к использованию большого количества больших текстур. DiME превращает системную память в своего рода расширение видеопамяти. 3D-ускоритель с поддержкой DiME уже сейчас без проблем справляются с 16 Мбайт текстур на один кадр


1   2   3   4   5   6   7



Скачать файл (658 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации