OpenGL. Receptury dla programisty - ebook
OpenGL. Receptury dla programisty - ebook
Ponad 40 gotowych przepisów pokazujących możliwości zastosowania biblioteki OpenGL w nowoczesnych aplikacjach
OpenGL dostarcza programistom API do renderowania zaawansowanych grafik i animacji. To oprogramowanie umożliwia im tworzenie niezwykle atrakcyjnych gier, prezentacji oraz efektów graficznych. Jeżeli chcesz poznać możliwości OpenGL, jeżeli szukasz odpowiedzi na nurtujące Cię pytania, to trafiłeś na świetną książkę!Znajdziesz w niej zbiór receptur cenionych przez programistów. Dzięki nim błyskawicznie rozwiążesz typowe problemy oraz zobaczysz, jak podejść do przeróżnych zagadnień związanych z OpenGL. Sięgnij po tę lekturę, a nauczysz się wybierać obiekty na podstawie ich różnych właściwości, mapować środowisko, filtrować obraz oraz tworzyć realne scenerie za pomocą odpowiedniej gry światła i cienia. Ponadto zobaczysz, jak śledzić promienie, ścieżki oraz tworzyć animacje szkieletowe i symulacje fizyczne. Ta książka to kopalnia najlepszych przepisów na wykorzystanie OpenGL!
Na licznych przykładach poznasz zasady:
- tworzenia renderingowego kontekstu w OpenGL 3.3,
- operowania wirtualną kamerą i wskazywania obiektów w scenie 3D,
- symulowania odbić lustrzanych za pomocą renderowania pozaekranowego i mapowania środowiska,
- stosowania technik mapowania cieni włącznie z mapowaniem wariancyjnym,
- implementowania systemów cząsteczkowych przy użyciu shaderów,
- realizacji globalnego oświetlenia w oparciu o GPU i z użyciem harmonik sferycznych oraz SSAO,
- symulowania przezroczystości metodami bazującymi na dualnym peelingu głębi,
- wykonywania renderingów wolumetrycznych metodą cięcia połówkowokątowego i symulacji fizycznych z transformacyjnym sprzężeniem zwrotnym.
Najlepsze przepisy na OpenGL!
Spis treści
O autorze (7)
O recenzentach (9)
Wstęp (11)
Rozdział 1. Wprowadzenie do nowoczesnego OpenGL (17)
- Wstęp (17)
- Instalacja rdzennego profilu OpenGL 3.3 w Visual Studio 2013 przy użyciu bibliotek GLEW i freeglut (18)
- Projektowanie klasy shadera w GLSL (26)
- Renderowanie kolorowego trójkąta za pomocą shaderów (29)
- Wykonanie deformatora siatki przy użyciu shadera wierzchołków (38)
- Dynamiczne zagęszczanie podziału płaszczyzny przy użyciu shadera geometrii (46)
- Dynamiczne zagęszczanie podziału płaszczyzny przy użyciu shadera geometrii i renderingu instancyjnego (53)
- Rysowanie obrazu 2D przy użyciu shadera fragmentów i biblioteki SOIL (57)
Rozdział 2. Wyświetlanie i wskazywanie obiektów 3D (63)
- Wstęp (63)
- Implementacja wektorowego modelu kamery z obsługą ruchów w stylu gier FPS (64)
- Implementacja kamery swobodnej (68)
- Implementacja kamery wycelowanej (70)
- Ukrywanie elementów spoza bryły widzenia (74)
- Wskazywanie obiektów z użyciem bufora głębi (79)
- Wskazywanie obiektów na podstawie koloru (83)
- Wskazywanie obiektów na podstawie ich przecięć z promieniem oka (85)
Rozdział 3. Rendering pozaekranowy i mapowanie środowiska (89)
- Wstęp (89)
- Implementacja filtra wirowego przy użyciu shadera fragmentów (90)
- Renderowanie sześcianu nieba metodą statycznego mapowania sześciennego (93)
- Implementacja lustra z renderowaniem pozaekranowym przy użyciu FBO (97)
- Renderowanie obiektów lustrzanych z użyciem dynamicznego mapowania sześciennego (101)
- Implementacja filtrowania obrazu (wyostrzania, rozmywania, wytłaczania) metodą splotu (106)
- Implementacja efektu poświaty (109)
Rozdział 4. Światła i cienie (115)
- Wstęp (115)
- Implementacja oświetlenia punktowego na poziomie wierzchołków i fragmentów (116)
- Implementacja światła kierunkowego na poziomie fragmentów (122)
- Implementacja zanikającego światła punktowego na poziomie fragmentów (124)
- Implementacja oświetlenia reflektorowego na poziomie fragmentów (128)
- Mapowanie cieni przy użyciu FBO (130)
- Przygotowania (131)
- Mapowanie cieni z filtrowaniem PCF (136)
- Wariancyjne mapowanie cieni (141)
Rozdział 5. Formaty modeli siatkowych i systemy cząsteczkowe (151)
- Wstęp (151)
- Modelowanie terenu przy użyciu mapy wysokości (152)
- Wczytywanie modeli 3ds przy użyciu odrębnych buforów (156)
- Wczytywanie modeli OBJ przy użyciu buforów z przeplotem (166)
- Wczytywanie modeli w formacie EZMesh (171)
- Implementacja prostego systemu cząsteczkowego (178)
Rozdział 6. Mieszanie alfa i oświetlenie globalne na GPU (189)
- Wstęp (189)
- Implementacja przezroczystości techniką peelingu jednokierunkowego (190)
- Implementacja przezroczystości techniką peelingu dualnego (197)
- Implementacja okluzji otoczenia w przestrzeni ekranu (SSAO) (203)
- Implementacja metody harmonik sferycznych w oświetleniu globalnym (210)
- Śledzenie promieni realizowane przez GPU (216)
- Śledzenie ścieżek realizowane przez GPU (221)
Rozdział 7. Techniki renderingu wolumetrycznego bazujące na GPU (227)
- Wstęp (227)
- Implementacja renderingu wolumetrycznego z cięciem tekstury 3D na płaty (228)
- Implementacja renderingu wolumetrycznego z jednoprzebiegowym rzucaniem promieni (236)
- Pseudoizopowierzchniowy rendering w jednoprzebiegowym rzucaniu promieni (241)
- Rendering wolumetryczny z użyciem splattingu (245)
- Implementacja funkcji przejścia dla klasyfikacji objętościowej (252)
- Implementacja wydzielania wielokątnej izopowierzchni metodą maszerujących sześcianów (255)
- Wolumetryczne oświetlenie oparte na technice cięcia połówkowokątowego (262)
Rozdział 8. Animacje szkieletowe i symulacje fizyczne na GPU (269)
- Wstęp (269)
- Implementacja animacji szkieletowej z paletą macierzy skinningowych (270)
- Implementacja animacji szkieletowej ze skinningiem wykonanym przy użyciu kwaternionu dualnego (280)
- Modelowanie tkanin z użyciem transformacyjnego sprzężenia zwrotnego (287)
- Implementacja wykrywania kolizji z tkaniną i reagowania na nie (296)
- Implementacja systemu cząsteczkowego z transformacyjnym sprzężeniem zwrotnym (301)
Skorowidz (311)
Kategoria: | Grafika komputerowa |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-0019-4 |
Rozmiar pliku: | 16 MB |