evo kratko za dx9 kompatibilne :
na net-u mozete da skinete kako izgleda graficki pajplajn... vertex shader-i vam zamenjuju deo koji se odnosto na transformacije i osvetljenje (tzv transformation and lightning)... ulaz su vertexi sa svojim (x,y,z,w) , normale ( x,y,z) , kordinate teksture, boje i korisnicki deklarisane stvari tipa float , float3 ili sta vec ( te stvari mozete da koristite za bump mapping ili recimo paralax mapping ili nema pojma koje efekte pravite ).... izlaz iz vertex shader-a je pozicija posle transformacija ( ukljucujuci projekciju ) , recimo boja , koordinata teksture i opet po zelji neki korisnicke stvari recimo normale ( ako ocete phong osvetljenje po tacki , rastojanja i sl..) half vektor .. ovi ulazi se odnose na temena trouglova.. postoje takodje i globalne promenljive koje vam stoje u nekom registru pri radu sa vise trouglova.. recimo matrica projekcije, model_view matrica i sl ili recimo parametar tipa float kao vreme koji moze da se upotrebi za modulaciju geometrije tako da se ona talasa po cos funkciji recimo za vodu ili tako nesto.... sve sto je u vertex shader-u (ako koristite GLSL (opengl) ili HLSL za DX ) je veoma prost program za razliku od matematike koja je programirana...
imate funckije tipa dot(a,b) - skalarni prozivod dva vektora , * za vektorski ... i kucate recimo
color = dot(light,normal)*diffuseCoef + ambCoef; za diffuzno osvetljenje
izlaz iz vertex shader-a je prolazi kroz druge stepene pipeline-a ali prolazi i kroz PixelShader...
svaki trougao ima 3 temena 🙂.. kada se povuku linije izmedlju njih i kada se povuku horizontalne linije koje ih dodiruju a nalaze se u trouglu dobijate fragmente.. svaka horizontalna linija je jedan fragment... ima levi i desni kraj cije su vrednosti dobijene interpolacijom izmedju temena trouglova... vrednosti na liniji se dobijaju interpolacijom izmedju krajeva linije... ono sto se interpolira su koordinate teksture, normale , boja i sl... sve sto je izlaz i vertex shader-a ( ogranicen broj ).. vas zadatak je da na osnovu svega togaa vratite samo jedno a to je boja tacke... sintaksa programa je ista kao i u vertex-shader-u stim sto se ovde ukljucuju i slempler-i (za teksturiranje )...
vs i ps su dakle dva nezavisna programa koja se izvrsavaju na razlicitim procesorima u gpu..
sta je na dx10 pojma nemam..