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,potraącychzapomocąodpowiednichtechniktworzyć
podstawydowspaniałych,częstojużnawetfotorealistycznychwizualizacji.
Postępzwiązanyzrozwojemprocesorówgracznychnastępujenietylkona
polukomputerówosobistych.Jakjużwspomnieliśmynapoczątku,równieżtable-
tyismartfonymająprocesory,któremogąrenderowaćzaawansowanegracznie
sceny.Podstawowąż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ówgracznychisamegoję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ówwprogramowaniuprocesoragracznego.
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ęzzakresugraki
trójwymiarowejialgebryliniowej.Wkwestiiprogramistycznejwystępująznacz-
neżnicemiędzyprogramamipisanymipodCPU,atymipisanymipodGPU.