Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
J.Matulewski,T.Dziubak,M.Sylwestrzak,R.Płoszajczak,Grafika.Fizyka.Metodynumeryczne.
Symulacjefizycznezwizualizacj
ą
3D,Warszawa2010
ISBN978-83-01-16178-1,©byWNPWN2010
Rozdział1
Inicjacjaoknadlagrafiki3D
generowanejzapomocąOpenGL
Dotworzeniaaplikacjikorzystającychzgrafiki3Dbazującejnabibliotece
OpenGLużywasięzazwyczajjęzykaprogramowaniaC++.Tymjęzykiembędziemy
równieżposługiwaćsięwtejksiążce.WprzypadkuC++mamydodyspozycji(wsyste-
mieWindows)dwazintegrowaneśrodowiskaprogramistyczne(IDEzang.Integrated
DevelopmentEnvironment):MicrosoftVisualC++(VC++)orazBorlandC++Builder
(BCB).Wtymrozdzialekorzystaćbędziemyzobydwu–wdalszychtylkozVC++,
alewówczaswybórkonkretnegośrodowiskabędziemiałmarginalneznaczenie.
Wpierwszymprzypadkuużyjemynajnowszejwersjitegośrodowiska,tj.VisualC++
2008.NatomiastwprzypadkuśrodowiskafirmowanegoprzezBorlandświadomie
sięgnędonajbardziejpopularnej,choćstarszejwersjionumerze6
1,którazostała
wyprodukowanaw2002roku,jednakzewzględunaszybkośćdziałaniajestbez-
względnienajbardziejoptymalnymwyboremnawetnanajbardziejwydajnychkom-
puterach.DoprogramowaniaaplikacjikorzystającychzOpenGLmożemybezpro-
blemówużywaćdarmowychwersji,tj.PersonalwprzypadkuC++BuilderaiExpress
EditionwprzypadkuVisualC++
2.
Wprojektach,odktórychoczekujemyprzenośnościmiędzysystemamioperacyj-
nymi,dotworzeniaokna,wktórymwyświetlanabędziegrafikagenerowanazapo-
mocąbibliotekiOpenGL,najlepiejskorzystaćzdodatkowejbibliotekiGLUT(odang.
GLUtilityToolkit,zob.dodatekA).Pozatworzeniemizarządzaniemoknemumożli-
wiaonarównieżkontrolęaplikacjizapomocąklawiaturyimyszki.Wponiższej
książceograniczymysięwzasadziedoplatformyWin32systemuWindows,wktórym
tezadaniamogąbyćrealizowanezpoziomuinterfejsuprogramistycznegoWindows
(WinAPI)orazpomocniczejbibliotekiWGL
3.Ponadtokorzystającześrodowiska
1Kodprogramubezwielkichmodyfikacjimożebyćjednakużytyzarównownowszych,jakiwjeszcze
starszychwersjachtegośrodowiska.
2DarmoweśrodowiskoVisualC++2008ExpressEditionmożemypobraćzestronyhttp://www.micro-
soft.com/express/download/.C++Builder6Personalniejestjużdostępnydopobrania,alenadalmożnago
uzyskaćzfirmyEmbarcadero(informacjenastroniehttp://www.codegear.pl/download/personal.shtml).
3Wwiększościsystemówoperacyjnychznajdziemybibliotekępomagającąwprzygotowaniuoknadowspół-
pracyzOpenGL.WsystemieWindowsjesttoWGL,wMacOSX–CGL,wX11–GLX.BibliotekaGLUT
jestwistociezbioremfunkcji,którewkonkretnymsystemiesą„tłumaczone”nafunkcjeztychbibliotek.