- Артикул:00-01047271
- Автор: Гамбетта Г.
- ISBN: 978-5-4461-1911-0
- Обложка: Мягкая обложка
- Издательство: Питер (все книги издательства)
- Город: Санкт-Петербург
- Страниц: 224
- Формат: 70х100/16
- Год: 2022
- Серия: Библиотека программиста (все книги серии)
За красивыми образами анимационного фильма и реалистичной средой популярных видеоигр скрываются загадочные алгоритмы.
В этой книге вы познакомитесь с двумя основными направлениями современной графики: рейтрейсингом и растеризацией. Такая литература пугает новичков из-за большого количества математики. Но только не в этом случае. Познакомьтесь с ЗD-рендерингом без длинных формул!
Вы создадите полноценные рабочие рендеры - рейтрейсинг, симулирующий лучи света и их отражение от объектов, растеризатор ЗD-моделей, научитесь создавать реалистичные отражения и тени, а также отрисовывать сцены с любой точки обзора.
Наглядные примеры с псевдокодом позволят без проблем создавать рендеры на любом языке, а живые JavaScript-демки каждого алгоритма вдохновят на самостоятельные подвиги.
Содержание
Об авторе
О техническом редакторе
Благодарности
Введение
Для кого эта книга
Охват книги
Зачем читать эту книгу
Структура издания
И еще об авторе
От издательства
Глава 1. Вводные понятия
Холст
Система координат
Цветовые модели
Субтрактивная цветовая модель
Аддитивная цветовая модель
Забудьте лишние детали
Глубина цвета и представление
Управление цветом
Сцена
Итоги главы
Часть I. Трассировка лучей
Глава 2. Базовая трассировка лучей
Рендеринг ландшафта Швеции
Основные допущения
С холста на окно просмотра
Трассировка лучей
Уравнение траектории луча
Уравнение сферы
Луч встречается со сферой
Рендеринг первых сфер
Итоги главы
Глава 3. Свет
Упрощающие допущения
Источники света
Точечный свет
Направленный свет
Рассеянный свет
Освещение одной точки
Диффузное отражение
Моделирование диффузного отражения
Уравнение диффузного отражения
Нормали сферы
Рендеринг с диффузным отражением
Зеркальное отражение
Моделирование зеркального отражения
Выражение зеркального отражения
Уравнение полного освещения
Рендеринг с зеркальными отражениями
Итоги главы
Глава 4. Тени и отражения
Тени
Принцип формирования теней
Рендеринг с тенями
Отражения
Зеркала и отражения
Рендеринг с отражениями
Итоги главы
Глава 5. Расширение возможностей трассировщика лучей
Свободное расположение камеры
Улучшение производительности
Распараллеливание
Кэширование неизменяемых значений
Оптимизация теней
Иерархические структуры
Прореживание
Поддержка других примитивов
Конструктивная блочная геометрия
Прозрачность
Преломление
Избыточная выборка
Итоги главы
Часть II. Растеризация
Глава 6. Прямые
Описание прямых
Рисование прямых
Рисование прямых с любым уклоном
Линейная интерполяция
Итоги главы
Глава 7. Закрашенные треугольники
Отрисовка каркасных треугольников
Отрисовка закрашенных треугольников
Итоги главы
Глава 8. Затененные треугольники
Определение задачи
Вычисление затенения краев
Вычисление внутреннего затенения
Итоги главы
Глава 9. Перспективная проекция
Базовые допущения
Поиск Р
Уравнение проекции
Свойства уравнения проекции
Проецирование первого 30-объекта
Итоги главы
Глава 10. Описание и рендеринг сцены
Представление куба
Модели и экземпляры
Преобразование модели
Преобразование камеры
Матрица преобразований
Однородные координаты
Матрица вращений в однородных координатах
Матрица масштабирования в однородных координатах
Матрица для переноса в однородных координатах
Матрица проекций в однородных координатах
Матрица отображения из окна просмотра на холст в однородных координатах
Возвращение к матрице преобразований
Итоги главы
Глава 11. Отсечение
Обзор процесса отсечения
Отсекаемый объем
Отсечение сцены по плоскости
Определение плоскостей отсечения
Отсечение объектов
Отсечение треугольников
Пересечение отрезка с плоскостью
Псевдокод отсечения
Место отсечения в конвейере рендеринга.
Итоги главы
Глава 12. Удаление скрытых поверхностей
Рендеринг сплошных объектов
Алгоритм художника
Буферизация глубины
Использование 1 /Z вместо Z
Отбрасывание задней грани
Классификация треугольников
Итоги главы
Глава 13. Затенение
Затенение и освещение
Плоское затенение
Затенение по Гуро
Затенение по Фонгу
Итоги главы
Глава 14. Текстуры
Закрашивание ящика
Билинейная фильтрация
Трилинейная фильтрация
Итоги главы
Глава 15. Расширение растеризатора
Карты нормалей
Наложение карты среды
Тени
Трафаретные тени
Создание теневых объемов
Подсчет пересечений луча и теневого объема
Настройка трафаретного буфера
Теневая карта
Итоги главы
Послесловие
Приложение. Линейная алгебра
Точки
Векторы
Представление векторов
Модуль вектора
Операции сточками и векторами
Вычитание точек
Сложение точки и вектора
Сложение векторов
Умножение вектора на число
Перемножение векторов
Скалярное произведение
Векторное произведение
Матрицы
Операции с матрицами
Сложение матриц
Умножение матрицы на число
Перемножение матриц
Умножение матрицы на вектор
Артикул 00201406