Общие вопросы
Вопросы по заданиям
Задание №1
Задание №2
Задание №3
Задание №4
Задание №5
Задание №6
Общие вопросы
В:На какой адрес и в каком формате нужно отправлять выполненные
задания?
О:Присылать задания
по e-mail: assignN@graphics.cs.msu.su(где
N - номер задания) в следующем виде:
.zip файл с именем, построенным
следующим образом:
имя начинается с цифры -
это последняя цифра в номере вашей группы (например, если у вас 206 группа,
то название файла будет начинаться с цифры 6), дальше первые три буквы
вашей фамилии (латинским шрифтом), далее - знак подчеркивания и три первые
буквы имени (латинским шрифтом)
Пример: Иванов Андрей из
202 группы должен прислать нам .zip файл с именем: 2iva_and.zip
Теперь о том, какие файлы
должен содержать ваш .zip - файл
-
исходники
-
*.exe
-
файл readme (что работает, что
не работает, что дополнительно реализовано и т.п., на какой платформе и
на каком ПО программа написана и оттестирована)
Внимание: номер задания и его
название, фамилия и имя автора, номер группы, - суть обязательные атрибуты
READ.ME. Та же информация должна как комментарий содержаться в исходных
текстах программы.
В: Можно ли приносить выполненные программы на дискетах?
О: Да, можно. Время будет объявляться дополнительно по каждому
заданию..
Вопросы по заданиям
Задание №3
В: Как вычислять итоговый цвет, если задан коэффициент непрозрачности
(opacity)? Для каждой компоненты цвета (Красной, Зеленой, Синей) в отдельности
или как-то по другому?
О: Да, для каждой компоненты применяется формула
I = I1(a) + I2(1-a), где
a - тот самый коэффициент непрозначности
I - итоговый цвет удара;
I1 - цвет удара;
I2 - цвет исходной картинки в области удара.
Итоговый цвет получается из трех вычисленных компонент. (RGB)
Задание №5
В: Я компилирую программу в Borland C++ 5.01. Почему при попытке
воспользоваться функцией библиотеки Glaux для загрузки текстуры программа
"падает"?
О: Внимательнее читайте пособие! Там сказано, что это необъяснимая
ошибка возникает только при работе с Borland C++ 5.01. Если Вы хотите корректно
загружать текстуры, либо используйте собственную функцию загрузки изображения
текстуры ( наиболее предпочтительный вариант), либо компилируйте программу
с использованием Microsoft Visual C++.
В: Можно ли автоматически генерировать нормали в OpenGL?
О: Для произвольной геометрии - нет. Автоматическая генерация
нормалей возможна только для примитивов из библиотеки Glu.
В: Где я могу найти примеры использования OpenGL?
О: Огромное количество разнообразных примеров использования
OpenGL можно найти в секции Developers and Coding Examples на сайте http:://www.opengl.org
Большое количество ссылок собрано на страничке http://reality.sgi.com/mjk/
В: Как использовать OpenGL при программировании под Win32 ( без использования
Glut)
О: Вопрос очень объемный, поэтому ограничимся ссылкой на довольно
подробный источник информации: http://trant.sgi.com/opengl/examples/win32_tutorial/win32_tutorial.html
Если Вы программируете под MS Visual C++, большое количество информации
можно найти в MSDN.
В: Почему в моей программе неправильно работают текстуры/освещение/туман?
О: Часто такие проблемы бывают вызваны попытками задать позицию
и ориентацию камеры в матрице проекции. На первый взгляд, все выглядит
нормально, однако это не так. Преобразовани камеры должны быть скомбинированы
с модельными преобразованиями и в модельно-видовой матрице. Некоторые вычисления,
связанные с освещением, визуализацией тумана, а также с тектурированием,
базируются на информации о поворотах камеры и смещении объектов, а матрица
проекции не учитывается.
В: Почему не появляются тектуры?
О: Возможны следующие причины:
-
Не включен режим GL_TEXTURE_2D
-
Неправильные текстурные координаты
-
glBindTexture вернула ошибку
В: Каким образом можно перейти в полноэкранный режим?
О: Если Вы программируете с помощью Glut, для этого служит специальная
команда void glutFullScreen()
Задание №6
В: После нескольних вызовов glRotate() объекты вращаются вокруг неправильной
оси. Почему?
О: Это следствие проблем использования 3 углов для описания
ориентации в трехмерном пространстве и обычно на нее обращается внимание
в книгах по компьютерной графике. Обычным решением является другое представление
для ориентации в пространстве, например, квартенионы.
http://www.3dgamedev.com/articles/eulers_are_evil.htm
|