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
16
CzęśćI.GrafikatrójwymiarowawOpenGL
C++Builder,mamydodyspozycjibibliotekękontrolekonazwieVCL(odang.Visual
ComponentLibrary),awVC++–bibliotekęMFC.Wyręczająnasonewtworzeniu
oknaiobsłudzekomunikatówzwiązanychzklawiaturąimyszką,udostępniającwy-
godnymechanizmzdarzeń.
Poniżejchciałbymprzedstawićcałągalerięrozwiązań–każdypowinienmócwy-
braćtakie,którenajbardziejpasujedowykorzystywanychprzezniegonacodzień
narzędziibibliotek.ZaczniemyodprojektuprzeznaczonegodlaVC++,wktórym
oknotworzymyzapomocąfunkcjiWinAPI.Następnieopiszęprojekt,wktórymdo
utworzeniaoknawykorzystywanajestbibliotekaMFC.Wkolejnymprojekciewyko-
rzystywaćbędęśrodowiskoBCBijegobibliotekęVCL.NatomiastwdodatkuA
znajdujesięopisinicjacjioknanabaziebibliotekiGLUT.Tenbędziemiałtęogromną
zaletę,żebędziemógłbyćskompilowanyzarównowVC++wsystemieWindows,jak
izapomocąkompilatorag++wsystemieLinux.Wewszystkichtychprojektach
naszymzadaniembędzieujrzenieczarnegooknaznarysowanymtrójkątem–świa-
dectwaprawidłowejinicjacjibibliotekiOpenGL.
Jakjużwspomniałem,wdalszejczęściksiążkikorzystaćbędęprzedewszystkim
ześrodowiskaVC++.Jednakwmomencie,wktórymprzestaniemyzajmowaćsię
oknemjakotakim,azaczniemykorzystaćzfunkcjiOpenGL,wybórśrodowiska
programistycznegobędziemiałstosunkowoniewielkieznaczenie.Abyjednakuniknąć
niepotrzebnegostresuzwiązanegozuruchamianiemkoduwróżnychśrodowiskach,
wserwisiewww.pwn.plnapodstroniedotyczącejtegotytułuzamieszczonomateriały
zawierającezestawyprojektówgotowychdokompilacjiwVC++,BCB,Delphiig++.
SystemWindowsjestodconajmniejdwóchdekadnajpopularniejszymsystemem
wkomputerachbiurowychidomowych.Pozawyspecjalizowanymiwersjamiserwe-
rowymijesttosystemuniwersalny,cooznaczam.in.,żesłużyzarównodopracy,jak
idorozrywki.Niemożewnimwięczabraknąćgrafikitrójwymiarowej,bezktórej
dziśtrudnowyobrazićsobieporządnągrękomputerową.Wtymsystemiebiblioteka
OpenGLkonkurujezDirectXiniestetykonkurencjętęprzegrywa–zapewnebardziej
zprzyczynmarketingowychniżtechnologicznych.Dośćpowiedzieć,żeżaden
zostatniowydawanychgłośnychtytułówniekorzystajużzOpenGL.
OpenGLjestjednaknadalużywanywaplikacjachtechnicznychinaukowychsłu-
żącychdowizualizacjiisymulacji.Szczególnie,jeżeliautoromzależynaprzenośno-
ściichprojektu.Mateżbardzoistotnądlamniezaletę–jegojasnalogikasprawia,że
byłemsięwstaniegonauczyć,choćniejestemprogramistą,afizykiem.Wporówna-
niudoniego,bibliotekaDirect3D(modułDirectXodpowiedzialnyzagrafikę3D)
wydajemisięznaczniemniejprzejrzystaiprzyjazna.Sytuacjętęznaczącopoprawia
platformaXNA,którajestzarządzanyminterfejsempozwalającymnapisanieaplikacji
korzystającychzDirectXwjęzykuC#.