Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2007.04.01;
Скачать: [xml.tar.bz2];

Вниз

проблема с поворотом 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.039 c
11-1151607749
parovoZZ
2006-06-29 23:02
2007.04.01
На чём отобразить рисунок?


11-1152373684
Andr-04
2006-07-08 19:48
2007.04.01
Рисование в RichEdit


2-1173137574
Углук
2007-03-06 02:32
2007.04.01
Группа TSpeedButton и одна из них должна быть нажата


6-1160913671
Max.66RUS
2006-10-15 16:01
2007.04.01
Как реализовать работу почтовой программы через прокси...


1-1170845002
Kolan
2007-02-07 13:43
2007.04.01
ReadSectionValues как получить только значения?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский