Shadery. Zaawansowane programowanie w GLSL Eb (6483821056)

cena kup teraz
29,93 zł
z 999 sztuk

Parametry produktu

Autor
Karol Sobiesiak,Piotr Sydow
Format
EPUB,MOBI
Zabezpieczenie
Watermark
Wydano
29 września 2015
Wydawca
Wydawnictwo Naukowe PWN
Kontakt:

Dział Obsługi Klienta
(pon-pt. 09:00-17:00)

teltel.: +48 22 695-45-86 mailmail: ebooki@lideria.pl

Shadery. Zaawansowane programowanie w GLSL

Shadery. Zaawansowane programowanie w GLSL

Opis eBooka

Pełny tytuł: Shadery. Zaawansowane programowanie w GLSL
ePUB/Mobi ISBN: 978-83-01-18397-4
Programowanie procesorów graficznych (GPU) staje się coraz popularniejsze. Dzieje się tak przede wszystkim z powodu dynamicznie rozwijającego się rynku gier i zapotrzebowania na deweloperów w tej dziedzinie, ale również z powodu wysokich możliwości obliczeniowych dostarczanych przez te układy.
Shadery (programy wykonywane przez GPU) w przeciągu kilku ostatnich lat znacząco się rozwinęły. Aktualnie w OpenGL 4.5 dostępnych jest ich sześć, co jest znacznym wzrostem w stosunku do dwóch, w nadal wszechobecnym, choć archaicznym już OpenGL 2.1. Są one wykorzystywane głównie do zadań związanych z odwzorowywaniem fizycznych własności świata w celu wyświetlania realistycznej grafiki trójwymiarowej, ale także coraz częściej do rozwiązywania bardziej ogólnych problemów natury matematycznej i algorytmicznej.
Książka ta zawiera wyczerpujący opis języka programowania shaderów GLSL w wersji 4.50. Stanowi ona niezbędnik dla każdego kto zamierza szybko odnaleźć się w nowoczesnej grafice trójwymiarowej.
Dowiesz się
· Czym są shadery· Jak wygląda architektura współczesnego GPU i jakie ma ona znaczenie od strony programistycznej· Jak programować potok renderujący· Na czym polega i jak działa teselacja· Czym jest i jak programuje się shader obliczeniowy (ang. compute shader)
Powinieneś znać
· API OpenGL w stopniu przynajmniej podstawowym· Matematyczne podstawy grafiki trójwymiarowej

Spis treści

Rozdział 1. Wstęp 91.1. Do kogo jest skierowana ta książka? 101.2. Przydatne narzędzia 11Rozdział 2. Zrozumieć GPU 132.1. Co to jest Shader? 132.2. Architektura GPU 142.2.1. GPU versus CPU 152.2.2. Jednostki wykonawcze GPU 162.2.3. Przełączanie kontekstu i unikanie opóźnień 192.2.4. Przetwarzanie rozgałęzień 202.2.5. Model pamięci 22Rozdział 3. Potok renderujący OpenGL 293.1. Najważniejsze etapy potoku grafi cznego 293.1.1. Przetwarzanie geometrii 293.1.2. Rasteryzacja 303.1.3. Przetwarzanie fragmentów 313.1.4. Postprocess fragmentów 323.2. Wprowadzenie do programowalnego potoku 323.2.1. Shader wierzchołków 333.2.2. Teselacja 343.2.3. Shader geometrii 373.2.4. Shader fragmentów 383.3. Kompilacja 393.3.1. Proces kompilacji, wiązania i linkowania 393.3.2. Wielokrotne wiązanie shaderów tego samego typu 423.3.3. Rozłączne programy 433.3.4. Status kompilacji 46Rozdział 4. Podstawy programowania 494.1. Język programowania shaderów GLSL 494.2. Profile 504.3. Interpretacja schematów konstrukcji programistycznych 514.4. Nazwy identyfi katorów obiektów 524.5. Preprocesor 524.5.1. Kontrola wersji shadera (#version) 534.5.2. Defi niowanie symboli oraz makrodefi nicji (#defi ne, #undef) 544.5.3. Kontrola warunkowej kompilacji (#if, #ifdef, #ifndef, #elif, #else, #endif) 584.5.4. Wspomaganie warunkowej kompilacji (#error) 594.5.5. Wspomaganie diagnostyki kodu źródłowego (#line) 594.5.6. Sterowanie działaniem kompilatora (#pragma) 604.5.7. Zarządzanie zestawem rozszerzeń języka GLSL (#extension) 614.6. Typy danych 644.6.1. Bazowe typy numeryczne - skalary 654.6.2. Pochodne typy numeryczne - wektory 704.6.3. Pochodne typy numeryczne - macierze 764.6.4. Typy uchwytów 834.6.5. Typ subroutine 834.6.6. Struktury 844.6.7. Tablice 864.7. Zmienne 924.7.1. Zmienne wewnętrzne 934.7.2. Zmienne interfejsu 944.7.3. Blok interfejsu 964.7.4. Deklaracja obiektów użytkownika w modułach shadera 984.8. Zakres zmiennych 994.9. Operatory 1014.10. Instrukcje kontroli przepływu 1024.11. Funkcje 1044.11.1. Deklaracja funkcji 1054.11.2. Definicja funkcji 1064.11.3. Przeładowywanie funkcji 1064.11.4. Parametry funkcji i wartości zwracane 107Rozdział 5. Dane 1125.1. Generyczny magazyn danych (obiekt bufora) 1135.1.1. Tworzenie buforów 1145.1.2. Wiązanie buforów 1145.1.3. Zarządzanie stanem obiektów buforowych 1175.1.4. Swobodny dostęp do danych bufora 1225.1.5. Kopiowanie buforów 1245.1.6. Odczytywanie zawartości buforów 1245.1.7. Usuwanie buforów 1255.2. Zmienne oraz bloki uniform 1255.2.1. Domyślny blok uniform 1265.2.2. Nazwany blok uniform 1335.3. Zmienne oraz bloki buffer 1475.3.1. Blok buforowy 1485.3.2. Kontrola dostępu do pamięci 1515.3.3. Operacje atomowe na zmiennych buforowych 1555.3.4. Organizacja danych w bloku 1575.3.5. Własności stanu zmiennych oraz bloków buforowych 1585.3.6. Pozyskiwanie lokacji zmiennych buforowych oraz aktualizacja danych 1595.3.7. Wiązanie bloku buforowego 1595.4. Sformatowany magazyn danych (obiekt tekstury) 1605.4.1. Reprezentacja tekstur w OpenGL 1615.4.2. Struktura magazynu danych 1615.4.3. Tworzenie oraz usuwanie tekstur 1645.4.4. Wiązanie tekstur 1655.4.5. Alokacja oraz aktualizacja magazynu danych dla tekstur 1695.4.6. Tekstura buforowa 1715.5. Tekstury w shaderach 1735.5.1. Mechanizm teksturowania 1745.5.2. Zmienne sampler 1775.5.3. Podstawowa metoda dostępu do złożonych typów tekstur 1815.5.4. Funkcje wbudowane odpytywania tekstur 1895.5.5. Zaawansowane funkcje wbudowane dostępu do danych tekstury 1905.6. Obrazy w shaderach 1965.6.1. Zmienne image 1975.6.2. Podstawowe operacje na obrazie 2025.6.3. Operacje atomowe na obrazie 2045.7. Liczniki atomowe 2075.7.1. Tworzenie liczników 2075.7.2. Własności stanu liczników atomowych 2085.7.3. Wiązanie buforów z licznikami 2085.7.4. Operacje atomowe 2095.8. Dodatkowe metody synchronizacji w dostępie do danych 2105.8.1. Synchronizacja dostępu w shaderach 2105.8.2. Synchronizacja dostępu w API 212Rozdział 6. Programowanie potoku renderującego 2136.1. Przykładowy program zawierający wszystkie podstawowe shadery 2136.2. Ogólny obraz komunikacji międzyetapowej 2186.3. Przekazywanie danych w potoku 2206.3.1. Atrybuty shadera wierzchołków 2216.3.2. Interfejsy in/out między etapami 2236.3.3. Lokacje przy przekazywaniu danych między shaderami 2286.3.4. Pełne a częściowe dopasowanie 2306.3.5. Komponenty w lokacjach 2316.3.6. Sposoby interpolacji przy przekazywaniu danych do shadera fragmentów 2326.3.7. Wbudowany blok gl_PerVertex 2366.4. Przebieg i własności teselacji 2416.4.1. Deklaracja płatu i jego przekształcenie na właściwy prymityw poddawany teselacji 2426.4.2. Stopnie teselacji 2436.4.3. Opcje rozstawu 2456.4.4. Teselacja trójkąta 2466.4.5. Teselacja czworokąta 2506.4.6. Teselacja izolinii 2526.5. Programowanie shadera wierzchołków 2536.5.1. Optymalizacja liczby wywołań 2546.5.2. Zmienne wbudowane 2556.6. Programowanie shadera kontroli teselacji 2566.6.1. Przepływ danych i deklaracja liczby wywołań 2576.6.2. Współbieżny dostęp do danych wyjściowych 2596.6.3. Zmienne wbudowane 2616.7. Programowanie shadera ewaluacji teselacji 2616.7.1. Przepływ danych 2626.7.2. Konfi guracja prymitywów za pomocą wejściowego kwalifi katora layout 2636.7.3. Zmienne wbudowane 2646.8. Programowanie shadera geometrii 2646.8.1. Interfejs wejścia i deklaracja liczby wywołań shadera 2656.8.2. Interfejs wyjścia - deklaracja prymitywu i emisja wierzchołków 2666.8.3. Dedykowane prymitywy przylegające 2696.8.4. Zmienne wbudowane 2726.9. Programowanie shadera fragmentów 2726.9.1. Renderowanie do bufora ramki 2736.9.2. Odrzucanie fragmentów 2746.9.3. Modyfikacja współrzędnych fragmentów 2756.9.4. Wczesny test fragmentów i modyfi kacja buforu głębokości 2756.9.5. Funkcje wbudowane i wywołania wspomagające 2786.9.6. Zmienne wbudowane 282Rozdział 7. Mechanizmy uzupełniające 2847.1. Renderowanie do tekstur 2847.1.1. Przygotowanie aplikacji 2847.1.2. Renderowanie do wielu tekstur jako osobnych załączników koloru 2867.1.3. Renderowanie do tekstur złożonych z wykorzystaniem shadera geometrii 2897.2. Mechanizm Shader Subroutine 2917.2.1. Funkcje wywoływane statycznie i dynamicznie 2927.2.2. Elementy składniowe mechanizmu 2947.2.3. Przykładowa implementacja 2977.2.4. Konfigurowanie powiązań zmiennych z funkcjami subroutine 299Rozdział 8. Shader obliczeniowy 3038.1. Wprowadzenie 3038.1.1. Kompilacja i użycie shadera obliczeniowego 3048.2. Wywołania shadera obliczeniowego i grupy wykonawcze 3058.2.1. Identyfikacja wywołania 3068.2.2. Ograniczenia liczby wywołań 3078.3. Charakterystyka przetwarzania 3088.3.1. Przetwarzanie lokalnych grup roboczych 3088.3.2. Pamięć współdzielona - kwalifikator shared 3098.3.3. Synchronizacja 310Dodatek 313Dodatek A 313Dodatek B 314Dodatek C 315Dodatek D 317Dodatek E 326Dodatek F 335Słownik pojęć 341Bibliografia 343

Ważne informacje!

- Ze względu na natychmiastową realizację zamówień na publikacje elektroniczne, wiadomości dla sprzedającego nie są uwzględniane.
- Od 01 stycznia 2015 r., ze wzgledu na nowe przepisy VAT, sprzedajemy ebooki wyłącznie osobom, które w danych rejestracyjnych konta
swój kraj określają jako Polska.

- Cena zawiera wszystkie należne podatki, w tym VAT.
- Format i rodzaj zabezpieczenia pliku podane są w zakładce „Opis”.
- Zamówienie realizowane jest na dokładnie ten format pliku, który znajduje się w zakładce „Opis”.
- Pliki do pobrania wystawiane są na koncie Klienta na Allegro, w zakładce "Moja półka".
- Informacja o możliwości pobrania zakupionych ebooków wysyłana jest mailem na adres podany w formularzu w trakcie zakupu.
- Aby dokonać zakupu na ebook, należy posiadać aktywne konto na Allegro.
- Wszystkie informacje dotyczące warunków zakupu ebooków i sposobu korzystania zawarte są w zakładce "Informacje od sprzedającego".

 



 

 

wysyłka gratis
metody płatności
  • PayU
  • Zwykły przelew bankowy
płatność z góry
maksymalnie w paczce
Przesyłka elektroniczna (e-mail) 0,00 zł
kolejna sztuka: 0,00 zł
maksymalnie w paczce: -
zwrot towaru w ramach odstąpienia od umowy
Jako konsument możesz zwrócić większość przedmiotów kupionych od Firm na Allegro (wyjątki i zasady zostały opisane na stronie Pomocy oraz w zakładce "Informacje od Sprzedającego"). Poinformuj sprzedającego o odstąpieniu od umowy (nie musisz podawać powodu odstąpienia). Masz na to 14 dni kalendarzowych od otrzymania towaru, chyba że sprzedający wyznacza na to dłuższy termin.

Od daty złożenia oświadczenia o odstąpieniu od umowy masz kolejne 14 dni kalendarzowych na odesłanie towaru. Sprzedawca powinien zwrócić Ci pieniądze w ciągu 14 dni od chwili otrzymania oświadczenia o odstąpieniu od umowy. Sprzedający może wstrzymać się z odesłaniem środków do czasu otrzymania przedmiotu.
dodatkowe informacje
Nie zgadzam się na sprzedaż użytkownikom serwisów Aukro.cz oraz Aukro.ua

dane sprzedawcy

FIRMA: Ravelo Sp. z o.o. ORGAN, KTÓRY ZAREJESTROWAŁ DZIAŁALNOŚĆ GOSPODARCZĄ: Sąd Rejonowy dla m.st. Warszawy, XII Wydział Gospodarczy. Numer KRS 0000442101. ADRES: 02-460 Warszawa, ul. Gottlieba Daimlera 2

kontakt

reklamacje

ADRES DO REKLAMACJI: ebooki@lideria.pl lub Ravelo Sp. z o.o. ul. Gottlieba Daimlera 2 02-460 Warszawa OPIS PROCEDURY REKLAMACJI: Kupujący może składać Sprzedawcy reklamacje dotyczące zawartej Umowy pod adresem ebooki@lideria.pl lub w formie pisemnej na adres Sprzedawcy. Poprawnie złożona reklamacja powinna zawierać co najmniej: imię, nazwisko, adres, adres e-mail Kupującego, datę zawarcia Umowy stanowiącej podstawę reklamacji, przedmiot reklamacji, ze wskazaniem żądania Kupującego, wszelkie okoliczności uzasadniające reklamację. Jeżeli podane w reklamacji dane lub informacje wymagają uzupełnienia, przed rozpatrzeniem reklamacji Sprzedający zwraca się do składającego reklamację o jej uzupełnienie we wskazanym zakresie. Kupujący ma na złożenie reklamacji 7 dni od daty dostarczenia treści cyfrowej. Sprzedający rozpoznaje reklamację w terminie 14 dni od daty jej otrzymania w prawidłowej postaci. Odpowiedź na reklamację wysyłana jest na podany przez Kupującego adres e-mail bądź na adres poczty tradycyjnej. PRAWO ODSTĄPIENIA OD UMOWY: Odstąpienie od umowy w przypadku zakupu treści cyfrowych, które nie są zapisane na nośniku fizycznym, jest możliwe w ciągu 14 dni od daty zakupu pod warunkiem, iż nie rozpoczęło się pobranie treści. Rozpoczęcie pobierania (kliknięcie w link w wiadomości email) powoduje, iż prawo do odstąpienia przestaje przysługiwać. Aby dokonać odstąpienia na adres ebooki@allegro.pl należy przesłać oświadczenie woli wg. poniższego wzoru: [adres sprzedającego] Ja [imię, nazwisko kupującego] niniejszym informuję o moim odstąpieniu od umowy sprzedaży następujących rzeczy: [nazwy kupionych przedmiotów], numery oferty w Allegro [numery] . Data zawarcia umowy to [data], data odbioru przedmiotów [data] . Imię i nazwisko: [imię i nazwisko kupującego] Login Allegro: [login kupującego] Adres: [adres kupującego] Data: [data odstąpienia od umowy] Podpis: [tylko jeżeli formularz jest wysyłany w wersji papierowej] KOSZT ZWROTU RZECZY: Sprzedający ma obowiązek (o ile spełnione są warunki odstąpienia od umowy) nie później niż w terminie 14 dni od dnia otrzymania oświadczenia Konsumenta o odstąpieniu od umowy, zwrócić Konsumentowi wszystkie dokonane przez niego płatności. Sprzedawca dokonuje zwrotu płatności przy użyciu takiego samego sposobu zapłaty, jakiego użył Konsument, chyba że Konsument wyraźnie zgodził się na inny sposób zwrotu, który nie wiąże się dla niego z żadnymi kosztami. BRAK MOŻLIWOŚCI ODSTĄPIENIA OD UMOWY Odstąpienie od umowy w przypadku zakupu treści cyfrowych jest możliwe tylko do momentu rozpoczęcia pobierania ebooka (kliknięcie w link w wiadomości email) OBOWIĄZEK DOSTARCZENIA RZECZY BEZ WAD Klient ma prawo do zgłoszenia reklamacji w szczególności w sytuacji, gdy pobrana treść cyfrowa ma wady techniczne uniemożliwiające odczytanie pliku na urządzeniu do tego dedykowanym, lub gdy zawartość pliku z treścią cyfrową jest niezgodna z opisem.

pozostałe informacje

CECHY ŚWIADCZENIA: W ramach jednej aukcji można kupić wyłącznie jeden egzemplarz wybranej treści cyfrowej tj. ebooka. Od 01 stycznia 2015 r., ze wzgledu na nowe przepisy VAT, sprzedajemy ebooki wyłącznie osobom, które w danych rejestracyjnych konta swój kraj określają jako Polska. 1. Formaty plików ebooków Format PDF - powszechnie stosowany format pliku, stworzony przez firmę Adobe. Zachowuje pierwotny układ stron dokumentu wyjściowego, co stwarzać może pewne problemy na małych ekranach. Dlatego jest formatem polecanym do czytania na laptopach oraz komputerach stacjonarnych. Jeżeli ebook w formacie PDF jest zabezpieczony Adobe DRM, przy otwieraniu pliku należy użyć programu Adobe Digital Editions. Pamiętaj o tym, aby instalacja i autoryzacją aplikacji nastąpiła przez pobraniem pierwszego ebooka! W przeciwnym wypadku wszystkie zabezpieczone ebooki przypisane do komputera przed autoryzacją, zostaną po autoryzacji utracone. Format EPUB - format pliku, który umożliwia czytanie książek elektronicznych na urządzeniach z mniejszymi ekranami (np. e-czytnik lub smartfon). Daje on możliwość dopasowania rozmiaru czcionki i innych parametrów tekstu do wielkości urządzenia i preferencji użytkownika. Dzięki temu zostaje zachowany wysoki komfort czytania, a układ tekstu nie męczy wzroku. Jeżeli ebook w formacie EPUB jest zabezpieczony Adobe DRM, przy otwieraniu pliku należy użyć programu Adobe Digital Editions. Pamiętaj o tym, aby instalacja i autoryzacją aplikacji nastąpiła przez pobraniem pierwszego ebooka! W przeciwnym wypadku wszystkie zabezpieczone ebooki przypisane do komputera przed autoryzacją, zostaną po autoryzacji utracone. Fomat MOBI - pliki w formacie MOBI można odczytać na e-czytniku Kindle oraz pobrać na dowolne urządzenie elektroniczne (np. e-czytnik, komputer, telefon komórkowy) z zainstalowanym programem pozwalającym czytać pliki MOBI (np. MobiPocket Reader). Aby otworzyć plik w formacie MOBI nie jest potrzebne konto Adobe ID oraz autoryzacja urządzenia, tak jak w przypadku książek zabezpieczonych Adobe DRM. Ebooki w formacie MOBI zazwyczaj zabezpieczane są Watermarkiem. Multiformat - oferowane przez nas ebooki często występują w tzw. Multiformacie. Oznacza to, że kupując jeden ebook, otrzymujesz dostęp do plików w rożnych formatach. Informacja o rodzajach formatów jest zawsze podana na stronie aukcji każdego z oferowanych przez nas tytułów. Rodzaje zabezpieczeń plików Adobe DRM - system DRM służący do zabezpieczania plików elektronicznych przed nielegalnym kopiowaniem, stworzony przez firmę Adobe Systems. Obsługiwane formaty plików to PDF i EPUB. Aby móc korzystać z plików zabezpieczanych Adobe DRM musisz zainstalować na swoim komputerze darmowy program Adobe Digital Editions. Pamiętaj o tym, aby instalacja i autoryzacją aplikacji nastąpiła przez pobraniem pierwszego ebooka! W przeciwnym wypadku wszystkie zabezpieczone ebooki przypisane do komputera przed autoryzacją, zostaną po autoryzacji utracone. Uwaga: Jeśli nie wpiszesz w Adobe Digital Editions swojego numeru Adobe ID, książki w momencie pobrania zostaną przypisane do tego jednego jedynego komputera. Nie będziesz więc mieć możliwości odczytania ich na jakimkolwiek innym urządzeniu! Gdy książka pobrana jest na komputer opisany numerem Adobe ID, Twoje książki, w granicach limitu licencji, możesz również pobierać na inne urządzenia. Watermark - (znak wodny) to zaszyfrowana informacja o użytkowniku, który zakupił produkt. Dzięki temu łatwo jest zidentyfikować użytkownika, który rozpowszechnił produkt w sposób niezgodny z prawem. Ten rodzaj zabezpieczenia jest zdecydowanie bardziej przyjazny dla użytkownika, ponieważ aby otworzyć książkę zabezpieczoną Watermarkiem nie jest potrzebne konto Adobe ID oraz autoryzacja urządzenia. Brak zabezpieczenia - część oferowanych w naszym sklepie plików nie posiada zabezpieczeń. Zazwyczaj tego typu pliki można pobierać ograniczoną ilość razy, określaną przez dostawcę publikacji elektronicznych. W przypadku zbyt dużej ilości pobrań plików na stronie WWW pojawia się stosowny komunikat. 2. W jakim terminie i ile razy można pobrać ebooki? Pliki zabezpieczone DRM - można pobrać dowolną liczbę razy, ale otworzyć je można tylko na 1 lub maksymalnie 6 urządzeniach. Po roku dochodzi kolejne urządzenie, czyli można je uruchomić na maksymalnie 7 urządzeniach. To, na ilu urządzeniach można odczytywać daną e-książkę (na 1 czy na 6+1/rok), jest indywidualnie określone przez wydawcę. Ebooki zabezpieczone Adobe DRM można otworzyć tylko programem Adobe Digital Editions po koniecznej rejestracji (jeśli aplikacja nie będzie zarejestrowana liczba spada do 1). Należy pamiętać o rejestracji każdego kolejnego urządzenia. Pliki zabezpieczone Watermarkiem - można otworzyć na dowolnej liczbie urządzeń, ale można je pobrać tylko 10 razy. Pliki niezabezpieczone - można je pobrać tylko 10 razy. Za to można swobodnie przenosić je na inne nośniki, bez obaw o koniec licencji. Dodatkowo zakupiony produkt nie jest ograniczony do aplikacji Adobe Digital Editions (PDF można otworzyć np. w Adobe Reader, a EPUB w Calibri). KOSZT ZAKUPU: Wszystkie ceny podane w opisie przedmiotu są cenami brutto i zawierają wszystkie należne cła i podatki. Sprzedawca zastrzega sobie prawo do możliwości aktualizowania cen treści cyfrowych zamieszczonych w ofercie. Ceny publikacji w Zamówieniu złożonym przez Klienta przed wprowadzeniem zmian pozostają dla Klienta wiążące. SPOSÓB I TERMIN PŁATNOŚCI: Za treści cyfrowe można zapłacić wyłącznie płatnościami natychmiastowymi tj. eprzelewem lub kartą płatniczą poprzez szybkie płatności PayU. SPOSÓB DOSTARCZENIA: Treści cyfrowe dostarczane są drogą elektroniczną – poprzez mail zawierający linki do pobrania plików. Dostarczane są takie formaty plików i z takimi zabezpieczeniami, jakie są wskazane w zakładce „Opis” w aukcji. Wysyłka pliku następuje wyłącznie na adres email, na jaki zarejestrowane jest konto Użytkownika. Ze względu na natychmiastową realizację zamówień na publikacje elektroniczne, wiadomości dla sprzedającego nie są uwzględniane.