*   >> läser Utbildning artiklar >> science >> programming

Papervision 3D Programming Tutorial - quadtree Renderer

Visa DEMODOWNLOAD KODEN Omdömen

Ett vanligt problem med ett program 3D-rendering beslutar i vilken ordning trianglar dras. Varför är detta viktigt? Det är viktigt eftersom dessa trianglar längst bort från kameran måste dras först, så de närmare kameran kan dra över toppen av dem. Omdömen

Tänk dig att du målar ett hus står ensam i ett fält mot en bergssluttningarna . Det första du skulle måla himlen, och sedan över bergen. Detta skulle ge dig en bakgrund. Till denna scen du vill måla på fältet, och dessa träd bakom huset.

Då skulle du måla huset, följt av träden framför huset. Detta är bara sunt förnuft: dessa objekt är närmast betraktaren ska målas sist, och därför målade över de mer avlägsna objekt. Tänk om du målade huset först och bergen sist - du skulle måla bergen rätt över huset och inte se huset alls Omdömen

Rendering en 3D-scen är mycket lik målning.. På samma sätt som de mer avlägsna bergen är målade först och sedan huset målas över toppen av den bilden, bör de mest avlägsna polygoner som utgör scenen göras innan de närmare kameran.

Omdömen

Det verkar som ett enkelt koncept rätt? Men hur är polygoner som skär? Titta på det markerade området i bilden nedan. Omdömen

Omdömen

Här har vi ett vertikalt plan som skär ett horisontalplan. Vem står bakom vem? Svaret är att planen är både framför och bakom varandra på samma gång. Och som ni kan se, inte standarden Papervision renderaren inte hantera den här situationen mycket väl. Detta beror på att Papervision delar ett enda värde för varje polygon som representerar dess djup i scenen.

Uppenbarligen är detta enda värde inte kan representera det faktum att en polygon kan vara både bakom och framför en annan på samma gång, vilket leder till situationen på skärmbilden: en polygon beräknas ligga bakom (eller framför), och återges som sådan. Omdömen

Nu tar en titt på denna skärmdump. Omdömen

Omdömen

Lägg märke till skillnaden? Det horisontalplan skär nu vertikalplanet som du förväntar dig. Detta är tack vare QuadrantRenderEngine: en ny renderare i Papervision som kommer att dela korsande polygoner så att de är korrekt utformat.

Du kommer också att märka att förutom de polygoner som skär rätt, att det vertikala planet har också delats upp i flera mindre polygoner. Detta är nödvändigt för konverteringsprocessen, men dessa ytterligare polygoner har nackdelen att drabbas av prestations kostnad. Omdömen

I demoprogrammet kan du växla mellan de grundläggande och Quadrant re

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 läser Utbildning artiklar,https://utbildning.nmjjxx.com All rights reserved.