Компьютерная графика. Рейтрейсинг и растеризация

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

За красивыми образами анимационного фильма и реалистичной средой популярных видеоигр скрываются загадочные алгоритмы. В этой книге вы познакомитесь с двумя основными направлениями современной графики: рейтрейсингом и растеризацией. Такая литература пугает новичков из-за большого количества математики. Но только не в этом случае. Познакомьтесь с 3D-рендерингом без длинных формул! Вы создадите полноценные рабочие рендеры — рейтрейсинг, симулирующий лучи света и их отражение от объектов, растеризатор 3D-моделей, научитесь создавать реалистичные отражения и тени, а также отрисовывать сцены с любой точки обзора. Наглядные примеры с псевдокодом позволят без проблем создавать рендеры на любом языке, а живые JavaScript-демки каждого алгоритма вдохновят на самостоятельные подвиги.

Author(s): Гэбриел Гамбетта
Series: Библиотека программиста
Publisher: Питер
Year: 2022

Language: Russian
Commentary: Vector PDF
Pages: 224
City: СПб.
Tags: Rendering; Graphics; Texturing; Linear Algebra; Color; Elementary; Raytracing Shading

Об авторе
О техническом редакторе
Благодарности
Введение
Для кого эта книга
Охват книги
Зачем читать эту книгу
Структура книги
Об авторе
От издательства
Глава 1. Вводные понятия
Холст
Система координат
Цветовые модели
Субтрактивная цветовая модель
Аддитивная цветовая модель
Забудьте лишние детали
Глубина цвета и представление
Управление цветом
Сцена
Обобщение
Часть I. Трассировка лучей
Глава 2. Базовая трассировка лучей
Рендеринг ландшафта Швеции
Основные допущения
С холста на окно просмотра
Трассировка лучей
Уравнение траектории луча
Уравнение сферы
Луч встречается со сферой
Рендеринг первых сфер
Обобщение
Глава 3. Свет
Упрощающие допущения
Источники света
Точечный свет
Направленный свет
Рассеянный свет
Освещение одной точки
Диффузное отражение
Моделирование диффузного отражения
Уравнение диффузного отражения
Нормали сферы
Рендеринг с диффузным отражением
Зеркальное отражение
Моделирование зеркального отражения
Выражение зеркального отражения
Уравнение полного освещения
Рендеринг с зеркальными отражениями
Обобщение
Глава 4. Тени и отражения
Тени
Принцип формирования теней
Рендеринг с тенями
Отражения
Зеркала и отражения
Рендеринг с отражениями
Обобщение
Глава 5. Расширение возможностей трассировщика лучей
Свободное расположение камеры
Улучшение производительности
Распараллеливание
Кэширование неизменяемых значений
Оптимизация теней
Пространственные структуры
Сабсэмплинг
Поддержка других примитивных фигур
Конструктивная блочная геометрия
Прозрачность
Рефракция
Суперсэмплинг
Обобщение
Часть II. Растеризация
Глава 6. Линии
Описание линий
Рисование линий
Рисование линий с любым уклоном
Линейная интерполяция
Обобщение
Глава 7. Закрашенные треугольники
Отрисовка каркасных треугольников
Отрисовка закрашенных треугольников
Обобщение
Глава 8. Затененные треугольники
Определение задачи
Вычисление затенения краев
Вычисление внутреннего затенения
Обобщение
Глава 9. Перспективная проекция
Базовые допущения
Поиск P'
Уравнение проекции
Свойства уравнения проекции
Проецирование первого 3D-объекта
Обобщение
Глава 10. Описание и рендеринг сцены
Представление куба
Модели и экземпляры
Трансформация модели
Трансформация камеры
Матрица трансформаций
Однородные координаты
Однородная матрица вращений
Однородная матрица масштабирования
Однородная матрица для переноса
Однородная матрица проекций
Однородная матрица отображения из окна просмотра на холст
Возвращение к матрице трансформаций
Обобщение
Глава 11. Клиппинг
Обзор процесса клиппинга
Отсекаемый объем
Клиппинг сцены по плоскости
Определение плоскостей отсечения
Отсечение целых объектов
Отсечение треугольников
Пересечение отрезка с плоскостью
Псевдокод клиппинга
Место клиппинга в конвейере рендеринга
Обобщение
Глава 12. Удаление скрытых поверхностей
Рендеринг монолитных объектов
Алгоритм художника
Буферизация глубины
Использование 1/Z вместо Z
Отбрасывание задней грани
Классификация треугольников
Обобщение
Глава 13. Затенение
Затенение и освещение
Плоское затенение
Затенение по Гуро
Затенение по Фонгу
Обобщение
Глава 14. Текстуры
Закрашивание ящика
Билинейная фильтрация
MIP-текстурирование
Трилинейная фильтрация
Обобщение
Глава 15. Расширение растеризатора
Отображение нормалей
Наложение карты среды
Тени
Трафаретные тени
Создание теневых объемов
Подсчет пересечений луча и теневого объема
Настройка трафаретного буфера
Теневая карта
Обобщение
Послесловие
Приложение. Линейная алгебра
Точки
Векторы
Представление векторов
Величина вектора
Операции с точками и векторами
Вычитание точек
Сложение точки и вектора
Сложение векторов
Умножение вектора на число
Перемножение векторов
Скалярное произведение
Перекрестное произведение
Матрицы
Операции с матрицами
Сложение матриц
Умножение матрицы на число
Перемножение матриц
Умножение матрицы на вектор