Winter 2003
29.02.2004
29.02.2004
20.02.2004
20.02.2004
Cube mapping predstavuje vlastne environment mapping (mapovanie okolia na zrkadlové predmety) pričom ako zdroj sa používa cuba map textúra. Cube map textura sa skladá z 6 štvorcových textúr, ktoré predstavujú okolie. Pre generovanie texturových koordinacií používam vertex shader. Program využíva tie isté dáta ako sphere mapping, ale samotný zrkadlový povrch je trochu lepší a hlavne nemá žiadné problémové miesto.
20.02.2004
EMBM je mapovanie okolia na hrboľatý zrkadlový povrch. Predstavuje pokročilejšiu metódu enviromental mapping-u, ktorá sa na rozdiel od cube alebo sphere mappingu neprevádza po vrcholoch, ale prevádza sa po pixeloch. Využíva sa čítanie z textúry závislé na inej textúre. Presnejšie k textúrovacim koordináciam zakladnej textúry sa pripočítavá hodnota z druhej textúry. Základná textúra je v tomto prípade sphere map textúra. Druhá textúra predstavuje vypočítané posuvy textúrových koordinácií sphere map textúry. Táto textúra sa vypočítava na základe výškovej mapy zrkadlového povrchu (bump map).
Program vyžaduje operátor BUMPENVMAP (bump environment map) a 3 textúrovacie jednotky.
20.02.2004
Dot Product 3 Bump Mapping je osvetlenie povrchu po pixeloch. Využíva sa operátor skalárny súčin ( dot product ) pri textúrovaní objektu. Program počíta osvetlenie po pixeli podľa vzorca:
farba = ambient x Textura + (N.L)xTextura + (N.H)^SpecExp x SpecularFarba.
Program načítava 3ds súbor a používa vertex shader pre výpočet L a H vektorov. Ten istý efek robí aj OpenGL program 24. Narozdiel od tohto programu, OpenGL program nenačítava 3ds model ale dynamicky počíta guľu a pre výpočet L a H vektorov nepoužíva vertex program ale procesor.
Program vyžaduje multitexturing a operator DOTPRODUCT3.
10.02.2004
Program využíva vertex program pre vykreslenie objektu osvetleného 17 bodovými svetlami. Vertex program sa vykonáva pre každý vrchol modelu. Vstupom do vertex program je pre každý vrchol 1 až 16 4-zložkových vektorov float čísel (Vertex Attributes). Ďalším vstupom sú konštantné registre (Program Local Parameters, Program Environment Parameters), tieto sú zadané pred kreslením a sú spoločné pre viacero prímitív. Shader môže využívať vnutorné registre (11 registrov) pre uloženie dočasných medzivýsledkov. Výstupom shadera sú registre pre poziciu result.position, pre farby result.color, pre hmlu, pre velkost bodu a pre texturové koordinácie. Inštrukcie pracujú s vektormi a sú takéto: +,-,*, 1/x, 1/sqrt(x), dot3, dot4, exp, log, min, max, mov. Sú tam ešte nejaké inštrukcie na porovnanie (SGE, SLT) a nejaké špeciálne inštrukcie (ABS, ARL, DST, DPH, FLR, FRC, LIT, MAD, POW, SWZ, XPD).
Program vyžaduje rozšírenie GL_ARB_vertex_program
10.02.2004
Sphere mapping je spôsob implementácie environment mapping-u. Environment mapping je mapovanie okolia na zrkadlové predmety, ktoré sa nachádzaju v ňom. Pre generovanie texturových koordinacií používam vertex shader. V programe je aj automatické generovanie pomocou pevnej funkčnej pipeline, ale nie je korektné vzhľadom na poziciu kamery (nemení sa keď sa mení pozícia kamery).
10.02.2004
Program využíva vertex shader 1.0 pre vykreslenie objektu osvetleného 17 bodovými svetlami. Vertex shader je program, ktorý sa vykonáva pre každý vrchol modelu. Vstupom do vertex shadera je pre každý vrchol 1 až 16 4-zložkových vektorov float čísel (v0-v15). Ďalším vstupom sú konštantné registre (c0-c95), tieto sú zadané pred kreslením a sú spoločné pre viacero prímitív. Shader môže využívať vnutorné registre (r0-r11) pre uloženie dočasných medzivýsledkov. Výstupom shadera sú registre pre poziciu oPos, pre farby oD0,oD1 , pre hmlu oFog, pre velkost bodu oPts a pre texturové koordinácie oT0-oT7. Maximalna dĺžka shadera je 128 inštrukcií. Inštrukcie pracujú s vektormi a sú takéto: +,-,*, 1/x, 1/sqrt(x), dot3, dot4, exp, log, min, max, mov. Sú tam ešte nejaké inštrukcie na porovnanie (sge,slt) a nejaké špeciálne inštrukcie (dst,lit,mad). Všetko napisané platí pre vs verzie 1.0. Vyššie verzie majú viac inštrukcií, viac konštantných registov a väčšiu maximálu dĺžku programu.
04.02.2004