OpenGL i GLSL (nie taki krótki kurs) Część I
Książka OpenGL i GLSL (nie taki krótki kurs) to prawdziwa gratka dla każdego, kto chce odnaleźć się w nowoczesnej grafice komputerowej. Kurs opisany w książce przedstawia trzy aplikacje wyświetlające grafikę trójwymiarową. Do kolejnych wariantów każdej aplikacji są dodawane nowe efekty, stanowiąc przykłady zastosowań kolejnych możliwości standardu OpenGL i języka GLSL.
Dla ułatwienia korzystania z książki została ona podzielona na trzy części. Część pierwsza zawiera informacje podstawowe, w tym opis bibliotek podstawowych i pomocniczych oraz języka GLSL, i opis pierwszej aplikacji dla początkujących. Dzięki niej czytelnik również pozna:
•
potok przetwarzania grafiki i zadania wykonywane przez jego kolejne etapy,
• biblioteki i pliki nagłówkowe OpenGL-a,
• otoczenie OpenGL-a, m.in. biblioteki FreeGLUT i GLFW,
• matematyczne podstawy grafiki trójwymiarowej, w tym reprezentacje punktów i wektorów oraz przekształceń afinicznych i sposoby rzutowania równoległego i perspektywicznego,
• sposób przygotowania i używania szaderów w aplikacjach,
• pierwszą aplikację, którą samodzielnie rozbudujesz,
• wiele informacji dodatkowych, nie tylko dla początkujących.
- Kategorie:
- Język wydania: polski
- ISBN: 978-83-01-20862-2
- ISBN druku: 978-83-01-20862-2
- Liczba stron: 256
-
Sposób dostarczenia produktu elektronicznegoProdukty elektroniczne takie jak Ebooki czy Audiobooki są udostępniane online po opłaceniu zamówienia kartą lub przelewem na stronie Twoje konto > Biblioteka.Pliki można pobrać zazwyczaj w ciągu kilku-kilkunastu minut po uzyskaniu poprawnej autoryzacji płatności, choć w przypadku niektórych publikacji elektronicznych czas oczekiwania może być nieco dłuższy.Sprzedaż terytorialna towarów elektronicznych jest regulowana wyłącznie ograniczeniami terytorialnymi licencji konkretnych produktów.
-
Ważne informacje techniczneMinimalne wymagania sprzętowe:procesor: architektura x86 1GHz lub odpowiedniki w pozostałych architekturachPamięć operacyjna: 512MBMonitor i karta graficzna: zgodny ze standardem XGA, minimalna rozdzielczość 1024x768 16bitDysk twardy: dowolny obsługujący system operacyjny z minimalnie 100MB wolnego miejscaMysz lub inny manipulator + klawiaturaKarta sieciowa/modem: umożliwiająca dostęp do sieci Internet z prędkością 512kb/sMinimalne wymagania oprogramowania:System Operacyjny: System MS Windows 95 i wyżej, Linux z X.ORG, MacOS 9 lub wyżej, najnowsze systemy mobilne: Android, iPhone, SymbianOS, Windows MobilePrzeglądarka internetowa: Internet Explorer 7 lub wyżej, Opera 9 i wyżej, FireFox 2 i wyżej, Chrome 1.0 i wyżej, Safari 5Przeglądarka z obsługą ciasteczek i włączoną obsługą JavaScriptZalecany plugin Flash Player w wersji 10.0 lub wyżej.Informacja o formatach plików:
- PDF - format polecany do czytania na laptopach oraz komputerach stacjonarnych.
- EPUB - format pliku, który umożliwia czytanie książek elektronicznych na urządzeniach z mniejszymi ekranami (np. e-czytnik lub smartfon), dając możliwość dopasowania tekstu do wielkości urządzenia i preferencji użytkownika.
- MOBI - format zapisu firmy Mobipocket, który można pobrać na dowolne urządzenie elektroniczne (np.e-czytnik Kindle) z zainstalowanym programem (np. MobiPocket Reader) pozwalającym czytać pliki MOBI.
- Audiobooki w formacie MP3 - format pliku, przeznaczony do odsłuchu nagrań audio.
Rodzaje zabezpieczeń plików:- 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.
Przedmowa 1 Źródła 5 1. Wprowadzenie 7 1.1. Odrobina historii i ideologii 7 1.2. Potok przetwarzania grafiki 10 1.3. Programy szaderów 13 1.4. Źródła danych w potoku przetwarzania grafiki 14 2. Biblioteki i pliki nagłówkowe OpenGL-a 17 2.1. Biblioteki pomocnicze GLEWi glçw 19 2.2. Nazwy i typy danych w OpenGL-u 22 2.3. Przedrostki i przyrostki nazw procedur 22 2.4. Zestawienie bibliotek 23 3. Otoczenie OpenGL-a 25 3.1. Biblioteka FreeGLUT 25 3.1.1. FreeGLUT—uwagi dodatkowe 31 3.2. Biblioteka GLFW 31 3.2.1. GLFW—obsługa dżojstika 36 3.2.2. GLFW—uwagi dodatkowe 37 3.3. System XWindow i biblioteka GLX 38 3.4. Uzupełnienia 47 3.4.1. Wymiary ekranu 47 3.4.2. *Technologia Optimus 48 4. Utensylia 51 4.1. Wypisanie informacji o wersji 51 4.2. Reakcje na błąd 51 4.3. Reprezentacje kodów źródłowych szaderów 52 4.4. Kompilowanie szaderów i łączenie programów 54 4.5. *Uzupełnienia 57 4.5.1. SPIR-V 57 4.5.2. Opcje programów szaderów 61 5. Działania na wektorach i macierzach 63 5.1. Działania na macierzach 63 5.2. Punkty i wektory swobodne 65 5.3. Współrzędne kartezjańskie, jednorodne i barycentryczne 66 5.4. Przekształcenia afiniczne 68 5.5. Prostopadłość 71 5.6. Orientacja 73 5.7. Procedury 75 6. Rzutowanie 87 6.1. Klatka, aspekt ekranu i kostka standardowa 87 6.2. Rzutowanie perspektywiczne 89 6.3. Rzutowanie równoległe 92 6.4. Przekształcenia rzutowanych wierzchołków 94 6.5. Aksonometria 95 6.6. Rzutowanie dla grafiki dwuwymiarowej 96 7. Pierwsza aplikacja 97 7.1. Szadery 97 7.2. Przygotowanie programu szaderów 99 7.3. Przygotowanie obiektów w programie 102 7.4. Przekształcenia współrzędnych 102 7.5. Tworzenie obiektu tablicy wierzchołków 105 7.6. Rysowanie 109 7.7. Interakcja 111 7.8. Sprzątanie 112 7.9. Uzupełnienia 114 7.10. Ćwiczenia 116 8. Aplikacja pierwsza A 119 8.1. Składanie obrotów 119 8.2. Obracanie obserwatora wokół obiektu 120 8.3. Animacja 126 8.4. Ćwiczenia 131 9. Podstawy języka GLSL 133 9.1. Symbole leksykalne 133 9.2. Preprocesor 134 9.3. Podstawowe typy zmiennych 135 9.3.1. Typy wektorowe i macierzowe 136 9.3.2. Struktury 137 9.3.3. Tablice 137 9.4. Deklaracje zmiennych 138 9.5. Wyrażenia 139 9.6. Instrukcje 141 9.7. Podprogramy 142 9.8. Zmienne wskazujące podprogramy 143 9.9. Równoległość i jednolitość obliczeń 145 9.10. Bloki zmiennych interfejsu 145 9.11. Komunikacja między szaderami 146 9.11.1. Zmienne wbudowane szadera wierzchołków 147 9.11.2. Zmienne wbudowane szadera sterowania rozdrabnianiem 147 9.11.3. Zmienne wbudowane szadera rozdrabniania 147 9.11.4. Zmienne wbudowane szadera geometrii 148 9.11.5. Zmienne wbudowane szadera fragmentów 149 9.12. Kwalifikatory układu 150 9.13. Funkcje i procedury wbudowane 153 9.13.1. Funkcje elementarne 153 9.13.2. Funkcje związane z potęgowaniem 154 9.13.3. Funkcje geometryczne 155 9.13.4. Funkcje związane z kątami 156 9.13.5. Funkcje macierzowe 157 9.13.6. Funkcje relacji wektorowych 157 9.13.7. Funkcje i procedury dla liczb całkowitych 158 9.13.8. Funkcje i procedury dla tekstur i obrazów 159 9.13.9. Liczniki niepodzielne i niepodzielne operacje na pamięci 162 9.14. Szadery obliczeniowe 162 9.14.1. Zmienne wbudowane szadera obliczeniowego 163 10. Aplikacja pierwsza B 165 10.1. Szadery—pierwszy program 165 10.2. Model oświetlenia i drugi program szaderów 166 10.3. Cztery procedury pomocnicze 174 10.4. Aplikacja pierwsza B 176 10.5. Procedury obsługi świateł 182 10.6. Uzupełnienia 185 10.6.1. Cieniowanie Gourauda i Phonga 185 10.6.2. Mgła 185 10.6.3. *Obcinanie i odrzucanie 186 10.7. Ćwiczenia 188 11. Aplikacja pierwsza C 189 11.1. Reprezentacja fontów 189 11.2. Szadery 190 11.3. Fonty i procedury wyświetlania tekstu 194 11.4. Aplikacja pierwsza C 201 11.5. Ćwiczenia 204 11.6. *Uzupełnienia 205 12. Aplikacja pierwsza D 209 12.1. Szadery i programy szaderów 209 12.2. Aplikacja pierwsza D 218 12.3. Ćwiczenia 223 12.4. *Uzupełnienia 225 13. Aplikacja pierwsza E 227 13.1. Czytanie pliku SMF 227 13.2. Zmiany w aplikacji 239 13.3. Ćwiczenia 244