INNE EBOOKI AUTORA
Autor:
Wydawca:
Format:
pdf, ibuk
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.
Rok wydania | 2019 |
---|---|
Liczba stron | 256 |
Kategoria | Grafika |
Wydawca | Wydawnictwo Naukowe PWN |
ISBN-13 | 978-83-01-20862-2 |
Numer wydania | 1 |
Język publikacji | polski |
Informacja o sprzedawcy | ePWN sp. z o.o. |
INNE EBOOKI AUTORA
POLECAMY
Ciekawe propozycje
Spis treści
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 |