04.02.2004
Pre zlešenie kvality osvetlenia je potrebné osvetlenie po pixeloch. Emboss bump mapping bola prvá realtime-ová technológia, ktorá umožňovala vytvoriť lepšie osvetlenie ako štandardne osvetlenie po vrcholoch. Ešte lepšie osvetlenie sa dá vytvoriť pomocou dot3 bump mapping-u, ktorý na rozdiel od emboss bump mapping-u je matematicky správny. Dot3 bump mapping počíta skalárny súčin normálového vektora uloženého v textúre a vektora k svetlu po pixeli. Emboss bump mapping tento skalárny súčin odhaduje pomocou súčtu dvoch posunutých textúr.
zdrojové texty a program – 640kB
zdrojovy text pre knižnicu jpeglibmm.lib – 200kB
18.11.2003
Program používa bitmapový font t.j. font vytvorený z textúry.
Hmla môže byť počítaná po vrcholoch (vertex fog) a na základe hodnoty hĺbky (zo z-buffra) (table fog). Ja používam hmlu na základe z-buffra.
Hmla može byť:
- exponenciálna, nastavuje sa hustotou
- exponenciálna na druhú, nastavuje sa hustotou
- lineárna, nastavuje sa začiatočnou a koncovou vzdialenosťou
zdrojové texty a program – 180kB
18.11.2003
Pre osvetlenie potrebujeme definovať pre každý vertex normálový vektor. Používam smerové svetlo. Pohyb je vytvorený cez rotácie a posunutia.
zdrojové texty a program – 330kB
18.11.2003
V programe využívam font prístupný v D3D, ktorý sa vytvorý volaním funkcie D3DXCreateFont. Ako časovač využívam rýchli časovač prístupný cez funkciu QueryPerformanceCounter.
Keď stlačite h zobrazý sa Help.
zdrojové texty a program – 180kB
18.11.2003
Mapovanie textúry je priradenie textúrovej súradnice bodom v priestore. Vytvorime si vertex buffer, v ktorom jedna položka bude obsahovať pozíciu a textúrové koordinácie. Naplníme vertex buffer a možme kresliť. Pozor suradnícový systém pre textúrové koordinácie je iný ako v OpenGL. Texel (0,0) je vľavo hore, (1,0) je vravo hore, (0,1) je vľavo dole a (1,1) je vpravo hore. Rozdiel oproti OpenGL je, že smer y osi je opačný a y=0 je hore!
zdrojové texty a program – 160kB
18.11.2003
Aby sme mohli v D3D kresliť, potrebujeme si vytvoriť vertex buffer. Do ňho skopírujeme súradnice vrcholov. Vertex buffer može obsahovať iba položky, ktoré sú uvedené v dokumentácii. Poradie jednotlivých položiek je pevne dané. Ak máme vytvorený vertex buffer môžme z neho, kresliť. Primitívy, ktoré vie kresliť D3D sú: Čítať zvyšok príspevku »
18.11.2003
Program vytvorí aplikáciu inicializuje, DirectX 8.1 a Direct3D. Nastavenie načítava so súbora init.txt. Program maže okno. Farba mazania okna sa dynamicky mení. Ďalej program vytvorý súbor D3D8caps.txt, v ktorom je zapísané aké veci dané zariadenie zvláda.
zdrojové texty a program – 130kB
16.11.2003
Prečo som začal s DX
Nevýhodov OpenGL je nekompatibilita rozšírení. Konkrétne rozšírenia týkajúce sa pixel shader sú u kariet rôznych výrobcou rôzne a tým nekompatibilné. Čítať zvyšok príspevku »
30.10.2003
Voda je vytvárana spojením lomu a odrazu pomocou Fresnelovho vzorca. Pre odraz plati zakon odrazu, ktorý hovorý, že uhol dopadu sa rovná uhlu odrazu. Pre lom platí Shellov zakon, ktorý hovorý: Pomer sínusu uhla dopadu k sínusu uhla lomu je rovný pomeru rýchlosti šírenia vĺn v prostredí 1 a v prostredí 2. Matematicky sin(a1)/sin(a2)=v1/v2=n2/n1. Platí ak v1>v2 potom a1>a2, a ak v1
Pre zobrazovanie lomu a odrazu používam sphere environment mapping, alebo cube environment mapping.
Odporučané rozšírenia: GL_ARB_multitexture, GL_ARB_texture_env_combine a GL_ARB_texture_cube_map.
zdrojové texty a program – 200kB bez jpeglibm.lib
12.09.2003
Súbory ase vytvara 3ds max ako ASCII scene export. Je to textový formát. Všeobecne majú textové formáty oproti binárnym tú výhodu, že ich dáta sú uložené textovým popisným spôsobom a preto nie je problém importovať potrebné časti so súboru. Textové súbory sú zase väčšie a pomalšie sa načítavajú. Načítanie ase súboru som urobil, preto lebo 3ds max exportuje veľa rôznych dát, pričom načítavať ich s 3ds súboru je obtiažne, lebo poriadny popis neexistuje. Ďalšia nevýhoda 3ds je, že neobsahuje všetky informácie ( napr. chybajú normálové vektory).
3ds max obsahuje modul pre výpočet globálneho modelu osvetlenia – radiosity. To umožňuje docieliť veľmi realistické osvetlenie modelov. Čítať zvyšok príspevku »