Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
12
NowoczesnyOpenGL
wnimmodułuWGL3.Chciałembowiem,abyCzytelnikmiałmożliwośćprze-
śledzeniapowstawaniaprojekturozwijanegoodpustegopliku,wktórymkażdy
wierszkodubędziezrozumiałyinapisanysamodzielnie.Oczywiścietracimywten
sposóbprzenośność,alezyskujemypełnezrozumieniekodu.Potymtreningu
będziemygotowikorzystaćzbibliotekułatwiającychżycieprogramistom.Tym
bibliotekom,nietylkoGLFW,poświęconyjestwspomnianyjużdodatek.Pomysł,
żeksiążkapokazujerozwójprojektuodzera,przeztradycyjnyOpenGL(krótko),
donowoczesnegoOpenGLpracującegowprolurdzennym,oznacza,żewznacz-
nymstopniumaonacharaktertechniczny.Samodzielnieprzygotujemyzarówno
kodtworzącyoknozpętlągłówną,jakiklasymacierzyorazaktorówczykodsha-
derówodpowiedzialnychzarenderowanieoświetlonychipokrytychteksturąbrył.
AczymjestpojawiającysięwtytuleksiążkinowoczesnyOpenGL(ang.mo-
dernOpenGL)?ObecnieterminemtymokreślasięOpenGLwwersjach3.3i4.0
orazwnowszych.Wersje3.3i4.0wydanezostałyjednocześnie:3.3jestodpo-
wiednikiemDirectX10,a4.0DirectX11.Wtejksiążceskupimysięjednakna
podzbiorzefunkcjikompatybilnymzwersją3.3.Dodatkowemożliwościdostępne
wwersji4.0możnazpewnościąuznaćzazagadnieniazaawansowane,doktórych
wartosięwziąćjużpopoznaniuprzedstawionychwtejksiążcepodstaw.
Windowsjestconajmniejoddwóchdekadnajpopularniejszymsystemem
wkomputerachbiurowychidomowych.Pozawyspecjalizowanymiwersjamiser-
werowymijestuniwersalny,com.in.oznacza,żesłużyzarównodopracy,jak
irozrywki.Niemożewnimwięczabraknąćgrakitrójwymiarowej,bezktórej
dziśtrudnosobiewyobrazićgrykomputerowe.WtymsystemiebibliotekaOpenGL
konkurujezDirectXiprzegrywazapewnebardziejzprzyczynmarketingowych
niżtechnologicznych.Dośćpowiedzieć,żeżadenzostatniowydawanychgłośnych
tytułówniekorzystajużzOpenGL.Jestonjednaknadalużywanywaplikacjach
technicznychinaukowychsłużącychdowizualizacjiisymulacji,zwłaszczagdyau-
toromzależynaprzenośnościichprojektu.Mateżbardzoistotnądlamniezaletę
jegojasnalogikasprawiła,żebyłemwstaniesięgonauczyć,choćzwykształ-
cenianiejestemprogramistą,azykiem,ipoczątkowograki3Dpotrzebowałem
jedyniedowizualizacjidanych.WporównaniuznimbibliotekaDirect3D,moduł
DirectXodpowiedzialnyzagrakę3D,wydajemisięznaczniemniejprzejrzysty
iprzyjazny.SytuacjętęznaczącopoprawiłaplatformaXNA,którajestinterfejsem
zarządzanym,bliźniaczymwzględemplatformy.NET,pozwalającymnapisanie
aplikacjikorzystającychzDirectXwjęzykuC#.Niestetyw2013rokuMicrosoft
zarzuciłtenprojekt,nieoferującniczegowzamian4.
3Wwiększościsystemówoperacyjnychznajdziemybibliotekępomagającąwprzygotowaniu
oknadowspółpracyzOpenGL.WWindowsjesttoWGL,wMacOSXCGL,wX11GLX.
BibliotekaGLFWjestwistociezbioremfunkcji,którewkonkretnymsystemiesąfitłumaczone”na
funkcjeztychbibliotek.
4WartojednakwspomniećoprojekcieMonoGame,rozwijanymprzezśrodowiskoprogrami-
stównazasadachopensource.