Skocz do zawartości
antrykot111

[opengl]

Rekomendowane odpowiedzi

Mam mały problemik z glRotate. Chce sobie obrócić prostokąt wokół własnej z nałożoną juz texturką w jednej płaszczyźnie (x) no i to działa dopóki jest w środku układu wsp. Jeżeli w nim nie jest obraca sie wokół tego środka :mur: . Jak zrobić aby obracał sie wokół własnej osi :huh: :huh:

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie pisze w openglu ale idea jest ta sama co w dx.

Musisz najpierw obrocic trojkat gdy jest w srodku ukl. wspl. a nastepnie przesunac go w miejsce gdzie ma byc.

 

Kod w gl powinien wygladac chyba tak

 

glPushMatrix();{    glTranslatef( 0.0f, 0.0f, -12.0f );    glRotatef( kat, 1.0f, 0.0f, 1.0f );    //rysujemy trojkat}glPopMatrix();//Taki sam bloczek dla nastepnej figury

Ewntualnie napisac samemu lub poszukac gdzies na sieci biblioteki do macierzy.

Wtedy jest jeszcze prosciej. Wystarczy przygotowac odpowiednie macierze dla rotatcji i przesuniecia, wymnorzyc je a wynik przekazac funkcji glMultMatrixf.

 

Przyklad ogl_transforms na stronie http://www.codesampler.com/ w dziale ogl.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Coś mi to nie działa :unsure:

 

Looknijcie na funkcje, może coś przeoczyłem :

void CMainFrame::SetCar(GLfloat xp, GLfloat yp, int type){	GLfloat tx,ty;	//xp=0.0f;yp=0.0f;	m_appTextures.Use("CAR");  		glPushMatrix();{	glTranslatef(0.0f,0.0f,0.0f);	glRotatef(an,0.0f,0.0f,1.0f);	glBegin(GL_QUADS);  glTexCoord2f(1.0f, 0.0f); glVertex3f(-1.0f+xp, 0.0f+yp,  3.2f);//DL  glTexCoord2f(1.0f, 1.0f); glVertex3f( 1.0f+xp, 0.0f+yp,  3.2f);//DR  glTexCoord2f(0.0f, 1.0f); glVertex3f( 1.0f+xp,  1.0f+yp,  3.2f);//UR  glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.0f+xp,  1.0f+yp,  3.2f);//UL	glEnd();	}  glPopMatrix();}

---=== EDIT ===---

 

 

Pisze sobie małego engina do gierki gta(1) podobnej i nie umiem obrócić samochodu :mur: a rysowanie 360 textur dla auta pod każdym kątem to chyba lekka przesada :mad: :mad:

Niech mi ktoś pomoze........PLISSSSSS :mur: :mur:

Edytowane przez antrykot111

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...