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
36
CzęśćI.GrafikatrójwymiarowawOpenGL
3.PamiętajmyoichdeklaracjiwplikunagłówkowymUnit1.h.
4.Niezapomnijmytakżeodyrektywiedołączającejpliknagłówkowygl.h.
5.NastępniewszystkiewystąpieniapolauchwytOknanależyzastąpićprzezpole
HandlezdefiniowanewklasieTForm(klasiebazowejklasyTForm1).
6.WmetodzieUstawieniaScenywystąpieniapólszerokoscObszaruUzytkownika
iwysokoscObszaruUzytkownikanależyzastąpićprzezClientWidthiClientHe-
ight.
7.Stwórzmyterazmetodyzdarzeniowewywołującezdefiniowaneprzedchwilą
metody.Zacznijmyodzdarzeniawystępującegowmomencieutworzeniaokna:
a.WoknieObjectInspectorzmieńmyzakładkęnaEvents.
b.KliknijmydwukrotniepoleprzyzdarzeniuOnCreate
7.
c.PowstaniemetodaFormCreate,wktórejumieszczamywywołaniemetodza
pomocąinstrukcjiInitWGL(Handle);iUstawienieSceny().
8.NastępnietworzymymetodęzwiązanązezdarzeniemOnDestroyiuruchamiamy
wniejmetodęUsunWGL.
9.KolejnymzdarzeniemjestOnPaintzwywołaniemmetodyRysujScene.
10.IwreszcieOnResizezUstawienieSceny.
11.Projektmożemyzapisać(najlepiejwosobnymkatalogu).
Trybpełnoekranowy
ZanimprzejdziemydonaukiOpenGL,chciałbymjeszczeprzezchwilęzająćCzy-
telnikaszczególnymzagadnieniemzwiązanymzinicjacjąokna.Chodziowy-
świetlaniewtrybiepełnoekranowym.Jesttoszczególniepopularnewgrach,ale
przydatnetakżewinnychaplikacjach,naprzykładwówczas,gdyzależynamna
skupieniuuwagiużytkownikawyłącznienagrafice.Wyświetlaniegrafikinacałym
ekraniemożeteżbyćsposobemnazwiększeniewydajnościaplikacji.Pouruchomie-
niuprogramumożnabowiemłatwozmniejszyćrozdzielczość,wjakiejpracujekarta
graficzna,cozmniejszailośćpikseli,zktórychbudowanajestscena,zaśpojego
zakończeniułatwoprzywrócićustawieniadomyślne.Dotegocelusłużyfunkcja
ChangeDisplaySettings.JejpierwszymparametremjeststrukturaDEVMODEopisująca
nowąrozdzielczość,ilośćkolorówitp.,adrugaokreślasposóbwprowadzaniazmian.
Ustawieniaekranuzapisywanewrejestrzeiodczytywanewmomencieuruchamia-
niaWindows,atakżepozalogowaniuużytkownika.Rozdzielczośćmożnazatem
zmienićtylkonaczasbieżącejsesji(względniedoprzywróceniapoprzedniejrozdziel-
czości)lubnastałe,gdyzapiszemydorejestru(flagaCDS_UPDATEREGISTRY).
7WBCBnazwazdarzeniapoprzedzonajestprzyrostkiem„On”,np.OnCreate.WVC++taknazywane
byłymetodyzwiązanezkomunikatami.