Трёхмерная компьютерная графика

Новосибирск, осень 2017

Описание

Курс посвящён программированию интерактивной трёхмерной графики. Программа затрагивает, как теоретические основы построения изображений объёмных сцен без привязки к какому-либо аппаратному или программному обеспечению, так и практические аспекты их реализации на современных GPU. Областями приложения навыков, полученных в курсе, являются компьютерные игры, интерактивные геоинформационные системы, системы трёхмерного моделирования.

На лекциях рассматриваются математические основы трёхмерной графики (однородные координаты, проекционные матрицы, моделирование камеры, симуляция освещения). Разбирается устройство конвейера растеризации видеокарт и его программирование (пиксельные и вершинные шейдеры, буферизация, устройство памяти). Проводится знакомство с API доступа к функционалу графических ускорителей – DirectX 11. Изучаются такие алгоритмы, как скелетная анимация, т.н. «bump mapping» и его модификации, фильтрация изображений на видеокарте, отложенное затенение (англ. «deffered shading»), виртуализация видеопамяти (т.н. «mega texture»). Показываются приёмы построения теней, рендеринга полупрозрачный объектов и некоторые идеи оптимизации скорости отрисовки.

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

Сайт курса: https://sites.google.com/view/nsk-cg-csc/

Преподаватели