Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.039 c
1-1095945000
kukuikar
2004-09-23 17:10
2004.10.10
Warning


4-1093986950
S@shka
2004-09-01 01:15
2004.10.10
нет работает SetWaitableTimer


1-1095660056
П7
2004-09-20 10:00
2004.10.10
TTreeNode.Data - как правильно использовать?


1-1096271454
Vova
2004-09-27 11:50
2004.10.10
Помогите подщитать количество пикселей в рисунке


8-1090038764
ИМХО
2004-07-17 08:32
2004.10.10
tWAVEFORMATEX (MMSystem)




   Наверх