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ł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ęprzegrywazapewnebardziej
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ęznaczącopoprawia
platformaXNA,którajestzarządzanyminterfejsempozwalającymnapisanieaplikacji
korzystającychzDirectXwjęzykuC#.