Основы синтеза фотореалистических изображений: трассировка лучей Лекционная часть




Скачать 56.49 Kb.
Дата 10.09.2016
Размер 56.49 Kb.

Основы синтеза фотореалистических изображений: трассировка лучей

Лекционная часть


Лекция 1 (Части 1-2)

Введение в методы визуализации. Понятие рендеринга (визуализации), рендеринг реального времени и предварительный рендеринг. Методы на основе растеризации и их поддержка современной графической аппаратурой. Методы глобального освещения и трассировка лучей как основа большинства из них. Примеры изображений, сформированных методами на основе трассировки лучей.

Обзор классической трассировки лучей. Генерация и трассировка первичных лучей. Использование вторичных лучей для получения базовых эффектов глобального освещения (тени, отражения и преломления), расчет направления отраженного и преломленного луча, эффект полного внутреннего отражения. Расчет освещенности точки и модель освещения Уиттеда. Критерии остановки для метода трассировки лучей. Выводы: достоинства и недостатки метода, его область применимости.

Лекция 2 (Части 2-5)

Модель наблюдателя (камеры). Понятие наблюдателя (камеры) и его математическое описание. Задание положения и ориентации наблюдателя. Задание ориентации с помощью углов Эйлера. Вычисление направления первичного луча для заданного фрагмента экранной плоскости.

Точки соударения и их атрибуты. Атрибуты точек соударения (положение, нормаль, текстурные координаты и др.) и необходимость их вычисления. Локальная (или объектная, или модельная) и мировая система координат, причины их использования. Понятие аффинных преобразований и представление частного случая аффинного преобразования в виде суперпозиции трех преобразований: масштабирование, поворот и параллельный перенос. Изменение неявного уравнения базового объекта после применения аффинного преобразования. Понятие обратно преобразованного луча. Алгоритм для вычисления пересечения луча с преобразованным объектом. Влияние аффинного преобразования на нормали в локальной системе координат; масштабирование с разными коэффициентами по осям (NUS). Пересечение луча с базовой плоскостью, сферой и кубом; вычисление нормалей в точках соударения.

Локальные модели освещенности. Диффузная модель освещения и закон Ламберта. Модели освещения Блинна и Фонга, моделирование зеркального блика. Творческие модели освещения: модель освещения Эми Гуч, создание эффекта мультипликации. Физически-корректная модель освещения Кука-Торренса: моделирование шероховатой поверхности совокупностью блестящих микрограней и закон их распределения, эффекты затенения и экранирования, геометрический масштабный коэффициент, коэффициент Френеля и аппроксимация Шлика. Создание эффект микрорельефа (технология bump mapping), понятие касательного пространства.

Лекция 3 (Части 6-7)

Оптимизация трассировки лучей. Причины низкой производительности классической трассировки лучей. Понятие ускоряющих структур. Ускоряющая структура на основе регулярной (равномерной) сетки: построение и пошаговый проход. Выводы: ускорение трассировки лучей и основные недостатки данной структуры.

Текстурирование и мягкие тени. Место текстур в компьютерной графике, причины их применения. Математическое описание двумерной текстуры, понятие функции интенсивности. Типы текстур (процедурные и растровые) как разные способы задания функции интенсивности; достоинства и недостатки каждого типа. Вычисление функции интенсивности для растровой текстуры, билинейная фильтрация. Наложение текстур на объекты, базовый алгоритм текстурирования. Наложение текстуры на плоскость, сферу и куб. Основы моделирования площадных источников света и мягких теней.

Практическая часть


Лабораторный практикум по классической трассировке лучей. Не изменился.

Основы вычислений общего назначения на новых архитектурах

Лекционная часть


Лекция 1

Зачем считать на ГПУ? Причины быстрого развития ГПУ и перспективы их использования для вычислений общего назначения (GPGPU). Средства разработки для графических процессоров: графические API и шейдерные языки (DirectX, OpenGL), средства от производителей (NVIDIA CUDA, AMD Stream), сторонние средства (BrookGPU, Sh). Достоинства и недостатки данных средств. Переход к шейдерному программированию.

Основы формирования изображений на видеоадаптере. Необходимые графические понятия для использования шейдеров в вычислениях общего назначения: преобразование координат в процессе рендеринга, основные стадии программируемого графического конвейера (вершинный шейдер, сборка примитивов и растеризация, фрагментный шейдер).

Общие принципы вычислений на графическом процессоре. Базовые техники GPGPU на примере задачи сложения двух матриц и ее подробная реализация на GLSL. Доступные форматы текстур и работа с ними, использование шейдеров (загрузка, компиляция, передача параметров), вывод результата в текстуру с помощью буфера кадров, выполнение расчетов на графическом процессоре. Ограничения шейдерных программ.

Лекция 2

Пример 1: Моделирование гравитационного взаимодействия N тел. Пример использования шейдеров для вычислений: задействует практически все важные техники. Показаны подходы к совместному анализу теоретической и практической производительности приложения, определению узких мест, подходы к оптимизации производительности вычислений.

Пример 2: Визуализация неявно заданных поверхностей методом трассировки лучей. Универсальная задача, для визуализации поверхностей в виртуальных моделях и научно-инженерном анализе, и ее решение на ГПУ.

Лекция 3

Основы формирования стереоизображений. Понятие стереоизображения и стереоэффекта. Методы формирования стереоэффекта: перекрестный и параллельный взгляд, анаглифные очки, затворные стереоочки, поляризационные стереоочки. Демонстрация некоторых методов.

Практические вопросы построения стереоизображений. Описание и сравнение различных типов анаглифа. Формирование стереоизображения для трехмерных мониторов (на основе технологии поляризации) и системы на базе двух проекторов с поляризационными фильтрами.

Практическая часть


Tutorial 1 – Matrix Addition

Пример демонстрирует простейшую реализацию сложения двух матриц на графическом процессоре с использованием языка GLSL (OpenGL Shading Language).



Tutorial 2 - Particle System

Пример демонстрирует обработку большого числа невзаимодействующих частиц (до 106). Начальные состояния частиц генерируются случайным образом в соответствии с некоторым правилом. На частицы влияет сила гравитации, под действием которой они будут опускаться вниз. При этом возможны столкновения со стенками ящика, внутри которого находятся частицы, и с вращающимся шаром.





Tutorial 3 - N-Bodies Simulation

Пример демонстрирует интерактивное моделирование гравитационного взаимодействия N точечных масс (N ~ 16K). В начальный момент времени заданы массы, положения и скорости материальных точек. Требуется найти положения точек для всех последующих моментов времени. Для моделирования используются распространенные методы прямого интегрирования: Эйлера, Рунге-Кутты 2-ого и 4-ого порядка.





Tutorial 4 - Implicit Surfaces

Программа выполняет визуализацию неявно заданной поверхности, отвечающей уравнению F(x, y, z) = 0. Для визуализации используется метод классической трассировки лучей.



Приложение может быть запущено в режиме стерео и демонстрирует формирование стереоизображения различными методами: перекрестный и параллельный взгляд, анаглифные очки и поляризационные стереоочки.



Tutorial 5 - Julia Fractals

Программа выполняет визуализацию фрактального множества Джулиа в пространстве кватернионов (визуализируется одгна из проекций множества), которое определяется как совокупность всех точек q0, для которых последовательность qn+1 = qn c сходится. Задача дает другой универсальный пример визуализации пространственных данных.



Приложение может быть запущено в режиме стерео и демонстрирует формирование стереоизображения различными методами: перекрестный и параллельный взгляд, анаглифные очки и поляризационные стереоочки.





Tutorial 6 - Ray Tracing

Программа выполняет визуализацию простой сцены с помощью метода трассировки фотонов и обратной трассировки лучей. Пример фотореалистической визуализации реального времени.





База данных защищена авторским правом ©infoeto.ru 2022
обратиться к администрации
Как написать курсовую работу | Как написать хороший реферат
    Главная страница