Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

поворот фигуры в OpenGL?

16K
21 сентября 2007 года
Rezus666
46 / / 15.08.2007
поможыте, создал фигуру, пытаюсь заставить ее поворачиваться вокруг своей оси пробывал много способов не один не получился (толи мозгов не хватает, толи руки не из того места растут)код создания фигуры ниже
Код:
void TForm1::Draw()
{
  glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);

  glPolygonMode(GL_FRONT_AND_BACK,GL_FILL);

//поле
  glBegin(GL_QUADS);
    glColor3f(1,1,0);
    glVertex3f(-212,0,-212);
    glColor3f(1,1,1);
    glVertex3f(212,0,-212);
    glColor3f(0,1,1);
    glVertex3f(212,0,212);
    glColor3f(1,0,1);
    glVertex3f(-212,0,212);
  glEnd();
//фигура
  glBegin(GL_QUAD_STRIP);
    glColor3f(1,0,0);
    glVertex3f(x,5,z);
    glVertex3f(x,15, z);
    glColor3f(0,0,1);
    glVertex3f(x2, 5,z2);
    glVertex3f(x2, 15,z2);

    glColor3f(0,1,0);
    glVertex3f( x3, 5,z3);
    glVertex3f( x3, 15, z3);

    glColor3f(1,0,0);
    glVertex3f(x,5,z);
    glVertex3f(x,15,z);
  glEnd();

  glBegin(GL_TRIANGLES);
    glColor3f(1,0,0);
    glVertex3f(x,5,z);
    glColor3f(0,0,1);
    glVertex3f(x2, 5,z2);
    glColor3f(0,1,0);
    glVertex3f( x3, 5,z3);

    glColor3f(1,0,0);
    glVertex3f(x,15,z);
    glColor3f(0,0,1);
    glVertex3f(x2, 15,z2);
    glColor3f(0,1,0);
    glVertex3f(x3, 15,z3);
  glEnd();
//фигура создана
  //glRotatef(3, 0,1,0);
  ////
  SwapBuffers(ghDC);

}

поле вращатся не должно.
подскажите пожалуйсто.
да еще, не кто не знает кто из разразработчиков выложил исходники движока своей игрушки бесплатно, если можно ссылочку(знаю что есть но найти не могу):confused:
15K
22 сентября 2007 года
vja
85 / / 09.01.2007
смотри в сторону функций
glTranslatef
glRotatef
glScalef
15K
22 сентября 2007 года
vja
85 / / 09.01.2007
насчет движка...

openscenegraph.com
247
22 сентября 2007 года
wanja
1.2K / / 03.02.2003
Сначала делай Rotate, а уж потом рисуй.
11K
22 сентября 2007 года
coolcoder
39 / / 14.08.2006
Rezus666
Короче, там вот какое дело... Сначала, по идее, сохраняешь текущую матрицу, потом делаешь ротейт, потом восстанавливаешь матрицу. Это нужно для того, чтобы вращать или иным образом трансформировать только то, что нужно, и ничего другого (в твоем случае: чтобы повернулась только сама модель, без поля). Хотя блин, может я непонятно сказал, если что - обращайся.
16K
24 сентября 2007 года
Rezus666
46 / / 15.08.2007
Цитата: coolcoder
Rezus666
Короче, там вот какое дело... Сначала, по идее, сохраняешь текущую матрицу, потом делаешь ротейт, потом восстанавливаешь матрицу. Это нужно для того, чтобы вращать или иным образом трансформировать только то, что нужно, и ничего другого (в твоем случае: чтобы повернулась только сама модель, без поля). Хотя блин, может я непонятно сказал, если что - обращайся.


Уточни: я должен нарисовать модель, сохранить матрицу, ротейтить, возвратить матрицу на место, потом рисовать поле?

15K
24 сентября 2007 года
vja
85 / / 09.01.2007
Цитата: Rezus666
Уточни: я должен нарисовать модель, сохранить матрицу, ротейтить, возвратить матрицу на место, потом рисовать поле?



и все же, почитай док про эти функций
glTranslatef, glRotatef, glScalef и конечно glPushMatrix и glPopMatrix

16K
24 сентября 2007 года
Rezus666
46 / / 15.08.2007
куда я денусь прочту конечно, спасибо за совет.
Еще пару ссылок, если не сложно, на доки, а то всё что я находил самоучители, а хотелось бы справочник функций (желательно на русском)
15K
24 сентября 2007 года
vja
85 / / 09.01.2007
http://pmg.org.ru/nehe/index.html
а полное описание всех функции есть в windows sdk
16K
25 сентября 2007 года
Rezus666
46 / / 15.08.2007


спасибо, очень полезная ссылка

11K
27 сентября 2007 года
coolcoder
39 / / 14.08.2006
Цитата: Rezus666
Уточни: я должен нарисовать модель, сохранить матрицу, ротейтить, возвратить матрицу на место, потом рисовать поле?



Сначала рисуешь фон (у тебя это поле), потом сохраняешь матрицу, потом ротейтишь, потом рисуешь фигуру, потом восстанавливаешь матрицу.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог