Ucze sie OpenGl, zrobilem juz kilka prostych rzeczy w OpenGl w Delphi (np labirynt 3d :P). Mam pytanko jednak:
Czy istnieje takie cos jak kamera? Miejsce z ktorego bylby wyswietlany widok na cala scene. Kto uzywal 3ds max'a wie o co mi chodzi. Nie chce przeksztalcac calej sceny wzgledem 1 pkt, dlatego taka kamera by mi sie przydala....
Jesli naprawde nie chce ci sie przeksztalcac uklady <ort>wspolzedych </ort>to jest jeden wybor(co prawda wolniej chodzi). Funkcja gluLookAt; Znajduje sie w bibliotece GLU. :-)
zasadniczo nie ma kamery w OpenGL. "namiastka" tego jest wlasnie gluLookAt(). uzywa sie raczej jednak glRotate() i glTranslate() do przeksztalcania calego swiata wokol jednego punktu.
Probowalem tego uzyc, jednakze nie za bardzo to wyszlo....
Pogubilem sie juz w tym....
ze najebany tu wszedlem to male cos ale nie bede sie udziela, ale napisze :0
gltranslate(x,y,z); przesuwa rownolegle cala scene
daj se x,y,z : single;
i niech to bedzie twoja pozycja w tej przestrzeni.
glop i heading daj jako : glop - kąt patrzenia w bok i heading jako kat patrzenia w gore czyw dol.
kod
glRotate(Heading, 1, 0, 0);
glrotate(glop,0,1,0);
glTranslate(x, y, z);//albo uzyj gltranslateF bez roznicy
maz juz scene przy uoprzenim podaniu x,y,z,glop,heading = 0.0;
poruszanie sie do przodu:
x := x - movespeedsin(gloppi/180);
z := z + movespeedcos(gloppi/180);
y := y + movespeedsin(headingpi/180);
i daj se event myszki zeby zmienial ci kat patrzenia jak w lego to glop - 1 jak wprawo glop ++ a jak do gory i na dol to heading ++ v heading -- :Y
nie wiem czemu sie udzielam D:!