Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.10;
Скачать: CL | DM;

Вниз

Как вращать, например, квадрат без искажений в OpenGL?   Найти похожие ветки 

 
Inspired ©   (2004-06-04 00:59) [0]

Доброе время суток.
Как вращать, например, квадрат без искажений в OpenGL?
Поверхность OpenGL имеет размеры [-1,1]x[-1,1], а обычный экран отношение сторон 3:4.
Мне нужен на экране квадрат, поэтому рисую объект [-3/8,3/8]x[-1/2,1/2]
  glBegin(GL_QUADS);
     glVertex3f(-3/8,-1/2,0);
     glVertex3f(-3/8, 1/2,0);
     glVertex3f( 3/8, 1/2,0);
     glVertex3f( 3/8,-1/2,0);
  glEnd;
При повороте на угол, например, 45 град
  glRotate(45,0,0,-1);
он сплющивается и становится прямоугольником (чем по сути вообще-то и является).
Если изначально рисовать квадрат [-1/2,1/2]х[-1/2,1/2], то он сразу выглядит прямоугольником, а при повороте сплющивается по вертикали.

А нужен обычный правильный вращающийся квардат.
Подскажите, как с этим бороться?


 
Magikan   (2004-06-04 04:06) [1]

Так ты и координаты квадратные задавай. А чтобы квадрат с квадратными (такое вот сочетание слов) координатами не смотрелся прямоугольником, используй вызов функции glViewport.
По этой ссылке есть описание по его использованию
http://www.gamedev.ru/articles/read.shtml?id=20105


 
Inspired ©   (2004-06-06 16:28) [2]

ОК, попробую, большое спс.


 
Andr   (2004-06-09 14:06) [3]

glScalef (0.75, 1, 1);
glrotatef(45,0,0,-1);
glBegin(GL_QUADS);
  glVertex3f(-0.5,-0.5,0);
  glVertex3f(-0.5, 0.5,0);
  glVertex3f( 0.5, 0.5,0);
  glVertex3f( 0.5,-0.5,0);
glEnd;
glScalef (4/3, 1, 1);


 
MeF88   (2004-06-09 16:11) [4]


> Andr   (09.06.04 14:06) [3]

Лучше уж через glViewport...



Страницы: 1 вся ветка

Текущий архив: 2004.10.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.023 c
6-1090419041
banderas
2004-07-21 18:10
2004.10.10
Как определить IP отконнективающегося клиента (idTCPClient)


14-1095417379
Knight
2004-09-17 14:36
2004.10.10
FireBird...


8-1090322929
Popovich A.
2004-07-20 15:28
2004.10.10
Последовательный просмотр картинок


14-1095753620
Ditrix
2004-09-21 12:00
2004.10.10
xBase - описание стандарта


4-1093864382
Serguar
2004-08-30 15:13
2004.10.10
перехват сообщения предназначенного для другого окна