Zanir » Blog Archive » Program 8 – Veľa bodových svetiel

Program 8 – Veľa bodových svetiel

10.02.2004

008_Many_Point_LightsProgram 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.

zdrojové texty a program – 350kB

Pridať komentár