gluLookAt w OpenGL

0

Mam obiekt - kulę, która ma pozycję w przestrzeni (0,0,0) = (x,y,z).
Jak ustawiać kamerę?
W gluLookAt mam 3 rzeczy: eye(x,y,z), center(x,y,z), up(x,y,z).

Z tutoriali, które przeczytałem dowiedziałem się, że eye to widok, który odbieramy (widzimy), center to punkt (jaki punkt? nie wiem.), a up to wektor kamery.

Tak więc obiekt to 0,0,0, a chcę, aby kamera była 0,0,-50.
Jak to ustawić?
Próbowałem np. gluLookAt(0,0,-50,0,0,0,0,0,0) i nic. Widziałem czasami cosinusy, ale nie wiem po co one tam są. Mógłby ktoś mi wytłumaczyć na czym polega gluLookAt i jak to konfigurować, żeby obracać tą kamerą za pomocą strzałem/WASD?

0
void WINAPI gluLookAt(
  // gdzie jesteś (pozycja):
  GLdouble eyex,
  GLdouble eyey,
  GLdouble eyez,

  // na co się patrzysz (pozycja):
  GLdouble centerx,
  GLdouble centery,
  GLdouble centerz,

 // gdzie jest góra (wektor jednostkowy):
  GLdouble upx,
  GLdouble upy,
  GLdouble upz
);

Przy czym

The up vector must not be parallel to the line of sight from the eye to the reference point.

spróbuj

  gluLookAt(0,0,-50, 0,0,0, 0,1,0)

tak na dobry początek.

0

O widzę obiekt xD Dzięki.

//Edit
A jak tym poruszać? Mam status klawiatury, że jak klika prawy/lewy to rusza, ale co ma ruszać? Eye czy center? Czy może up?

0

Poczytaj o zwykłych przekształceniach euklidesowych. gluLookAt tylko ryje beret i ukrywa prostotę zwykłych operacji na macierzach.

1 użytkowników online, w tym zalogowanych: 0, gości: 1