Прием основан на том, что тип GLUquadricobj является указателем и его nil-значение соответствует тому, что объект пока еще не создан. Кстати, можете сейчас заглянуть в заголовочный файл opengl.pas, чтобы убедиться, что этот тип является указателем, указателем на пустую запись:
type
_GLUquadricObj = record end; GLOquadricObj = ЛJjUJquadricObj;
Заключительным примером раздела станет проект из подкаталога Ех39 — модель автомобиля.
Клавишами управления курсором можно вращать модель по осям, клавиши и служат для приближения/удаления модели. Пробелом и клавишей ввода можно задавать различные режимы воспроизведения.
В примере используются объекты библиотеки giu и модуля DGLUT. Нет смысла его подробно разбирать, остановимся только на некоторых моментах.
Напоминаю, что для воспроизведения объектов с различным пространственным положением перед собственно воспроизведением каждого из них система координат перемешается в нужную точку в пространстве.
Для удобства ориентирования в пространстве перед каждой трансформацией системы координат текущую матрицу (систему координат) запоминаем вызовом команды giPushMatrix, затем возвращаемся в эту систему координат вызовом glPopMatrix. Это будет выполняться быстрее, чем обратные переносы, но было бы лучше вычислять координаты следующего объекта в текущей системе координат.
Опубликовал vovan666
October 31 2013 05:30:05 ·
0 Комментариев ·
3808 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.