Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
3.PotokrenderującyOpenGL
33
Tabela3.1.HistoriawydańkolejnychwersjiOpenGL/GLSLimplementującychprogramo-
walnypotokrenderujący
OpenGL
Wersja
2.0
2.1
3.0
3.1
3.2
3.3
4.0
4.1
4.2
4.3
4.4
4.5
Wersja
1.10
1.20
1.30
1.40
1.50
GLSL
3.30
4.00
4.10
4.20
4.30
4.40
4.50
preprocessora
#version110
#version120
#version130
#version140
#version150
#version330
#version400
#version410
#version420
#version430
#version440
#version450
Dyrektywa
wydania
04/2004
09/2006
08/2008
03/2009
08/2009
02/2010
03/2010
07/2010
08/2011
08/2012
07/2013
08/2014
Data
shaderwierzchołków,
shaderfragmentów
shadergeometrii
shaderkontroliteselacji,
shaderewaluacjiteselacji
shaderobliczeniowy
Pojawieniesię
shaderów
wpoświęconymmurozdziale8.Wtabeli3.1zawarliśmyinformacjeowszystkich
wydaniachOpenGL,zaczynającodwersji2.0,wktórejporazpierwszypojawił
sięjęzykshaderówGLSL.
WpowyższymskróconymopisierozwojuOpenGLzostaływymienionetylko
główneelementy,którewsposóbdiametralnywpłynęłynaobecnykształtpoto-
kugracznegoorazcałejarchitekturyOpenGL.Niezostaływnimuwzględnio-
nemniejszeaktualizacje,któreniemiałyjużbezpośredniegoudziałuwsamym
kształtowaniupotoku,natomiastdodałydoniegoistotneudogodnieniairozwinęły
bazowefunkcjonalności.Częśćznichopisanowkolejnychrozdziałach.
3.2.1.Shaderwierzchołków
Jestprogramem,któryrealizujepierwszyizarazemfundamentalnyetapprogra-
mowalnegopotoku.Shaderwierzchołków,jaksamajegonazwawskazuje,jest
odpowiedzialnyzaprzetwarzaniedanychzwiązanychzwierzchołkami.Każdy
wierzchołekbędącybazowymelementemsiatkimodelu3D,jestprzetwarzany
dokładnierazprzeztakiprogram,wpojedynczymwywołaniufunkcjirysowania
(ang.drawcall).
Etapprzetwarzaniawierzchołkówcharakteryzujesięnajwiększym,spośród
pozostałychetapów,poziomemizolacjidanychcałegomodelu3D.Programten
jestwykonywanyniezależnieodpozostałychwierzchołków,tzn.przetwarzaon
tylkopojedynczewierzchołkibezinformacjiopozostałych,nawettychbędących
częściąwspólnegoprymitywu.