matka5432 Temat założony przez niniejszego użytkownika |
[OpenGL] Funkcja gluLookAt() » 2012-12-21 20:06:04 Witam, moj problem polega na tym, iz nie potrafie zrozumiec dzialania funkcji gluLookAt(). W kursie oczywiscie jest wszystko wytlumaczone, niby to rozumiem, ale gdy probowalem wykorzystac to w praktyce, dzialy sie dziwne rzeczy. Aby wytlumaczyc o co konkretnie chodzi posluze sie przykladem z kursu: gluLookAt( eyex, eyey, eyez, centerx, centery, centerz, 0, 1, 0 );
Oczywiscie 3 pierwsze parametry sa dla mnie jasne, ale nie wiem o co dokladnie chodzi w 4, 5 i 6. Z tego co zrozumialem, kazdy z tych 3 parametrow (4-6) okresla kat ustawienia kamery wzgledem 3 prastych (x, y, z), ktore sa zawsze w srodku kamery. Czyli zwiekszenie/zmniejszenie zmiennej centerz spowoduje przechylenie kamery w dol albo w gore. Jednak po zmianie danego parametru, w przestrzeni okna tworza sie rozne znieksztalcenia, albo wyrenderowany szescian ma dziwny ksztalt "rownolegloboku?" (nie wiem jaka ma to nazwe w 3d), a przestrzen ma ksztalt kuli? Bardzo bym prosil, aby ktos wytlumaczyl mi te 3 parametry na przykladzie czlowieka na podworku (bedzie to kamera) i jakiegos obiektu (bedzie przedstawial moj szescian).
|
|
Mrusio |
» 2012-12-21 20:24:10 eyex, eyey, eyez to są współrzędne połorzenia obserwatora centerx, centery, centerz - współrzędne punktu na który obserwator się patrzy
ustaw : gluLookAt( 10, 0, 10, 0, 0, 0, 0, 1, 0 );
i umieść jakiś obiekt (np sześcian) w punkcie 0,0,0. Kamera będzie patrzeć na 0,0,0, ale będzie odsunięta o 10 w x i z |
|
matka5432 Temat założony przez niniejszego użytkownika |
» 2012-12-21 20:38:55 Ehh... rozumiem juz o co chodzi... dzieki. Mam jeszcze jedno pytanie. Dlaczego po zmianie jednego z parametrow 4 - 6 znieksztalca sie szescian? Wyglada to takj, jakby przedi i tylni bok obracaly sie wzgledem osi x w taki sposob w jaki trzeba, ale nie przesuwaja sie wzgledem siebie w zadnen sposob. Jeden powinien byc wyzej, a drugi nizej. Czyli odcinki laczace przedni i tylni kwadrat w szescianie, zawsze sa rownolegle do osi Z, nie wazne czy patrze na szescian od gory, czy od przodu |
|
krzyk |
» 2012-12-21 20:50:00 |
|
kubawal |
» 2012-12-22 11:25:44 Musisz użyć funkcji gluPerspective() na początku kodu.
|
|
matka5432 Temat założony przez niniejszego użytkownika |
» 2012-12-22 16:40:43 Ok juz dziala tak jak nalezy ;p dzieki |
|
« 1 » |