Программирование компьютерной графики : современный OpenGL
Здесь можно купить книгу "Программирование компьютерной графики : современный OpenGL" в печатном или электронном виде. Также, Вы можете прочесть аннотацию, цитаты и содержание, ознакомиться и оставить отзывы (комментарии) об этой книге.
Место издания: Москва
ISBN: 978-5-97060-779-4
Страниц: 373
Артикул: 94680
Возрастная маркировка: 16+
Краткая аннотация книги "Программирование компьютерной графики"
Данная книга посвящена основам современной компьютерной графики. Подробно рассматривается ряд чисто математических понятий, таких как матрицы и кватернионы, алгоритмы и API, а также физика освещения. Отдельные главы посвящены методу трассировки лучей и современному OpenGL. Рассматривается реализация ряда специальных эффектов при помощи шейдеров в OpenGL. Весь исходный код доступен в репозитории на github. Издание будет полезно всем, кто планирует работать с компьютерной графикой.
Содержание книги "Программирование компьютерной графики : современный OpenGL"
Посвящение
Благодарности
Введение
Предисловие от издательства
Глава 1. Координаты и преобразования на плоскости
Преобразования на плоскости
Комплексные числа как координаты на плоскости
Глава 2. Основные геометрические алгоритмы на плоскости
Прямая и ее уравнение
Построение прямой, луча и отрезка по двум точкам
Определение положения точки относительно прямой или отрезка
Определение положения круга по отношению к прямой
Прямоугольники со сторонами, параллельными осям координат, и их классификация по отношению к прямой
Нахождение расстояния от точки до ААВВ
Определение угла между двумя прямыми
Вычисление площади треугольника и многоугольника
Определение направления обхода многоугольника
Проверка многоугольника на выпуклость
Нахождение пересечения двух прямых
Нахождение пересечения двух отрезков
Нахождение расстояния и ближайшей точки от заданной точки к прямой, лучу и отрезку
Проверка на попадание точки внутрь многоугольника
Отсечение отрезка по выпуклому многоугольнику. Алгоритм Цируса–Бека
Алгоритм отсечения Лянга–Барского
Отсечение многоугольника. Алгоритм Сазерленда–Ходжмана
Отсечение многоугольника по выпуклому многоугольнику
Барицентрические координаты
Построение выпуклой оболочки, алгоритм Грэхема
Триангуляция Делоне. Диаграмма Вороного
Реализация булевых операций над многоугольниками. Метод построчного сканирования. Разложение на трапеции
Глава 3. Координаты и преобразования в пространстве. Кватернионы
Векторы и матрицы в пространстве
Преобразования в пространстве. Базовые преобразования
Пример: отражение относительно плоскости
Однородные координаты
Жесткие преобразования
Преобразования нормали
Проектирование. Параллельное проектирование
Перспективное проектирование
Углы Эйлера. Задание ориентации в пространстве
Понятие линейного пространства и его размерности . Многомерные векторы и преобразования
Системы координат в пространстве. Переходы между различными системами координат
Ортогонализация Грамма–Шмидта
Кватернионы. Задание поворотов и ориентации в пространстве при помощи кватернионов
Использование библиотеки GLM для работы с 3- и 4-мерными векторами и матрицами, а также кватернионами
Преобразование между кватернионом и базисом касательного пространства
Собственные векторы и собственные числа матрицы
Глава 4. Основные геометрические алгоритмы в пространстве
Задание прямых и плоскостей в пространстве
Проекция точки на прямую
Проекция точки на плоскость
Задание прямой двумя точками. Задание плоскости тремя точками
Проведение плоскости через прямую и точку
Проверка прямых и отрезков на параллельность и перпендикулярность.
Нахождение углов между прямыми и отрезками
Проверка, лежит ли отрезок или прямая на заданной плоскости
Проверка, пересекает ли отрезок/луч/прямая заданную плоскость
Проверка, пересекает ли луч заданный треугольник
Нахождение пересечения луча и ОBB
Нахождение пересечения луча и сферы
Проверка, пересекает ли плоскость заданную сферу
Проверка, пересекает ли плоскость заданный ААВВ
Телесный угол. Проверка на попадание в него
Определение, лежат ли две заданные прямые в одной плоскости
Классификация двух прямых в пространстве
Нахождение расстояния между двумя прямыми в пространстве
Проверка на пересечение двух треугольников в пространстве
Глава 5. Структуры для работы с большими наборами геометрических данных
Ограничивающие тела
Иерархические структуры
Глава 6. Цвет и его представление. Работа с цветом
Цветовая модель CIE XYZ
Цветовая модель RGB
Цветовые модели CMY CMYK
Цветовая модель HSV
Цветовое пространство HSL
Гамма-коррекция
Цветовые пространства Y¢uv и YCbCr
Цветовые пространства L*u*v* и L*a*b*
Цветовое пространство sRGB
Соглашения по дальнейшему использованию цветов
Глава 7. Растеризация и растровые алгоритмы
Класс TgaImage и его использование
Понятие связности растровой сетки. 4- и 8-связность
Построение растрового представления отрезка. Алгоритм Брезенхейма
Алгоритм Брезенхейма для окружности
Заполнение треугольника
Заполнение области, заданной цветом границы
Глава 8. Удаление невидимых линий и поверхностей
Лицевые и нелицевые грани
Сложность по глубине
Загораживание
Когерентность
Удаление невидимых линий. Алгоритм Робертса
Понятие количественной невидимости. Алгоритм Аппеля
Удаление невидимых граней. Метод трассировки лучей
Метод буфера глубины (z-буфера)
Метод иерархического z-буфера
Алгоритмы, основанные на упорядочивании. Алгоритм художника
Использование BSP-деревьев для определения видимости
Метод порталов
Множества потенциально видимых граней (PVS). Расчет PVS при помощи порталов
Глава 9. Отражение и преломление света. Модели освещения
Немного физики
Модель Ламберта (идеальное диффузное освещение)
Модель Фонга
Модель Блинна–Фонга
Изотропная модель Уорда
Модель Миннаэрта
Модель Ломмеля–Зилиджера
Модель Страусса
Простейшая анизотропная модель
Анизотропная модель Уорда
Двулучевая функция отражательной способности (BRDF)
Физически корректные модели освещения
Модель Орена–Найара
Модель Кука–Торранса
Диффузная модель Диснея
Модель Ашихмина–Ширли
Image-based lighting
Сферические гармоники и их использование
Precomputed Radiance Transfer
Использование PRT в играх Far Cry 3 и FarCry 4
Глава 10. Трассировка лучей
Constructive Solid Geometry
Распределенная трассировка лучей
Реализация спецэффектов при помощи распределенной трассировки лучей
Фотонные карты
Monte-Carlo path tracing
Глава 11. Взаимодействие с оконной системой. Библиотекиfreeglut и GLFW
Основы работы оконной системы
Работа с библиотекой freeglut
Работа с библиотекой GLFW
Пример работы с OpenGL при помощи библиотеки Qt 5
Глава 12. Основы современного OpenGL
Основные концепции OpenGL. Графический конвейер
Расширения OpenGL
Отсечение примитивов
Вершинный шейдер
Растеризация и система координат экрана
Фрагментный шейдер
Операции с фрагментами
Работа с буферами
Атрибуты вершин. Вершинные массивы, VBO, VAO
Вершинные массивы, задание атрибутов при помощи вершинных массивов
Вывод примитивов
Провоцирующая вершина
Буфер трафарета и работа с ним
Тест глубины
Полупрозрачность. Смешивание цветов
Текстуры и работа с ними
Работа с текстурами
Работа с шейдерами
Готовое приложение
Вспомогательные классы и работа с ними
Глава 13. Простейшие эффекты
Отражение относительно плоскости
Имитация отражения окружающей среды и преломления
Точечные спрайты. Системы частиц
Проективное текстурирование
Реализация основных моделей освещения
Построение теней при помощи теневых карт
Освещение с учетом микрорельефа (bump mapping)
Имитация отражения окружающей среды с учетом карт нормалей
Вывод текста при помощи поля расстояний
Рендеринг меха
Physically Based Rendering (PBR)
Приложение. Язык GLSL
Предметный указатель
Все отзывы о книге Программирование компьютерной графики : современный OpenGL
Боресков А. В. другие книги автора
С книгой "Программирование компьютерной графики" читают
Внимание!
При обнаружении неточностей или ошибок в описании книги "Программирование компьютерной графики : современный OpenGL (автор Алексей Боресков)", просим Вас отправить сообщение на почту help@directmedia.ru. Благодарим!
и мы свяжемся с вами в течение 15 минут
за оставленную заявку