Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
30
Shadery.ZaawansowaneprogramowaniewGLSL
Specykacjawierzchołka(ang.vertexspecication).Etaptenzajmujesię
przygotowaniemdanychidostarczeniemichnawejścieshaderawierzchołków.
Jesttuustalanatopologiawierzchołków,informującakolejneetapyorodzajuprze-
twarzanegoprymitywu.
Shaderwierzchołków(ang.vertexshader).Jesttopierwszyprogramowal-
nyetapzajmującysięprzetwarzaniempojedynczychwierzchołków.Jegoogólne
możliwościorazsposóbdziałaniazostałyprzedstawionewp.3.2.1.Natomiast
szczegółowyopisjegoprogramowaniaznajdujesięwpodrozdziale6.5.
Teselacja(ang.tessellation).Nateselacjęskładająsiętrzyetapy(wtymdwa
programowalne):shaderkontroliteselacji(ang.tessellationcontrollshader),tesela-
tor(ang.tessellationprimitivegenerator)ishaderewaluacjiteselacji(ang.tessellation
evaluationshader).Zajmująsięonezagęszczaniemgeometrii.Technikateselacji
zostałaszczegółowoopisanawpodrozdziale6.4.Etapy,któresąodpowiedzialneza
jejrealizację,zostałyopisanewpunkcie3.2.2,natomiastsamoichprogramowanie
wpodrozdziałach:6.6(shaderkontroliteselacji)oraz6.7(shaderewaluacjiteselacji).
Shadergeometrii(ang.geometryshader).Jesttoczwartyzprogramowalnych
etapówpotokuizajmujesięprzetwarzaniemcałychprymitywów.Charakterystyka
jegodziałaniazostałaopisanawpunkcie3.2.3,natomiastszczegółowyopispro-
gramowaniaznajdujesięwpodrozdziale6.8.
Przekształceniezwrotne(ang.transformfeedback).Etaptenpozwalaprze-
kierowaćdokonanedotejporyprzekształcenianageometrii,doprzygotowanego
wcześniejbufora.
Dzielenieperspektywiczneiprzekształceniewidoku(ang.coordinatetrans-
formation).Pierwszyzetapówprzekształcapozycjęwierzchołkadoznormalizowa-
nychwspółrzędnychurządzenia,dzielącwektorpozycjiprzezjegokomponentw,
następniedrugietap,opierającnawartościachzfunkcjiOpenGLglViewPort(),
przekształcajedowspółrzędnychokna.
Przycinanieprymitywów(ang.primitiveclipping).Etaptendokonujeod-
rzuceniatychfragmentówprymitywów,któreniemieszcząsięwobszarze
renderowania.
3.1.2.Rasteryzacja
Wtejsekcjipotoku,prymitywgraczny,któryznajdujesięnajejwejściu,jest
przekształcanynawłaściwefragmenty(piksele)lubteżpróbki.Sąnanichdoko-
nywanewczesneoperacje,zanimstanąsiębazowymielementamiwejściowymi
sekcjioperującejnafragmentach.
Ukrywaniepłaszczyznskierowanych(ang.faceculling).Dotyczywyłącznie
rasteryzacjitrójkątów.Wzależnościodustawieńaplikacji(funkcjaAPIglCull-
Face())mogąbyćusuwaneprzednielubtylneścianytrójkąta.
Trybwielokąta(ang.polygonemode).Etaptenumożliwiaprzekształcenie
trójkątanalinielubpunkty(funkcjaAPIglPolygonMode()).