Предлагаемый спецкурс посвящен основам и особенностям разработки приложений на основе
графических систем OpenGL и DirectX (Direct3D), позволяющих создавать
плоские и трехмерные сцены и анимацию. Занятия группы посвящены разработке программ
под WinAPI (прямая работа с буфером кадра), написание программ с использованием
"низкоуровневых" интерфейсов OpenGL (версий 1.02 - 3.2) и DirectX (версии 9.0).
Исследуемые проблемы: матричная и векторная алгебра, моделирование в пространстве, анимация,
текстурирование, освещение и тонирование, построение 3D систем, спецэффекты и т.д.
Требования к слушателям: знание языка программирования "Си" (на уровне понимания массивов и т.п.), хорошее владение курсом математики 10 класса ФМЛ № 30.
Занятия проводятся в здании Физико-математического лицея № 30 (7-я линия ВО, д.52).
Координатор и руководитель группы: Галинский В.А.
Первое занятие: суббота, 1 июня 2013 г., 10:00, кабинет № 111,
Программа курса и рассматриваемые темы:
- Использование средств разработки программ на Си под ОС Windows.
- Проектирование базового макета программы под WinAPI.
- Двойная буферизация и простейшая мультипликация.
- Вопросы синхронизации в анимационных проектах.
- Некоторые аспекты векторной алгебры. Вектора на плоскости и в пространстве.
- Аффинные преобразования. Представление посредством матриц. 2D и 3D преобразования координат, композиция преобразований.
- Проецирование.
- Выполнение построения 3D сцен с помощью "проволочной" анимации.
- Визуализация 3D пространства, мировая и камеральная системы координат.
- Библиотека OpenGL. Инициализация в WinAPI.
- Создание макета программы, использующей OpenGL и WinAPI (WGL).
- Разделение управления в программе: инициализация, управление визуализацией, вывод (rendering), синхронизация и обслуживание ввода.
- Примитивы OpenGL и их параметризация.
- Программирование шейдеров, современный графический конвейер, язык программирования шейдеров GLSL. Использование вершинных и фрагментных ("пиксельных") шейдеров.
- Тонирование и работа с цветом.
- Освещение в OpenGL. Источники света.
- Текстурирование.
- Billboard и разные спецэффекты (прозрачность, тени, неплотные среды и т.п.).
- Взаимодействие с игровыми манипуляторами и устройствами ввода (мышь, клавиатура, Joystick, Game pad, Wheel и т.п.)
- (опционально) API Direct3D. Основные отличия от OpenGL. Система визуализации: Си+WinAPI+Direct3D.
Все темы подкрепляются интересными примерами, анимационными задачами, выполняемыми слушателями на компьютере.
Отчетность: выполнение практического задания, составление электронного отчета в конце практики.
Занятия ежедневные (кроме воскресенья), по 6 астрономических часов (с перерывами на кофе-брейк) с 10:00.
После перерыва на обед (14:00-15:00) - дополнительные семинары по ИТ и программированию. Планируются
экскурсии в фирмы, активно занимающиеся компьютерной графикой, игровой индустрией, виртуальными тренажерами.
У посещающих группу есть возможность присоединиться к программистскому лагерю ФМЛ № 30 (16 июля - 5 августа) после собеседования.
Также одна из задач работы группы — подготовка к участию в конкурсе "Ученые будущего" в рамках Всероссийского Фестиваля науки в Москве в октябре 2013 года.
|
|