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

Вниз

проблема с поворотом 2d объекта с текстурой в Opengl   Найти похожие ветки 

 
COMRAD_GREMLIN ©   (2006-04-30 14:47) [0]

Добрый день х)
Мне нужно повернуть объект с текстурой, однако поворот происходит не корректно. Он поворачивает текстуру. Однако она перемещается(меняется точка наблюдения). Я так понимаю, что проблема в GlTranslateF, однако какие значения нужно указывать в этой процедуре?
Зарание спасибо .)

   glMatrixMode(GL_projection);
   glLoadIdentity ;
   glortho(0,Form1.ClientWidth,form1.Clientheight,0,-800,800);
// ClientWidth и ClientHeight - 640x480;
   GlMatrixMode(GL_TEXTURE);
   GlLoadIdentity;
   gldisable(GL_depth_TEST);
   glClear(GL_DEPTH_BUFFER_BIT or GL_COLOR_BUFFER_BIT);
   GlPushMatrix;
   angle:=30;
{    GlTranslateF(0,0,0); вопрос здесь - какое значение нужно указывать в GlTranslateF?}
   GlRotateF(angle,0,0,1);
   GlBindTexture(gl_texture_2d,man);
   glBegin (GL_QUADS);
     glTexCoord2d (0.0, 0.0);  glVertex2f (100,100);
     glTexCoord2d (1.0, 0.0); glVertex2f (164,100);
     glTexCoord2d (1.0, 1.0); glVertex2f (164,164);
     glTexCoord2d (0.0, 1.0); glVertex2f (100,164);
   glEnd;
   GlPopMatrix;


 
XProger ©   (2006-04-30 15:04) [1]

GlMatrixMode(GL_TEXTURE);
заменить на
 glMatrixMode(GL_MODELVIEW);


 
COMRAD_GREMLIN ©   (2006-04-30 16:07) [2]

Спасибо, поворачивать стал нормально :) Вот только теперь ездит вокруг своей оси, в смысле перемещается сам по x и по y с каждым поворотом ( не стоит на одном месте, поворачиваясь вокруг своей оси ) Т___Т


 
XProger ©   (2006-04-30 16:40) [3]

  glMatrixMode(GL_PROJECTION);
  glLoadIdentity;
  glOrtho(0, Form1.ClientWidth, Form1.Clientheight, 0, 0, 1);
  glMatrixMode(GL_MODELVIEW);
  glLoadIdentity;
  glDisable(GL_DEPTH_TEST);
  glClear(GL_DEPTH_BUFFER_BIT or GL_COLOR_BUFFER_BIT);
  glPushMatrix;
  Angle := 30;
  glTranslatef(132, 132, 0);
  glRotatef(Angle, 0, 0, 1);
  glBindTexture(GL_TEXTURE_2D, Man);
  glBegin(GL_QUADS);
    glTexCoord2f(0, 0); glVertex2f(-32, -32);
    glTexCoord2f(1, 0); glVertex2f( 32, -32);
    glTexCoord2f(1, 1); glVertex2f( 32,  32);
    glTexCoord2f(0, 1); glVertex2f(-32,  32);
  glEnd;
  glPopMatrix;


 
COMRAD_GREMLIN ©   (2006-04-30 16:57) [4]

Спасибо огромное, теперь всё понятно :)



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

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

Наверх




Память: 0.48 MB
Время: 0.057 c
15-1173262964
Kok
2007-03-07 13:22
2007.04.01
const


2-1173721858
vegarulez
2007-03-12 20:50
2007.04.01
Почему не проходит вот такой запрос на update...(MySQL, datetime)


3-1168931638
jeka_t
2007-01-16 10:13
2007.04.01
Как правильно передать американский формат вещественного числа?


3-1168271803
makaronX
2007-01-08 18:56
2007.04.01
вставка даты в Access


15-1173418402
sportman
2007-03-09 08:33
2007.04.01
Акт внедрения программного продукта