Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
1
Inicjowanieokna
wtradycyjnymOpenGL
Kilkaustaleń
Aplikacjekorzystającezgraki3DopartejnabiblioteceOpenGLczęstosąpisane
wjęzykuprogramowaniaC++.Równieżwniniejszejksiążcebędziemysięposłu-
giwaćtymjęzykiem.WprzypadkuC++,wsystemieWindows,najlepszymzinte-
growanymśrodowiskiemprogramistycznym(ang.integrateddevelopmentenviron-
ment,IDE)jestbezwątpieniaMicrosoftVisualStudio1(VS).Jaużywamnajnowszej
obecniewersjitegośrodowiska,czyliVisualStudio2013.Przedstawionywksiążce
kodjestjednakzgodnytakżezestarszymiwersjamitegośrodowiskaizawartego
wnichkompilatora.WimiętejzgodnościświadomienieużywamnowościC++11,
implementowanychstopniowowkolejnychwersjachVS.Wybórśrodowiskaprogra-
mistycznegoisystemuoperacyjnegomajednakznaczenietylkowpierwszychroz-
działach.GdyprzejdziemydowłaściwegoOpenGL,będzieznaczniemniejistotny.
Wprojektachprzeznaczonychdoprzenoszeniamiędzysystemamioperacyj-
nymi,dotworzeniaokna,wktórymwyświetlanabędziegrakagenerowanaza
pomocąbibliotekiOpenGL,najlepiejzastosowaćjednązdodatkowychbibliotek,
umożliwiającychinicjowanieoknazgodnegoznowszymiwersjamiOpenGL,np.
GLFW2(zob.dodatek).Majątęogromnązaletę,żekorzystającyznichkodmoże
byćskompilowanyzarównowVisualC++wsystemieWindows,jakizapomocą
kompilatorag++wsystemieLinux.PozatymobsługiwanesąsystemyMacOSX
iFreeBSD.WtejksiążceograniczamsięwzasadziedoplatformyWin32systemu
Windows,wktórymzadaniazwiązanezprzygotowaniemoknamogąbyćrealizo-
wanezpoziomuinterfejsuprogramistycznegoWindows(WinAPI)orazzawartego
1Bezpłatnawersjategośrodowiskajestdostępnanastroniehttp://www.visualstudio.com/
en-us/products/visual-studio-express-vs.aspx.NależywybraćwersjęExpress2013forWindows
Desktop.StudenciinauczycieleakademiccyuczelnibiorącychudziałwprogramieDreamSpark
PremiummogąuzyskaćpełnąwersjęVisualStudiobezpłatnie.
2PopularnabibliotekaGLUT(odang.GLUtilityToolkit),którabyłaużywanadoinicjowania
oknaizarządzanianimwstarszychwersjachOpenGL,niejestjużrozwijana(zob.http://www.
opengl.org/resources/libraries/glut/)iniekorzystazmożliwościnajnowszychwersjiOpenGL.