Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
10
Shadery.ZaawansowaneprogramowaniewGLSL
integracjędodatkowychmożliwościobliczeniowychzistniejącymijużaplikacjami
wykorzystującymiAPIOpenGL.Shaderysądzisiajpotężnymnarzędziemdlakre-
atywnychprogramistów,potrafiącychzapomocąodpowiednichtechniktworzyć
podstawydowspaniałych,częstojużnawetfotorealistycznychwizualizacji.
Postępzwiązanyzrozwojemprocesorówgraficznychnastępujenietylkona
polukomputerówosobistych.Jakjużwspomnieliśmynapoczątku,równieżtable-
tyismartfonymająprocesory,któremogąrenderowaćzaawansowanegraficznie
sceny.Podstawowąróżnicąmiędzytymiurządzeniamiakomputeramiosobistymi
jestarchitekturaGPUiAPI,którejestdotejarchitekturydostosowane.Wdomo-
wychkomputerachPCkorzystasięzpełnejwersjiOpenGL,natomiasturządzenia
mobilnemająuszczuplonąjegowersjęonazwieOpenGLES.Shaderyniestetysą
równieżprzeztoograniczone(wksiążceopisujemydesktopowąwersjęGLSL).
Powolipojawiająsięjednakzmiany,któremająnaceluujednolicenieobuplat-
form.Nvidiaw2014rokuwypuściłanarynekmobilnyukładGPUonazwieTegra
K1dozastosowańwtabletach,otakichsamychmożliwościach,jaktespotykane
wdomowychkomputerach,włączającwtopełnąwersjęOpenGLwrazzewszyst-
kimishaderami.Jestzatemtylkokwestiączasu,gdyrównieżsmartfonyznajdąsię
wtymsamymgronie.
Cieszymysię,żesięgnąłeśpotęksiążkędrogiczytelnikuimamynadzie-
ję,żebędziemywstaniezaspokoićtwojąchęćpoznaniawspółczesnychtechnik
korzystaniazmożliwościprocesorówgraficznychisamegojęzykaGLSL.
1.1.Dokogojestskierowanataksiążka?
Książkętępisaliśmyzmyśląoosobachzainteresowanychwspółczesnympodej-
ściemdoprogramowaniaGPUzzastosowaniemshaderów.Kluczowejesttusłowo
„współczesnym”,zewzględunazastosowanienajnowszejwersjijęzykadostępnej
wczasiepisaniatejksiążki,amianowicieGLSL4.50.Zależałonamnaprzedsta-
wieniuaktualnychmożliwościitrendówwprogramowaniuprocesoragraficznego.
Niejesttojednaklektura,któraopisujedziałaniesamejbibliotekiOpenGL.Za-
poznaniesięchociażbyzpodstawowymizagadnieniamizwiązanymizprogramo-
waniemzapomocątegoAPIjestniezbędne,abymócposłużyćsiętreściązawartą
wksiążce.OpenGLjestjednakniezbędnydlaGLSL,dlategowwieluprzypadkach
podczasopisupewnychfunkcjonalnościitam,gdziebyłotokonieczne,staraliśmy
sięnakierowaćczytelnikanato,wjakisposóbprzygotowaćaplikacjęijakiefunkcje
OpenGLnależyzastosować.Większynaciskpołożyliśmyjednaknaprogramowa-
niesamychshaderów.
Treśćzawartawksiążcejestdedykowanaosobomzdobrzeugruntowanąwie-
dząprogramistycznąorazmającychchoćbypodstawowąwiedzęzzakresugrafiki
trójwymiarowejialgebryliniowej.Wkwestiiprogramistycznejwystępująznacz-
neróżnicemiędzyprogramamipisanymipodCPU,atymipisanymipodGPU.