Форум: "Media";
Текущий архив: 2007.08.26;
Скачать: [xml.tar.bz2];
Внизквадрат с вращением в 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 вся ветка
Форум: "Media";
Текущий архив: 2007.08.26;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.047 c