-
1. Data: 2010-03-11 09:15:11
Temat: [OpenGl] Walkin in Space
Od: "fir" <p...@p...onet.pl>
Poduczam sie OpenGla ale jestem dosyc w nim jeszcze zielony.
Moge sobie zbudowac scene - np z zawieszonymi w przestrzani 5
szescianami ale chcialbym zrealizowac zgrabne poruszanie sie
w niej najklepiej myszą - np ruchy myszą obroty przestrzeni dookola
mojego 'punktu obecnosci' wcisniety lewy - ruch do przodu po prostej
- albo na poczatek dla uproszczenia obroty klawiszami jak
w starej grze elite (kursor lewo - prawo to co nazywa sie
'roll' kursor up/down to co nazywa sie 'pitch' - np spacja
do przodu - czy ktos moze przetlumaczyc mi wejscie klawki lub myszy
na odpowiednie komenty OpenGl -
czy robi sie to raczej przez gluLookAt czy przez glTranslate
i glRotate dla calej sceny?
Wiem ze moge poszukac w ksiazkach czy w necie - ale jakby ktos kto
dobrze zna sie na OpenGl powiedzial jak to sie robi mogloby byc szybciej i
bardziej bezbolesnie
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
-
2. Data: 2010-03-12 09:16:35
Temat: Re: [OpenGl] Walkin in Space
Od: p...@p...onet.pl
> Poduczam sie OpenGla ale jestem dosyc w nim jeszcze zielony.
> Moge sobie zbudowac scene - np z zawieszonymi w przestrzani 5
> szescianami ale chcialbym zrealizowac zgrabne poruszanie sie
> w niej najklepiej myszą - np ruchy myszą obroty przestrzeni dookola
> mojego 'punktu obecnosci' wcisniety lewy - ruch do przodu po prostej
> - albo na poczatek dla uproszczenia obroty klawiszami jak
> w starej grze elite (kursor lewo - prawo to co nazywa sie
> 'roll' kursor up/down to co nazywa sie 'pitch' - np spacja
> do przodu - czy ktos moze przetlumaczyc mi wejscie klawki lub myszy
> na odpowiednie komenty OpenGl -
> czy robi sie to raczej przez gluLookAt czy przez glTranslate
> i glRotate dla calej sceny?
> Wiem ze moge poszukac w ksiazkach czy w necie - ale jakby ktos kto
> dobrze zna sie na OpenGl powiedzial jak to sie robi mogloby byc szybciej i
> bardziej bezbolesnie
>
zaczalem myslec jak sam wyprowadzić wzorki mozna chyba albo przeksztalcac
ze wzorkow na wspolrzedne biegunowe albo chyba ze zwyklej algebry liniowej
w przyblizony sposob - obroty wektora dookola wektora i pozniej normalizowac
wynikowy troche odchylony wektor - ale chyba nie chce mi sie tego dzis liczyc
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
-
3. Data: 2010-03-12 15:14:07
Temat: Re: [OpenGl] Walkin in Space
Od: gacek <g...@w...pl>
fir wrote:
> Poduczam sie OpenGla ale jestem dosyc w nim jeszcze zielony.
> Moge sobie zbudowac scene - np z zawieszonymi w przestrzani 5
> szescianami ale chcialbym zrealizowac zgrabne poruszanie sie
> w niej najklepiej myszą - np ruchy myszą obroty przestrzeni dookola
> mojego 'punktu obecnosci' wcisniety lewy - ruch do przodu po prostej
> - albo na poczatek dla uproszczenia obroty klawiszami jak
> w starej grze elite (kursor lewo - prawo to co nazywa sie
> 'roll' kursor up/down to co nazywa sie 'pitch' - np spacja
> do przodu - czy ktos moze przetlumaczyc mi wejscie klawki lub myszy
> na odpowiednie komenty OpenGl -
Zazwyczaj masz jakiś obiekt typu CCamera, w którym pamiętasz pozycję, at
i up (dwa ostatnie to znormalizowane wektory). Obracasz tym - jakimiś
gotowymi funkcjami do wektorów (powinno się dać darmowe znaleźć dla
każdego języka). Przy obracaniu uwzględniasz czas jaki upłynał od
ostatniego obrotu - żeby tempo nie zależało od FPS.
> czy robi sie to raczej przez gluLookAt czy przez glTranslate
> i glRotate dla calej sceny?
OIDP gluLookAt ustawia na nowo macierz Modelview - więc i tak dobrze to
zrobić przed każdą klatką. Z dokładnością do języka - gluLookAt(pozycja,
pozycja+at, up);
gacek
-
4. Data: 2010-03-13 17:47:44
Temat: Re: [OpenGl] Walkin in Space
Od: Michoo <m...@v...pl>
p...@p...onet.pl pisze:
> zaczalem myslec jak sam wyprowadzić wzorki mozna chyba albo przeksztalcac
> ze wzorkow na wspolrzedne biegunowe albo chyba ze zwyklej algebry liniowej
> w przyblizony sposob - obroty wektora dookola wektora i pozniej normalizowac
> wynikowy troche odchylony wektor - ale chyba nie chce mi sie tego dzis liczyc
>
W liceum popełniłem coś takiego:
http://wklej.org/id/295845/
http://wklej.org/id/295847/
http://wklej.org/id/295848/
Możesz cobie poprzerabiać wg uznania.
--
Pozdrawiam
Michoo
-
5. Data: 2010-03-15 10:01:19
Temat: Re: [OpenGl] Walkin in Space
Od: p...@p...onet.pl
> fir wrote:
> > Poduczam sie OpenGla ale jestem dosyc w nim jeszcze zielony.
> > Moge sobie zbudowac scene - np z zawieszonymi w przestrzani 5
> > szescianami ale chcialbym zrealizowac zgrabne poruszanie sie
> > w niej najklepiej myszą - np ruchy myszą obroty przestrzeni dookola
> > mojego 'punktu obecnosci' wcisniety lewy - ruch do przodu po prostej
> > - albo na poczatek dla uproszczenia obroty klawiszami jak
> > w starej grze elite (kursor lewo - prawo to co nazywa sie
> > 'roll' kursor up/down to co nazywa sie 'pitch' - np spacja
> > do przodu - czy ktos moze przetlumaczyc mi wejscie klawki lub myszy
> > na odpowiednie komenty OpenGl -
>
>
> at i up (dwa ostatnie to znormalizowane wektory). Obracasz tym - jakimiś
no tak - wlasnie o to chodzi - moze trudne do uwierzenia ale
przejrzalem 3 ksiazki do openGla i nie znalazlem odpowiedzi na
moja kwestie, przynajmniej bezposredniej
problem polega na tym ze moge przez glRotate obrocic
swiat wokol dowolnej osi (np 1,0,0) - po czym znowu wokol dowolnej osi
(np 0,1,0) ale ten drugi obrot powinien byc wokol osi ktora _zmienila_
sie razem z pierwszym obrotem - i jej obrot wlasnie potrzebuje
wyliczyc (by moc go jawnie podac)- a glRotate tylko obraca swiat
i nie wiem jak uzyskac macierz odpowiadajaca pierwszemu obrotowi
przez ktora ew powinienem przemnozyc owa os i uzyskac nowa os
wokol ktorej moglbym wtedy dalej obrocic -
> gotowymi funkcjami do wektorów (powinno się dać darmowe znaleźć dla
> każdego języka). Przy obracaniu uwzględniasz czas jaki upłynał od
> ostatniego obrotu - żeby tempo nie zależało od FPS.
>
> > czy robi sie to raczej przez gluLookAt czy przez glTranslate
> > i glRotate dla calej sceny?
>
> OIDP gluLookAt ustawia na nowo macierz Modelview - więc i tak dobrze to
> zrobić przed każdą klatką. Z dokładnością do języka - gluLookAt(pozycja,
> pozycja+at, up);
>
> gacek
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
-
6. Data: 2010-03-19 08:05:47
Temat: Re: [OpenGl] Walkin in Space
Od: "1664" <p...@p...onet.pl>
jak wspomnialem douczam sie OpenGla - napisalem ostatnio prostą
spacerówkę w kosmosie (wypełnionym głownie kolorowymi szescianami i
nieinteligentnymi szarymi ostrosłupo-mysliwcami) ale zauważam
osobliwe artefakty - jesli ścianka jednego z szescianow jest blisko
ścianki drugiego to pojawiaja sie ukośne prześwity jednego spod drugiego
- jak na dole w ponizszym obrazku -
http://fir1664.webpark.pl/ogl4.jpg
czy to błąd depth buffera - jak da sie to poprawić?
fir
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
-
7. Data: 2010-03-22 09:27:23
Temat: Re: [OpenGl] Walkin in Space
Od: p...@p...onet.pl
> jak wspomnialem douczam sie OpenGla - napisalem ostatnio prostą
> spacerówkę w kosmosie (wypełnionym głownie kolorowymi szescianami i
> nieinteligentnymi szarymi ostrosłupo-mysliwcami) ale zauważam
> osobliwe artefakty - jesli ścianka jednego z szescianow jest blisko
> ścianki drugiego to pojawiaja sie ukośne prześwity jednego spod drugiego
> - jak na dole w ponizszym obrazku -
>
> http://fir1664.webpark.pl/ogl4.jpg
>
> czy to błąd depth buffera - jak da sie to poprawić?
>
trzeba bylo0 zwiekszyc near plane we frustrumie z 0.001 na 1.0
i poprawilo skutek
http://www.fir1664.webpark.pl/clipboard01.jpg
http://www.fir1664.webpark.pl/clipboard02.jpg
wyżej moje wprawki w openGlu - kosmiczna spacerowka,
doslownie 3 wieczory kodowania i fajnie działa nawet na mojej
karteczce intel 859G :)
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl