Главная страница
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.042 c
1-1096113765
Billi
2004-09-25 16:02
2004.10.10
Проблема кодировок


1-1096357832
PEAKTOP
2004-09-28 11:50
2004.10.10
Application.Title в консольном приложении


4-1094650844
Новишок
2004-09-08 17:40
2004.10.10
Закрыть программку, нажав на кнопу в сыоей проге


9-1086897645
init13
2004-06-11 00:00
2004.10.10
gl_arb_fragment_program


3-1095085592
yaric
2004-09-13 18:26
2004.10.10
Работа с формулами