Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

L ÁTHATÓSÁG MEGHATÁROZÁSA 2009-2010 tavaszi félév.

Hasonló előadás


Az előadások a következő témára: "L ÁTHATÓSÁG MEGHATÁROZÁSA 2009-2010 tavaszi félév."— Előadás másolata:

1 L ÁTHATÓSÁG MEGHATÁROZÁSA tavaszi félév

2 C SAPATTAGOK Kalmár László (projekt vezető) Földi Antal Réperger Péter

3 F ELADAT • OpenGl-ben 3D-s objektumok látható felszíneinek meghatározása. • Algoritmusok: •Z-Buffer-algoritmus •Warnock-algoritmus •Festő algoritmus •BSP-fa •stb…

4 Z-B UFFER - ALGORITMUS Minden pixelre megkeresi azt a felületet, amelynél a pixelen keresztül látható pontban a Z koordináta minimális.

5 Z-BUFFER-ALGORITMUS() for minden p pixelre do PIXEL-ÍRÁS(p, háttér-szín) z-buffer[p] ← a legnagyobb ábrázolható érték for minden o háromszögre do for az o háromszög vetületének minden p pixelére do Z ← az o háromszög p-re vetül˝o pontjának Z koordinátája if Z < z-buffer[p] then PIXEL-ÍRÁS(p, az o színe ebben a pontban) z-buffer[p] ← Z

6 W ARNOCK - ALGORITMUS lgorithm A láthatóságot a pixelnél nagyobb egységekre vizsgálja A vetített poligonok és az ablak lehetséges viszonyai alapján:

7 •Ha metsző és tartalmazott objektumok vannak a vizsgált területen, akkor az ablakot négy egybevágó ablakra bontjuk fel, és újra kezdjük a vizsgálatot. •Pixel méretű ablakra különböző módszerek

8 WARNOCK-ALGORITMUS(X1, Y1, X2, Y2) if X1, X2 vagy Y1, Y2 ⊲ Az ablak a pixelnél nagyobb? then if legalább egy él esik az ablakba ⊲ Ablakfelezés és rekurzió. then WARNOCK-ALGORITMUS(X1, Y1, (X1 + X2)/2, (Y1 + Y2)/2) WARNOCK-ALGORITMUS(X1, (Y1 + Y2)/2, (X1 + X2)/2, Y2) WARNOCK-ALGORITMUS((X1 + X2)/2, Y1, X2, (Y1 + Y2)/2) WARNOCK-ALGORITMUS((X1 + X2)/2, (Y1 + Y2)/2, X2, Y2) return ⊲ Triviális eset: az (X1, Y1, X2, Y2) téglalap homogén. poligon ← az ((X1 + X2)/2, (Y1 + Y2)/2) pixelben látható poligon if nincs poligon then (X1, Y1, X2, Y2) téglalap kitöltése háttér színnel else (X1, Y1, X2, Y2) téglalap kitöltése a poligon színével

9 F ESTŐ ALGORITMUS „A festés során a későbbi ecsetvonások elfedik a korábbiakat” Működés:  Poligonokat rendezzük  P poligon csak akkor állhat a sorrendben egy Q poligon után, ha nem takarja azt.  Kapott sorrendben visszafelé haladva egymás után raszterizáljuk a poligonokat

10 „P poligon nem takarja a Q poligont”, ha:  A P poligon minden pontja hátrébb van (nagyobb Z koordinátájú) a Q poligon bármely pontjánál  A P poligon vetületét befoglaló téglalapnak és a Q poligon vetületét befoglaló téglalapnak nincs közös része  P valamennyi csúcsa (így minden pontja) messzebb van a szemtől, mint a Q síkja  Q valamennyi csúcsa (így minden pontja) közelebb van a szemhez, mint a P síkja  A P és Q vetületeinek nincs közös része

11 F EJLESZTŐKÖRNYEZET C# Visual Studio, Resharper,.NET 3.5 TAO Framework  C# osztálykönyvtár  OpengGl,FreeGlut,Cg,PhysFS, stb… TortoiseSVN

12 A LGORITMUSOK TESZTELÉSE Helyes működés teszt  Helyesen jellennek-e meg az objektumok. Sebesség teszt  Elfogadható-e a sebesség (fps). Összehasonlító teszt  Az algoritmusok összehasonlítása egymással.

13 MI TÖRTÉNT EDDIG ? Algoritmusok kiválasztása Fejlesztőkörnyezet kiválasztása Szakirodalom tanulmányozása Teszt környezet írása (~40%) Z-buffer megvalósítása (~10%) 1. ellenőrző pont elérése

14 K ÖSZÖNÖM A FIGYELMET !


Letölteni ppt "L ÁTHATÓSÁG MEGHATÁROZÁSA 2009-2010 tavaszi félév."

Hasonló előadás


Google Hirdetések