eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › [OpenGl] Walkin in Space
Ilość wypowiedzi w tym wątku: 7

  • 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

strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: