Szczegóły ebooka

OpenGL. Receptury dla programisty

OpenGL. Receptury dla programisty

Muhammad Mobeen Movania

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!

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)

  • Tytuł: OpenGL. Receptury dla programisty
  • Autor: Muhammad Mobeen Movania
  • Tytuł oryginału: OpenGL Development Cookbook
  • Tłumaczenie: Zbigniew Waśko
  • ISBN: 978-83-283-0019-4, 9788328300194
  • Data wydania: 2015-02-24
  • Format: Ebook
  • Identyfikator pozycji: openrp
  • Wydawca: Helion