Федеральное агентство по образованию
САНКТ-ПЕТЕРБУРГСКИЙ
ГОСУДАРСТВЕННЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
В.С. Беляев, С.Ю. Беляев, В.Г. Шубников
Информатика
Введение в графическую библиотеку Direct3D 9.0c Руководство к лабораторным работам
Санкт-Петербург
Издательство политехнического университета
2007
УДК 075.8
Беляев В.С., Беляев С.Ю., Шубников В.Г. Информатика. Введение в графическую библиотеку Direct3D 9.0c: Руководство к лабораторным работам. СПб.: Изд-во политехнического университета, 2007. 46 с. Пособие соответствует государственному образовательному стандарту дисциплины «Информатика» направления бакалаврской подготовки 510200 «Прикладная математика».
Предназначено для студентов четвертого курса физико-механического факультета и факультета технической кибернетики, готовящих выпускные работы бакалавра.
Графическая библиотека Direct3D 9.0c является достаточно сложной для самостоятельного изучения вследствие большого количества взаимосвязей отдельных элементов. Поэтому в настоящем руководстве разбираются ключевые аспекты использования этой библиотеки, которые необходимы для выполнения лабораторных работ в рамках курса компьютерной графики. Табл. 6. Ил. 16. Библиогр.: 4 назв. Печатается по решению редакционно-издательского совета Санкт-Петербургского государственного политехнического университета.
© Санкт-Петербургский государственный
политехнический университет, 2007
ОГЛАВЛЕНИЕ
1. Введение 4
2. Структура визуализации 5
3. Введение в библиотеку 7
4. Основы рендеринга 10
4.1. Представление и хранение поверхности объекта 10
4.2. Понятие графического конвейера 14
4.3. Преобразования системы координат в вершинном конвейере 15
4.4. Функции рендеринга 17
4.5. Настройки рендеринга 19
5. Освещение 20
5.1. Математика освещения 21
5.2. Настройки освещения 23
5.3. Моделирование анизотропного материала 25
6. Текстурирование 26
6.1. Понятие текстуры 26
6.2. Наложение текстуры: текстурные координаты 29
6.3. Генерация текстурных координат 31
6.4. Выборка из текстуры 33
6.5. Смешивание текстур 35
6.6. Мипмапы: создание и использование 36
7. Смешивание с буфером кадра и альфа-тест 37
7.1. Смешивание с буфером кадра 37
7.2. Альфа-тест 41
8. Библиография 42
9. Дополнения 43
9.1. Определение возможностей устройства 43
9.2. Использование отладочных возможностей библиотеки 43
9.3. Словарь англоязычных терминов 45
1.Введение Настоящее руководство служит для облегчения процесса изучения библиотеки Direct3D 9.0c, которая используется для создания современных таких приложений реального времени, как, например, тренажеры, игры и медицинские системы. Изучение возможностей библиотеки производится в рамках лабораторных работ к курсу компьютерной графики, позволяющих закрепить основы курса. При этом предполагается, что определения таких терминов как z-буфер, текстура и т.д. известны из курса и не требуют дополнительного объяснения в руководстве.
Как курс, так и лабораторные не предполагают наличия у студента каких-либо знаний и навыков в области компьютерной графики. С другой стороны, API Direct3D 9.0c является современным и предназначено для создания промышленных приложений и, как следствие, имеет очень много различных возможностей, в которых не легко разобраться с первого раза. Более того, по мнению авторов, эти возможности и особенности библиотеки настолько взаимосвязаны, что понять какую-то отдельную часть API, не понимая хотя бы приблизительно остальные, очень сложно.
В связи с вышесказанным, настоящее руководство организовано таким образом, чтобы не перегружать читателя информацией, давая лишь только те сведения, которые необходимы для выполнения лабораторных работ. При этом то поведение и параметры функций, которые являются не существенными для понимания библиотеки на текущем этапе, будут помечены как “магические”. То есть читателю предлагается без раздумий задать предложенные параметры или проделать определенные действия, смысл которых будет объяснен в последствии.
Отметим, что руководство не в коей мере не заменяет справочный материал по Direct3D 9.0c и не является переводом документации, оставляя тем самым читателю возможность изучать библиотеку в том объеме, какой он сочтен достаточным для своих целей. Фактически, чтобы выполнить лабораторные работы достаточно руководства и небольшого изучения документации по библиотеке. Однако для более пристального изучения заинтересованному читателю придется достаточно глубоко погрузиться в недра документации (к сожалению, англоязычной) или справочной литературы по DirectX 9.0c на русском языке.
Данное руководство предполагает, что читателю следует выполнить как минимум четыре лабораторные работы на следующие темы:
Вводная лабораторная. Инициализация библиотеки, использование вершинных и индексных буферов, преобразование систем координат, рендеринг объектов.
Освещение. Различные типы источников света, свойства материалов, повершинное задание свойств материалов.
Текстурирование. Текстурные координаты, фильтрация, адресация.
Настройки рендеринга. Смешивание с буфером кадра, альфа-тест.
Каждой из этих тем соответствует свой раздел (с 4-его по 7-ой). Эти разделы предваряются вводными разделами, рассказывающими структуре приложения реального времени, которую необходимо представлять перед тем, как начинать какое-либо кодирование (раздел 2), а так же дающими представление о самой библиотеке (раздел 3).
Так же, перед тем как перейти к изложению самого материала, хотелось бы заострить внимание на политике в отношении англоязычных терминов, которая применяется в настоящем руководстве. Авторами неявно предполагается, что при применении знаний читатель будет общаться со специалистами по компьютерной графике, которые используют терминологию, заимствованную из английского языка и произносимую по-русски. Поэтому за основу авторы берут именно эту устоявшуюся в специальной среде терминологию, давая при этом оригинальный англоязычный вариант термина и его перевод на русский (если таковой конечно же существует). Словарь применяемых терминов приведен в приложении 9.3.
|