PMG

Форумы по созданию игр
Текущее время: 26 июл 2026 08:15

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Вопрос по уроку 9.
СообщениеДобавлено: 01 окт 2008 05:41 
Не в сети
Любитель

Зарегистрирован: 19 сен 2008 14:48
Сообщения: 44
Код:
int DrawGLScene(GLvoid)                        
{
   glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);   
   glBindTexture(GL_TEXTURE_2D, texture[0]);      

   for (loop=0; loop<num; loop++)               
   {
      glLoadIdentity();
      glTranslatef(0.0f,0.0f,zoom);               
      glRotatef(tilt,1.0f,0.0f,0.0f);               
      glRotatef(star[loop].angle,0.0f,1.0f,0.0f);      
      glTranslatef(star[loop].dist,0.0f,0.0f);      
      glRotatef(-star[loop].angle,0.0f,1.0f,0.0f);   
      glRotatef(-tilt,1.0f,0.0f,0.0f);      



Не могу разобраться с этой секцией кода.

Ну вращаем мы сцену по оси х на 90 градусов:
glRotatef(tilt,1.0f,0.0f,0.0f);
Теперь ось Z смотрит на нас, правильно? А Y стал на место Z. А звезды повернуты к нам торцом.

Дальше:
glRotatef(star[loop].angle,0.0f,1.0f,0.0f);
-вращаем по Y, который смотрит на нас, мы поворачиваем звезду вокруг оси. Правильно?

Дальше:
glTranslatef(star[loop].dist,0.0f,0.0f);
-Переносим звезду в сторону вправо по оси X.

Теперь:
glRotatef(-star[loop].angle,0.0f,1.0f,0.0f);
-вращаем перенесенную звезду по оси Y, которая смотрит на нас обратно на тот же угол(зачем не понятно?).

И в завершение:
glRotatef(-tilt,1.0f,0.0f,0.0f);
-вращаем всю сцену обратно на 90 градусов по X

Что это нам дает? Ничего не понял. И что дают эти все манипуляции, если
рисование самих звезд будет гораздо ниже? Или это для тех звезд, которые уже нарисованы?
Не проще было бы не менять ориентацию осей, а взять и круить звезды
по оси Z вокруг центра своего и вокруг самой оси Z?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по уроку 9.
СообщениеДобавлено: 01 окт 2008 10:53 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Я думаю можно одного и того же результата достичь бесконечным числом способов. В этом нет ничего плохого. Попробуй свой способ...

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB