*   >> Lese Utdanning Artikler >> science >> programming

Papervision 3D Programming Tutorial - firertre Renderer

Se DEMODOWNLOAD RETNINGSLINJENE

Et vanlig problem med en software 3D-rendering er å avgjøre i hvilken rekkefølge trekanter er trukket. Hvorfor er dette viktig? Det er viktig fordi disse trekantene lengst fra kameraet trenger å bli trukket først, så de nærmere kameraet kan trekke over toppen av dem.

Tenk deg at du var å male et hus stående alene i et felt mot fjellene i bakgrunnen . Det første du vil male himmelen, og deretter fjellene. Dette vil gi deg et bakteppe. Til denne scenen vil du male på feltet, og disse trærne bak huset.

Da ville du male huset, etterfulgt av trærne i front av huset. Dette er bare sunn fornuft: disse objektene nærmest betrakteren bør males siste, og derfor malt over de mer fjerntliggende objekter. Tenk om du malte huset først og fjellene siste - du ville male fjellene rett over huset og ikke se huset i det hele tatt

Rende en 3D-scene er veldig lik maleri.. På samme måte som de mer fjerntliggende fjellene er malt først og deretter huset er malt over toppen av det bildet, bør de mest fjernt polygoner som utgjør scenen gjøres før de nærmere kameraet.


Det virker som et enkelt konsept rett? Men hva om polygoner som skjærer hverandre? Ser på det uthevede området på bildet nedenfor.


Her har vi et vertikalt plan som skjærer horisontalplanet. Hvem står bak hvem? Svaret er at flyene er både foran og bak hverandre på samme tid. Og som du kan se, ikke standard Papervision renderer ikke håndtere denne situasjonen svært godt. Dette er fordi Papervision tildeler en enkelt verdi til hvert polygon som representerer det dybde i scenen.

Selvfølgelig er dette enkelt verdi ikke kan representere det faktum at en polygon kan være både bak og foran en annen på samme tid, noe som fører til situasjonen i skjermbilde: en mangekant er beregnet for å være bak (eller foran), og er gjengitt som sådan.

Nå tar en titt på dette skjermbildet.


Legg merke til forskjellen? Horisontalplanet skjærer nå vertikalplanet som du forventer. Dette er takket være QuadrantRenderEngine: en ny renderer i Papervision som vil splitte kryssende polygoner slik de er trukket ordentlig.

Du vil også legge merke til at, i tillegg til de kryssende polygoner på riktig måte, at vertikalplanet er også delt opp i flere mindre polygoner. Dette er nødvendig for gjengivelsen, men disse ekstra polygoner har den ulempen av å pådra seg en forestilling kostnad.

I demoprogrammet kan du veksle mellom de grun

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Lese Utdanning Artikler,https://utdanning.nmjjxx.com All rights reserved.