Ĺadny brzuch
mam problem niewiem jak mam poruszać kamerą jeśli jest ktoś kto zna sie na tyle żeby mi pomóc bardzo prosze kamere ustawiam przez:
procedure TForm1.GLBox1SetupRC(Sender: TObject);
begin
//oswietlenie
glEnable(GL_LIGHTING);
glClearColor(0, 0, 0, 1);
glEnable(GL_DEPTH_TEST);
GLBox1Resize(nil);
gluLookAt(0, 120,0 , 0, 10, 0, 0, 0, 1); // Set position and orientation
najchętniej obejrzał bym kawałek kodu ale może być tłumaczenie jak dla wiejskiego chłopa...
z góry wielkie dzięki..
Użytkownik student Hogwartu edytował ten post 30 grudzień 2005, 10:55
Bez ustawiania perspektywy OGL(OpenGL) rysuje tylko jeżeli:
-Kamera zawiera się w punktach od min -1 do max 1 na wszystkich osiach
-objekt jest mniejszy niż kwadrat o r=1 od (0,0,0)
TIP: Ustaw perspektywe (chyba gluPerspective()) ;-)
//Poniżej masz opis procedure glLookAt(); Użyj tego. Dodaj perspektywe(bo inaczej nic nie zobaczysz) i będzie lux ;)
Użytkownik mariuszlorenc edytował ten post 30 grudzień 2005, 17:58
w funkcji glLookAt podajesz wszystkie parametry które potrzebujesz by poruszać kamerą:
pierwsze 3 to pozycja kamery (x, y ,z)
nastepne 3 to punkt do którego jest kamera zwrócona (oznacza kierunek patrzenia)
- aby go okreslić możesz np. sie posłużyć kątami obortu x i y i na ich podstawie wyliczyć wektor skierowany w daną stronę.
ostatnie 3 to wektor skierowany w górę, który wyliczasz( jest prostopodały do płaszczyny w której zawiera się wektor kierunku patrzenia)
musisz gdzieś mieć 6 zmiennych (x, y, z i celx, cely, celz) lub 5 (x, y, z , katx, kąt y) a wektor górny wyliczać w locie.
kamere mozesz obracać i poruszać zmieniając te zmienne ;)
kod aktualizujący kamerę umieścić w jakiejś funkcji i wrzucić ją do pętli głównej programu.
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
procedure TForm1.GLBox1SetupRC(Sender: TObject);
begin
//oswietlenie
glEnable(GL_LIGHTING);
glClearColor(0, 0, 0, 1);
glEnable(GL_DEPTH_TEST);
GLBox1Resize(nil);
gluLookAt(0, 120,0 , 0, 10, 0, 0, 0, 1); // Set position and orientation
najchętniej obejrzał bym kawałek kodu ale może być tłumaczenie jak dla wiejskiego chłopa...
z góry wielkie dzięki..
Użytkownik student Hogwartu edytował ten post 30 grudzień 2005, 10:55
Bez ustawiania perspektywy OGL(OpenGL) rysuje tylko jeżeli:
-Kamera zawiera się w punktach od min -1 do max 1 na wszystkich osiach
-objekt jest mniejszy niż kwadrat o r=1 od (0,0,0)
TIP: Ustaw perspektywe (chyba gluPerspective()) ;-)
//Poniżej masz opis procedure glLookAt(); Użyj tego. Dodaj perspektywe(bo inaczej nic nie zobaczysz) i będzie lux ;)
Użytkownik mariuszlorenc edytował ten post 30 grudzień 2005, 17:58
w funkcji glLookAt podajesz wszystkie parametry które potrzebujesz by poruszać kamerą:
pierwsze 3 to pozycja kamery (x, y ,z)
nastepne 3 to punkt do którego jest kamera zwrócona (oznacza kierunek patrzenia)
- aby go okreslić możesz np. sie posłużyć kątami obortu x i y i na ich podstawie wyliczyć wektor skierowany w daną stronę.
ostatnie 3 to wektor skierowany w górę, który wyliczasz( jest prostopodały do płaszczyny w której zawiera się wektor kierunku patrzenia)
musisz gdzieś mieć 6 zmiennych (x, y, z i celx, cely, celz) lub 5 (x, y, z , katx, kąt y) a wektor górny wyliczać w locie.
kamere mozesz obracać i poruszać zmieniając te zmienne ;)
kod aktualizujący kamerę umieścić w jakiejś funkcji i wrzucić ją do pętli głównej programu.