netlib.narod.ru
< Назад |
Оглавление
| Далее >
Оглавление
Предисловие
Об авторах
О рецензенте
Благодарности
Введение
Что такое XNA?
Для кого предназначена эта книга
Как организована книга
Предварительные требования
Исходный код и ошибки
Связь с авторами
Глава 1. Основы планирования и программирования игр
Планирование игры
Улучшение вашего плана великой игры
Концепции игрового программирования в XNA
Общая структура игры
Инициализация игры
Диспетчер графических устройств
Диспетчер конвейера содержимого
Методы инициализации игры в классе XNA Game
Завершение игры
Игровой цикл
Итоги
Глава 2. Двухмерная графика, звук и основы ввода
Двухмерная графика
Общепринятые игровые термины
Двухмерная и экранная системы координат
Рисование спрайта с использованием XNA
Перемещение спрайта по экрану
Код для обнаружения столкновений
Ввод в игре
Использование игрового пульта Xbox 360
Использование клавиатуры
Использование мыши
Игровой звук
Создание звукового содержимого с XACT
Использование звука в играх
Итоги
Глава 3. Создаем первую двухмерную игру
Проектирование игры для XNA
Проект для первой игры: Rock Rain
В путь
Рисуем фон
Создание игрового компонента для игрока
Создание астероидов
Создание игровой логики
Добавление звуков
Добавляем табло со счетом
Взболтай, детка!
Модификация и развертывание на Xbox 360
Итоги
Глава 4. Улучшаем первую двухмерную игру
Планирование новой версии Rock Rain
Создание игровых экранов
Создание экрана помощи
Создание начального экрана
Создание компонента для меню
Еще о начальном экране
Создание сцены игры
Создание игрового компонента для анимированных спрайтов
Создание табло со счетом
Создание источников энергии
Создание игрового компонента игрока
Объединяем все вместе
Навигация между сценами
Итоги
Глава 5. Основы сетевых игр
Введение в многопользовательские игры
Выбор сетевой топологии
Походовая игра или игра реального времени
Несколько технических советов
В самом начале тщательно спланируйте игру
Программируйте сетевые возможности с самого начала
Тщательно определяйте типы и размеры сообщений
Скрывайте задержку от игрока
Включайте возможность одиночной игры в ваши многопользовательские игры
Используйте отдельный поток для обработки сетевых сообщений
Тестирование, тестирование и еще раз тестирование!
Знакомство с работой с сетью в XNA
Запуск компонента служб игрока
Определение класса NetworkHelper
Регистрация игрока
Создание сессии
Синхронный поиск и присоединение к сессии
Асинхронный поиск и присоединение к сессии
Запуск игры
Обработка сообщений
Заключительные штрихи
Итоги
Глава 6. Rock Rain Live!
Планирование Rock Rain Live
Добавление поддержки работы с сетью
Изменение начального экрана
Создание сцены сетевой игры
Обработка ввода в сцене
Класс NetworkHelper
Создание игровой сессии
Поговорим
Синхронизация игроков
Добавление поддержки сети к классу Player
Добавление поддержки сети к классу PowerSource
Добавление сетевой поддержки для астероидов
Итоги
Глава 7. Основы программирования трехмерных игр
Трехмерные системы координат и проекция
Вершины и примитивы
Векторы, матрицы и трехмерные преобразования
Свет, камера... эффект!
Рисование трехмерных осей в XNA
Программирование вершин и буфера вершин
Программирование эффекта и визуализация трехмерной сцены
Программирование главного класса программы
Модели и сетки
Итоги
Глава 8. Конвейер визуализации, шейдеры и эффекты
Конвейер визуализации
Конвейер визуализации: фиксированный и программируемый
Конвейер визуализации в XNA
Шейдеры
Вершинные шейдеры
Растеризация
Пиксельные шейдеры
Высокоуровневый язык шейдеров HLSL
Типы данных
Неизменные и меняющиеся входные данные
Семантика
Функции
Встроенные функции
Создание простого шейдера
Эффекты
Использование эффектов в XNA
Вспомогательные классы эффектов
Материалы
Инструменты для разработки шейдеров
Итоги
Глава 9. Свет, камера, преобразования!
Камеры
Класс BaseCamera
Перспективная проекция камеры
Вид камеры (местоположение и ориентация)
Система координат камеры
Пирамида видимого пространства камеры
Камера с видом от третьего лица
Установка параметров преследования
Обновление местоположения камеры
Вращение камеры вокруг цели
Обновление камеры
Освещение
Базовое освещение
Точечный свет/всенаправленный свет
Диспетчеры камер и источников света
Диспетчер камер
Диспетчер источников света
Преобразования объектов
Итоги
Глава 10. Генерация ландшафтов
Карты высот
Генерация карты высот
Форматы файлов карт высот
Класс Terrain
Загрузка карты высот ландшафта
Генерация сетки ландшафта
Генерация индексов сетки
Генерация местоположения вершин и координат текстуры
Генерация нормалей вершин
Генерация касательных и бинормалей вершин
Эффект для ландшафта
Мультитекстурирование
Наложение нормалей
Эффект для ландшафта — обработка вершин
Эффект для ландшафта — обработка пикселей
Установка материала эффекта
Рисование ландшафта
Запрос высоты ландшафта
Пересечение луча и ландшафта
Итоги
Глава 11. Скелетная анимация
Типы анимации
Анимация с ключевыми кадрами
Скелетная анимация
Представление скелета и костей
Скелетная анимация в XNA
Класс Keyframe
Класс AnimationData
Класс AnimatedModelData
Обработчик анимированых моделей
Переопределение используемого по умолчанию метода обработки
Извлечение скелета модели
Извлечение анимации модели
Чтение и запись произвольных пользовательских данны
Записыватель содержимого
Считыватель содержимого
Класс AnimatedModel
Загрузка анимированной модели
Формулы скелетной анимации
Преобразование вершин сетки
Комбинирование преобразований костей
Анимация модели
Обновление анимированной модели
Эффект анимированной модели
Обработка вершин анимированной модели
Обработка пикселей анимированной модели
Конвертация эффекта сетки
Рисование модели
Итоги
Глава 12. Создание игры с видом от третьего лица
Несколько примеров игр
Проектирование игры
Описание игры
Игровой процесс
Технический проект
Начало разработки игрового движка
Камеры, свет и преобразования
Ландшафт
Анимированные модели
Небо
Небесный куб
Небесный купол
Создание класса SkyDome
Загрузка неба
Обновление неба
Рисование неба
Вспомогательные классы
Создание игровой логики
Завершение игрового движка
Итоги
Глава 13. Заключительные слова
Алфавитный указатель
netlib.narod.ru
< Назад |
Оглавление
| Далее >
Сайт управляется системой
uCoz