Вниз
Скачать: CL | DM;

квадрат с вращением в OpenGL   Найти похожие ветки 

← →
Tab   (2006-11-14 07:20) [0]

рисую квадрат (прямоугольник) в режиме GL_QUADS
потом вращаю его.
Отображается все в ортогроафической проекции.
при вращении гдето градусов на 50-60 квадрат выглядит совсем не так как квадрат. т.е. больше походит на ромб.
Почему так?


← →
Tab   (2006-11-15 08:55) [1]

так в чем может быть проблема?


← →
grisme ©   (2006-11-15 20:19) [2]

Frustum увеличить? :) ближняя и дальние плоскости отсечения коцают квадрат до "ромба"


← →
XProger ©   (2006-11-15 23:18) [3]

Относительно какой оси вращаешь?


← →
Tab   (2006-11-16 06:56) [4]


> XProger ©   (15.11.06 23:18) [3]
> Относительно какой оси вращаешь?


относительно z.


> Frustum увеличить? :) ближняя и дальние плоскости отсечения
> коцают квадрат до "ромба"

так это же 2д квадрат, разве они могут на негл влиять?


← →
Pavia ©   (2006-11-16 20:12) [5]

А в чем проблема ромб это четырех угольник с одинаковыми сторонами. Квадрат под описание под ходит. Все нормально.


← →
Pavia ©   (2006-11-16 20:39) [6]

Ладно раз автор не пишет придется воспользоваться телепатией и отгадать что у него монитор имеет соотношение сторон 5/4. Так что не помешает задать растяжение по x,y соответствующие.


← →
Tab   (2006-11-16 21:47) [7]


> Ладно раз автор не пишет придется воспользоваться телепатией
> и отгадать что у него монитор имеет соотношение сторон 5/4.
>  Так что не помешает задать растяжение по x,y соответствующие.
>

нет монитор нормальный, а вот насчет растяжения посмотрю.


← →
Rial ©   (2006-11-17 00:43) [8]

> [7] Tab   (16.11.06 21:47)
> нет монитор нормальный, а вот насчет растяжения посмотрю.

Т.е. соотношение сторон 1:1 ?
Ну, тогда глюков не должно быть, странно...


← →
Tab   (2006-11-17 06:36) [9]

скорее всего ситуацуия вот в чем. я отображаю все в орто проекции. и когда форма расширяется пересчитываю видимую область чтобы она увеличивалась .

может я здесь где-то ошибся.

procedure TFrmGL.RecalcView;
begin
 vLeft:=(vLeft*(ClientWidth-Panel1.Width))/vpWidth;
 vTop:=(vTop*ClientHeight)/vpHeight;
 vBottom:=(vBottom*ClientHeight)/vpHeight;
 vRight:=(vRight*(ClientWidth-Panel1.Width))/vpWidth;

 vpHeight:=frmGL.ClientHeight;
 vpWIdth:=ClientWidth-Panel1.Width;
end;

procedure TfrmGL.FormResize(Sender: TObject);
begin
RecalcView;

init;
InvalidateRect(Handle, nil, False);
end;

procedure TFrmGl.init;
begin
glViewport(0, 0, vpWIdth, vpHeight);
glLoadIdentity;
glOrtho (vLeft , vRight, vBottom, vTop, -25, 25.0);  
glTranslatef (0.0, 0.0, dz_r);  
end;


← →
grisme ©   (2006-11-19 07:43) [10]

Tab   (16.11.06 06:56) [4]
так уточнил бы, вокруг какой оси, сразу :P



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

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



Память: 0.47 MB
Время: 0.026 c
15-1185955014
ProgRAMmer Dimonych
2007-08-01 11:56
2007.08.26
Совсем тупой вопрос


15-1185396815
lookin
2007-07-26 00:53
2007.08.26
Как убрать "публичность" папки...


2-1186091641
Slonik
2007-08-03 01:54
2007.08.26
Эмулятор нажатия Enter а


11-1168594562
Fregl
2007-01-12 12:36
2007.08.26
Предложение по реструктуризации форума


2-1185989348
rlzzz
2007-08-01 21:29
2007.08.26
Люди Как массив заполнить?




   Наверх