eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › Trwale elementy w OpenGL
Ilość wypowiedzi w tym wątku: 6

  • 1. Data: 2013-01-24 09:59:00
    Temat: Trwale elementy w OpenGL
    Od: Marcin L <"xxxl kropka marcin"@gmail.com>

    Witam,

    Rozpoczalem przygode z OpenGL w C. Umie tworzyc scene, obracac, ogladac z
    kazdej strony, ale nie wiem jak pokazac "trwale" obiekty, ktore zawsze beda
    w okreslonej pozycji w okreslonym miejscu.

    Chcialbym np. podpisac sobie jakis obiekt i zeby ten napis byl zawsze w
    okolicy danego obieku, ale nie obracal sie wraz z nim. Pewnie mo


  • 2. Data: 2013-01-24 13:38:11
    Temat: Re: Trwale elementy w OpenGL
    Od: Michoo <m...@v...pl>

    On 24.01.2013 09:59, Marcin L wrote:
    > Pewnie mo?liwe, bo
    > czesto jest tak w np. grach, gdzie mozna wlaczyc sobie opcje podpisywania
    > samolotow czy innych czolgow.
    >
    > Od razu chodzi, ze nie chodzi mi tylko o "bitmapy" 2G.

    Ale podpisy się właśnie tak robi - tzw "billboard", czyli GL_POINT_SPRITE.

    > Interesuje mnie jak
    > jest tworzony obraz nieruchomej kabiny samolotu i ruchoma "scena" tego co
    > widac za oknem.

    Tak jak każda inna złożona scena:
    push matix
    translate/rotate
    rysowanie kabiny
    pop matrix
    push matrix
    translate/rotate
    rysowanie całej reszty
    pop matrix
    push matix
    translate/rotate
    rysowanie przezroczystych elementów kabiny
    pop matrix

    --
    Pozdrawiam
    Michoo


  • 3. Data: 2013-01-25 13:45:23
    Temat: Re: Trwale elementy w OpenGL
    Od: Marcin L <"xxxl kropka marcin"@gmail.com>

    Dnia 24.01.2013 Michoo <m...@v...pl> napisał/a:
    > On 24.01.2013 09:59, Marcin L wrote:
    >> (...)
    > Ale podpisy się właśnie tak robi - tzw "billboard", czyli GL_POINT_SPRITE.
    >
    >> Interesuje mnie jak
    >> jest tworzony obraz nieruchomej kabiny samolotu i ruchoma "scena" tego co
    >> widac za oknem.
    >
    > Tak jak każda inna złożona scena:
    > (...)

    Wielkie dzieki, o to wlasnie chodzilo! W tym OpenGL wszystko jest tylko
    trzeba wiedziec jak sie co nazywa.

    Mam jeszcze tylko pytanie ad. kolejnosci rysowania: napisales - kabina,
    reszta, przezroczyste elementy. Czy taka kolejnosc jest wazna?

    --
    ml

    http://www.archimedes.eu.org/


  • 4. Data: 2013-01-25 15:31:09
    Temat: Re: Trwale elementy w OpenGL
    Od: Michoo <m...@v...pl>

    On 25.01.2013 13:45, Marcin L wrote:
    >
    > Wielkie dzieki, o to wlasnie chodzilo! W tym OpenGL wszystko jest tylko
    > trzeba wiedziec jak sie co nazywa.

    Przeczytaj Red Book - tam jest wyjaśnione jak OpenGL liczy scenę.

    >
    > Mam jeszcze tylko pytanie ad. kolejnosci rysowania: napisales - kabina,
    > reszta, przezroczyste elementy. Czy taka kolejnosc jest wazna?
    >
    W skrócie:
    - "przezroczystość" działa tak, że liczy się średnią ważoną z piksela
    który trafia do bufora i piksela który tam już jest (wagą jest alpha),
    więc to co przezroczyste musi być rysowane po tym co ma przez nie
    prześwitywać [1]
    - jeżeli jakieś elementy są częściowo zasłaniane przez inne to opłaca
    się je rysować później bo będą policzone tylko te piksele, które są
    widoczne [2] - na ekranie masz to samo, ale np 30% szybciej.


    [1] odwrotna sytuacja zachodzi, gdy przezroczystość jest tylko w dwóch
    stanach: widać całość, nie widać nic (liście, płoty, etc). Wtedy lepiej
    rysować zgodnie z 2 myślnikiem, nie aktualizując z-bufora przy pełnej
    przezroczystości, np:
    if(texture2D(TEX_N, gl_TexCoord[0].xy).g < 0.5)
    discard;

    [2] w skrajnym przypadku gdy "kokpit" się zupełnie nie zmienia można go
    RAZ narysować do dodatkowego bufora a potem tylko kopiować


    --
    Pozdrawiam
    Michoo


  • 5. Data: 2013-01-31 15:25:34
    Temat: Re: Trwale elementy w OpenGL
    Od: Marcin L <"xxxl kropka marcin"@gmail.com>

    Dnia 25.01.2013 Michoo <m...@v...pl> napisał/a:
    > On 25.01.2013 13:45, Marcin L wrote:
    >>
    >> Wielkie dzieki, o to wlasnie chodzilo! W tym OpenGL wszystko jest tylko
    >> trzeba wiedziec jak sie co nazywa.
    >
    > Przeczytaj Red Book - tam jest wyjaśnione jak OpenGL liczy scenę.

    Juz sciagnalem. B. ciekawa lektura, tylko ta objetosc... :-)

    > W skrócie:
    > - "przezroczystość" działa tak, że liczy się średnią ważoną z piksela
    > który trafia do bufora i piksela który tam już jest (wagą jest alpha),
    > więc to co przezroczyste musi być rysowane po tym co ma przez nie
    > prześwitywać [1]
    (...)

    Fakt. Myslalem, ze wynika to raczej z jakis wewnetrznych mechanizmow
    kolejnosci mnozenia macierzy przeksztalcen.

    Czytalem takze o wspomnianych przez Ciebie bilboradach. Pierwsze
    spostrezenie - to dodatkowe rozszerzenie (przynajmniej w peirwszych
    wersjach) i nie zawsze wystepuje we wszystkich systemach. Do konca tez nie
    rozumie ich ideii.

    --
    ml

    http://www.archimedes.eu.org/


  • 6. Data: 2013-01-31 16:11:34
    Temat: Re: Trwale elementy w OpenGL
    Od: Michoo <m...@v...pl>

    On 31.01.2013 15:25, Marcin L wrote:
    > Dnia 25.01.2013 Michoo<m...@v...pl> napisał/a:
    >> On 25.01.2013 13:45, Marcin L wrote:
    >>>
    >>> Wielkie dzieki, o to wlasnie chodzilo! W tym OpenGL wszystko jest tylko
    >>> trzeba wiedziec jak sie co nazywa.
    >>
    >> Przeczytaj Red Book - tam jest wyjaśnione jak OpenGL liczy scenę.
    >
    > Juz sciagnalem. B. ciekawa lektura, tylko ta objetosc... :-)

    W liceum wydrukowałem i dałem do oprawy - nadal stoi u mnie na półce ;)

    >
    > Czytalem takze o wspomnianych przez Ciebie bilboradach. Pierwsze
    > spostrezenie - to dodatkowe rozszerzenie (przynajmniej w peirwszych
    > wersjach) i nie zawsze wystepuje we wszystkich systemach.

    Możesz założyć, ze sensowne implementacje opengl zaczynają się od 2.0
    (ew. 1.5 + vertex/fragment program). Starszymi imo nie warto się zajmować.

    > Do konca tez nie
    > rozumie ich ideii.

    1) nie przejmujesz się przeliczaniem współrzędnych
    2) Wysyłasz do karty po jednym punkcie na każdy kwadrat. Normanie
    musiałbyś wysłać 2*3 dla TRIANGLES albo 4 dla QUADS, więc ślesz 4-6 razy
    mniej danych. Pomyśl teraz o efekcie cząsteczkowym z 100-200k wierzchołkami.

    --
    Pozdrawiam
    Michoo

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: