533955f1

X-файлы

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

Преобразование из мирового пространства
Часть Перемещение
Вращение относительно произвольной оси
Вращение относительно произвольной оси, определенной вектором A
Наклон, рыскание и вращение
Наклон, или поворот относительно правого вектора камеры
Рыскание, или поворот относительно верхнего вектора камеры
Вращение, или поворот относительно вектора взгляда камеры
Ходьба, сдвиг и полет
Перемещение вдоль векторов ориентации камеры

Пример приложения: камера
Окно программы, рассматриваемой в этой главе
Итоги


X-файлы

Глава Сетки: часть II
IDXBuffer
X-файлы
Загрузка X-файлов
Материалы в X-файле
Пример приложения: загрузка X-файла
Окно программы XFile
Генерация нормалей вершин

Прогрессивные сетки
Изображение сетки с тремя различными уровнями детализации
Создание прогессивной сетки
Веса атрибутов вершин
Методы IDXPMesh
Пример приложения: прогрессивная сетка
Ограничивающие объемы

Сетка визуализированная с ограничивающей
Новые константы
Типы ограничивающих объемов
Пример приложения: ограничивающие объемы
Окно программы Bounding Volumes
Итоги

X-файлы

Глава Основы визуализации ландшафтов
(A) Сетка с треугольными ячейками
Карты высот
Создание карты высот
Карта градаций серого, созднная в Adobe Photoshop
Загрузка файла RAW
Досуп к карте высот и ее модификация
Свойства размеченной треугольной сетки Точки на пересечении линий сетки обозначают вершины
Вычисление вершин
Соответствие между вершинами ландшафта и координатами текстур

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

Вычисление затенения квадрата
Вычисление двух векторов, находящихся в одной плоскости с квадратом
Затенение ландшафта
Ходьба по ландшафту
Исходная сетка ландшафта и сетка
Высота ячейки (координата Y) для заданных координат местоположения камеры X и Z
Ячейка до и после преобразования, переносящего ее верхнюю левую вершину в начало координат
(А) Вычисляем два вектора, совпадающих
Пример приложения: ландшафт
Возможные усовершенствования

Итоги

X-файлы

Глава Системы частиц
Частицы и точечные спрайты
Формат структуры

Режимы визуализации точечных спрайтов
Частицы и их атрибуты
Компоненты системы частиц
Рисование системы частиц
Разделенный на сегменты буфер вершин

Хаотичность
Примеры систем частиц: снег, фейерверк, след снаряда
Окно программы Snow
Окно программы Firework
Окно программы Laser (Particle Gun)
Итоги

X-файлы

Глава Введение в высокоуровневый язык шейдеров
Пишем шейдер на HLSL
Глобальные переменные

Входная и выходная структуры
Точка входа
Таблица констант
Получение дескриптора константы
Установка констант
Установка значений по умолчанию для констант
Компиляция HLSL-шейдера
Типы переменных

Скалярные типы
Векторные типы
Матричные типы
Массивы
Структуры
Ключевое слово typedef
Префиксы переменных
Ключевые слова
Поток выполнения программы
Приведение типов

Операторы
Определяемые пользователем функции
Встроенные функции
Итоги

X-файлы

Глава Знакомство с вершинными шейдерами
Вершинный шейдер заменяет этапы преобразования и освещения в фиксированном конвейере
Объявление вершин
Описание объявления вершин
Создание объявления вершин
Разрешение использования объявлений вершин
Использование данных вершин

Этапы работы с вершинным шейдером
Написание и компиляция вершинного шейдера
Создание вершинного шейдера
Установка вершинного шейдера
Уничтожение вершинного шейдера
Пример приложения: рассеянный свет

Пример приложения: мультипликационная визуализация
(А) Объекты с затенением выполненным
Мультипликационное затенение
Текстура затенения содержит используемые
Используемый оттенок зависит от интервала, в который попадает координата текстуры
Код вершинного шейдера для мультипликационного затенения
Обводка силуэта
Представление краев
Квадрат, представляющий край

Вырожденный квадрат, описывающий край, разделенный на два треугольника
Вершины vи vкрая силуэта смещаются
Проверка для краев силуэта
На Рисунок (a) одна из граней
Край, определенный вершинами vи vиспользуется только одной гранью
Генерация краев
Код вершинного шейдера обводки силуэта
Итоги

X-файлы

Глава Знакомство с пиксельными шейдерами
Основы мультитекстурирования
Визуализация освещенного прожектором
Разрешение работы с несколькими текстурами
Координаты для нескольких текстур

Входные и выходные данные пиксельного шейдера
Этапы работы с пиксельным шейдером
Написание и компиляция пиксельного шейдера
Создание пиксельного шейдера
Установка пиксельного шейдера
Уничтожение пиксельного шейдера
Объекты выборки в HLSL
Пример приложения: мультитекстурирование в пиксельном шейдере
Комбинирование текстур Пусть b
Итоги

X-файлы

Глава Каркас эффектов
Техники и проходы
Встроенные объекты HLSL
Объекты текстуры
Объекты выборки и режимы выборки
Объекты вершинных и пиксельных шейдеров
Строки
Аннотации
Состояния устройства в файле эффекта
Создание эффекта

Установка констант
Использование эффекта
Получение дескриптора эффекта
Активация эффекта
Начало эффекта
Установка текущего прохода визуализации
Завершение эффекта
Пример

Пример приложения: освещение и текстурирование в файле эффектов
Окно приложения Lighting and Texturing Текстуры, материал и режимы освещения заданы в файле эффекта
Пример приложения: туман
Окно программы Fog Effect В этом
Пример приложения: мультипликационный эффект
EffectEdit
Окно программы EffectEdit, поставляемой вместе с DirectX SDK
Итоги

X-файлы

Часть IМатематическая подготовка
Векторы в трехмерном пространстве
Свободные векторы, определенные независимо от системы координат

Слева изображена левосторонняя
Векторы в стандартной
Нулевой вектор и базовые орты трехмерной системы координат
Равенство векторов
Вычисление модуля вектора
Нормализация вектора
Сложение векторов
Сложение векторов Обратите
Вычитание векторов

Вычитание векторов
Умножение вектора на скаляр
Скалярное произведение векторов
Векторное произведение
Векторное произведение Вектор p = u v перпендикулярен как вектору u, так и вектору v
Решение
Матрицы
Равенство, умножение матрицы на скаляр и сложение матриц
Умножение

Единичная матрица
Инвертирование матриц
Транспонирование матриц
Матрицы в библиотеке DX
Основные преобразования
Перемещение на единиц по оси X и на единиц по оси Y
Поворот на градусов против часовой стрелки вокруг оси Z
Масштабирование с коэффициентом по оси X и коэффициентом по оси Y

Комбинирование преобразований
Некоторые функции для преобразования векторов
Плоскости
Плоскость, заданная вектором нормали n и точкой плоскости p0
Если точка pпринадлежит
DXPLANE
Взаимное расположение точки и плоскости
Создание плоскостей
Нормализация плоскости
Преобразование плоскости

Точка плоскости, ближайшая к заданной
Точка q плоскости (, d)
Лучи
Луч, заданный начальной
Пересечение луча и плоскости
Итоги
Часть IIОсновы Direct
Часть IIIПрименение Direct
Часть IVШейдеры и эффекты