Правительство Российской Федерации Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "Высшая школа экономики" Нижегородский филиал Факультет Бизнес-информатики и прикладной математики Программа дисциплины «Основы компьютерной графики (OpenGL)» для направления 080700.62 – Бизнес-информатика, 010500.62 – Прикладная математика и информатика подготовки бакалавра Автор преподаватель А.В. Петров Рекомендована УМС Секция «Информатика» Председатель __________________А.Н.Визгунов « » ___________ 2011 г. Утверждена УМС филиала Председатель __________________Л.Г. Макарова « » ___________ 2011 г. Одобрена на заседании базовой кафедры группы компаний МЕРА Зав. кафедрой _______________________Д.М. Пономарев « » __________________2011 г. Н. Новгород, 2011 г. I. Пояснительная записка Авторы программы: программа дисциплины разработана Петровым А.В. на основе одноименного авторского курса. Требования к студентам: Исходный уровень – знание языка программирования С++, владение MS Visual Studio на уровне уверенного пользователя, и, желательно, знание основ аналитической геометрии и линейной алгебры. Аннотация: Курс «Основы компьютерной графики (OpenGL)» является факультативным из цикла курсов подготовки современного специалиста в области информатики. Данный курс нацелен на раскрытие теоретического фундамента и выработку практических навыков в разработке современных приложений с интенсивным использованием методов компьютерной графики. Дисциплина рассчитана на 16 часов лекционных занятий и 16 час практических занятий. Учебная задача дисциплины: Целями курса являются - знакомство с историей компьютерной графики как науки, искусства и инженерии - введение в библиотеку OpenGL, как основного практического инструмента данного курса - знакомство с основными физическими феноменами определяющими человеческое восприятие визуализации - освещение основных технических приемов и упрощений позволяющих добиваться реалистичности компьютерной графики - введение в математический аппарат современной компьютерной графики - получение навыков составления законченных программ компьютерной графики на основе OpenGL. II. Тематический план учебной дисциплины Наименование тем 1 2 3 4 5 6 7 8 Введение в компьютерную графику. Знакомство с OpenGL Управление «состоянием» и рисованием геометрических объектов «Вид» и «списки отображения» «Цвет» и «освещение» «Цветовое наложение», «сглаживание», «туман» и смещение полигонов Отображение пикселей, битовых карт, шрифтов и изображений Текстуры и работа с ними Режим «выбора» и обратный режим Итого Практические Самостоятельная Всего, Лекции часов занятия работа 6 4 10 4 16 12 4 4 16 4 16 4 20 12 108 4 4 32 2 6 12 8 12 12 16 8 76 III. Формы рубежного и итогового контроля Контроль знаний студентов включает формы текущего и итогового контроля. Текущий контроль осуществляется в течение двух модулей. По курсу предусмотрены текущий контроль знаний и работы студентов на практических занятиях, две контрольные работы (2 х 25 мин.). Каждая форма текущего контроля оценивается 10-балльной оценкой, которая выставляется в рабочую ведомость преподавателя. Форма итогового контроля – экзамен по окончании двух модулей учебного курса, который оценивается по 10-балльной шкале. Для получения результирующей оценки О итогового контроля используются следующие весовые множители: 0,25 – для оценки Оконтр1., за контрольную работу № 1, 0,25 – для оценки Оконтр2., за контрольную работу № 2, 0,5 – для оценки Оэкз., за экзамен в конце второго модуля. Для получения результирующей оценки О по 10-балльной шкале вычисляется величина О = 0,25 х Оконтр.1 + 0,25 х Оконтр.2 + 0,5 х Оэкз. Полученный после округления этой величины до целого значения результат и выставляется как результирующая оценка по 10-балльной шкале по учебной дисциплине «Структуры данных» в экзаменационную ведомость и зачетную книжку студента. В экзаменационную ведомость и зачетную книжку студента выставляется также и результат зачета по данной дисциплине в форме «зачтено» «не зачтено», получаемый из оценки по десятибалльной шкале в соответствии со следующей таблицей соответствия (см. Приложение № 2 к приказу Ректора ГУ-ВШЭ № 1002 от 17.06.2002). Таблица соответствия оценок по десятибалльной и пятибалльной системам. По десятибалльной шкале По пятибалльной шкале 1 – неудовлетворительно 2 – очень плохо Неудовлетворительно - 2 3 – плохо 4 – удовлетворительно 5 – весьма удовлетворительно -3 удовлетворительно 6 – хорошо 7– очень хорошо хорошо - 4 8 – почти отлично 9 – отлично 10 –блестяще отлично - 5 IV. Содержание программы ТЕМА 1. СОВРЕМЕННОЕ СОСТОЯНИЕ КОМПЬЮТЕРНОЙ ГРАФИКИ. OPENGL КАК ИНСТРУМЕНТ Что такое «компьютерная графика». Современные приложения, направления развития данной индустрии и соответствующей отрасли знаний. Место, цели и задачи предлагаемого курса в общей картине технологий трехмерного моделирования. Что такое OpenGL. Место и значение данной технологии в индустрии «компьютерной графики». История развития, современное состояние и предполагаемое будущее данной технологии. Настройка среды программирования. Запуск тестовых примеров. ТЕМА 2. УПРАВЛЕНИЕ «СОСТОЯНИЕМ» И РИСОВАНИЕ ГЕОМЕТРИЧЕСКИХ ОБЪЕКТОВ Необходимые приготовления – очистка экрана, установка света, команда «завершить рисование». Необходимые знания о координатных системах. Описание точек, линий и полигонов. ТЕМА 3. «ВИД» И «СПИСКИ ОТОБРАЖЕНИЯ» «Вид» - аналогия с фотокамерой. «Видовая» трансформация. «Модельная» трансформация. «Проекционная» трансформация. Трансформация «порта просмотра». Разработка сцены в терминах «список отображения». Создание и исполнение «списка отображения». Иерархичные «списки отображения». ТЕМА 4. «ЦВЕТ» И «ОСВЕЩЕНИЕ» Цвет. Цветовое восприятие. Цвет в компьютере. Указание цвета и модели закраски. Освещение. Освещение в реальном мире и OpenGL. «Фоновый», «диффузный», «зеркальный» и «исходящий» свет. Цвета «материала». Создание, позиционирование и включение одного или более «источников света». Выбор модели «освещения». ТЕМА 5. «ЦВЕТОВОЕ НАЛОЖЕНИЕ», «СГЛАЖИВАНИЕ», «ТУМАН» И СМЕЩЕНИЕ ПОЛИГОНОВ Цветовое наложение. Факторы «источника» и «приемника». Примеры использования. Трехмерное цветовое наложение и буфер глубины. «Сглаживание» (антиалиасинг). Сглаживание точек и линий. Сглаживание полигонов. Туман. Использование тумана. Смещение полигонов. ТЕМА 6. ОТОБРАЖЕНИЕ ПИКСЕЛЕЙ, БИТОВЫХ КАРТ, ШРИФТОВ И ИЗОБРАЖЕНИЙ Битовые карты и шрифты. Текущая позиция растра. Отображение битовой карты. Выбор цвета для битовой карты. Шрифты и списки отображения. Изображения. Считывание запись и копирование пиксельных данных. Чтение пикселей и буфера кадра в память процессора и обратно. «Упаковка» и «распаковка» пикселей. Режим хранения пикселей. ТЕМА 7. ТЕКСТУРЫ И РАБОТА С НИМИ Создание текстурного объекта и указание текстуры для него. Активация наложения текстур. Прорисовка сцены с указанием текстурных и геометрических координат. Несколько уровней детализации. ТЕМА 8. РЕЖИМ «ВЫБОРА» И ОБРАТНЫЙ РЕЖИМ Выбор. Основные шаги. Создание стека имен. Запись о попадании. Указание. Указание с использованием множественных имен в иерархической модели. Указание и величина глубины. Отклик. Массив отклика. Использование маркеров в режиме отклика. V. Основная литература 1. Эдвард Эйнджел, Интерактивная компьютерная графика. Вводный курс на базе OpenGL. М.: Издательский дом «Вильямс», 2001 2. Роджерс Д., Адамс Дж., Математические основы машинной графики. М.: Мир, 2001 3. Сергей Гайдуков, OpenGL. Профессиональное программирование трехмерной графики на С++. СПб.: БХВ – Петербург, 2004 4. Рост Дж., OpenGL. Трехмерная графика и язык программирования шейдеров. СПб.: Питер, 2005 5. Краснов М., OpenGL. Графика в проектах Delphi. СПб.: БХВ – Петербург, 2000 6. Шнайдер Дейв. OpenGL. Официальный справочник. СПб.: ООО «ДиаСофтЮП», 2002 7. The OpenGL Programming Guide - The Redbook (http://www.opengl.org/documentation/red_book) VI. Методические рекомендации преподавателю См., приложение по методике 10-балльной оценки. VII. Методические рекомендации студентам Для более глубокого усвоения курса предполагается использование студентами дополнительной литературы, работа в библиотеке, поиск информации в сети Интернет. Приложение: Методика формирования результирующей оценки Программа предусматривает в качестве форм контроля: оценку контрольной работы, оценку домашнего задания, зачет (экзамен). Каждая форма оценивается по 10-бальной шкале. Для контрольных работ: высшая оценка в 9 баллов (10 баллов проставляется в исключительных случаях)проставляются при отличном выполнении заданий: полных (с детальными или многочисленными примерами и возможными обобщениями) ответах на вопросы, правильном решении задачи и четком и исчерпывающем ее представлении почти отличная оценка в 8 баллов проставляется при полностью правильных ответах и решении задач, но при отсутствии какого-либо из выше перечисленных отличительных признаков, как, например: детальных примеров или обобщений, четкого и исчерпывающего представления решаемой задачи, оценка в 7 баллов проставляется при правильных ответах на вопросы и правильном решении задачи, но при отсутствии пояснений, примеров, обобщений, без представления алгоритма или последовательности решения задач, оценка в 6 баллов проставляется при наличии отдельных неточностей в ответах на вопросы (включая грамматические ошибки) или неточностях в решении задачи непринципиального характера (описки и случайные ошибки арифметического характера), оценка в 5 баллов проставляется в случаях, когда в ответах и в решении задач имеются неточности и ошибки, свидетельствующие о недостаточном понимании вопросов и требующие дополнительного обращения к тематическим материалам, оценка в 4 балла проставляется при наличии серьезных ошибок и пробелов в знании по контролируемой тематике, оценка в 3 балла проставляется при наличии лишь отдельных положительных моментов в ответах на вопросы и в решении задач, говорящих о потенциальной возможности в последующем более успешно выполнить задания; оценка в 3 балла, как правило, ведет к повторному написанию ответов на вопросы или решению дополнительной задачи, оценка в 2 балла проставляется при полном отсутствии положительных моментов в ответах на вопросы и решении задач и, как правило, ведет к повторному написанию контрольной работы в целом, оценка в 1 балл проставляется, когда неправильные ответы и решения, кроме того, сопровождаются какими-либо демонстративными проявлениями безграмотности или неэтичного отношения к изучаемой теме. При оценке выполнения домашнего задания (эссе): 10 баллов проставляется в исключительных случаях самостоятельно проведенной работы, которая может в дальнейшем использоваться в учебном процессе или в исследовательской работе студента, 8-9 баллов проставляется при самостоятельно разработанном или удачно адаптированном и отлично представленном исследовании по выбранной тематике, 6-7 баллов проставляется при своевременно выполненном и самостоятельно представленном результате продукте по выбранной тематике, 4-5 баллов проставляется при частичном, несамостоятельном участии в выполнении работ, 2-3 балла проставляется, когда студент не может самостоятельно представить работу; когда работа носит явные признаки заимствований (работу предлагается переделать), 1 балл проставляется при наличии каких-либо демонстративных проявлений безграмотности и неэтичного отношения к работе. На зачете (экзамене), представляющем собой письменный ответ на вопрос и решение задачи с последующим собеседованием, оценка проставляется следующим образом: высшая оценка в 9 баллов (10 баллов проставляется в исключительных случаях) проставляется при отличном выполнении заданий: полных, с примерами и возможными обобщениями ответах на вопросы, при правильном решении задачи и детальном ее представлении, почти отличная оценка в 8 баллов проставляется при полностью правильных ответах и решении задач, но при отсутствии какого-либо из выше перечисленных отличительных признаков, как, например: примеров и обобщений, детального представления решаемой задачи, оценка в 7 баллов проставляется при правильных ответах на вопросы и правильном решении задачи, но при отсутствии пояснений, примеров, без представления алгоритма решения задач, оценка в 6 баллов проставляется при наличии отдельных неточностей в ответах на вопросы или непринципиальных неточностях в решении задачи (описки и случайные ошибки арифметического характера), оценка в 4-5 баллов проставляется в случаях, когда в ответах и в решении задачи имеются существенные неточности и ошибки, свидетельствующие о недостаточном понимании проблематики, оценка в 2-3 балла проставляется при наличии лишь отдельных положительных моментов в ответах на вопросы и в решении задачи и ведет к повторному написанию ответов на вопросы или решению задачи, оценка в 1 балл проставляется, когда неправильные ответы и решения, кроме того, сопровождаются какими-либо демонстративными проявлениями безграмотности или неэтичного отношения к учебному процессу. По результатам устного собеседования с преподавателем выполненной на итоговом собеседовании работы возможны корректировки оценки в ту или иную сторону. Автор программы, Петров А.В.