Matematyka w programowaniu gier i grafice komputerowej. Tworzenie i renderowanie wirtualnych środowisk 3D oraz praca z nimi - ebook
Matematyka w programowaniu gier i grafice komputerowej. Tworzenie i renderowanie wirtualnych środowisk 3D oraz praca z nimi - ebook
Matematyka jest niezbędna do zrozumienia reguł rządzących tworzeniem grafiki komputerowej w czasie rzeczywistym, a także zasad manipulowania obiektami i środowiskami 3D. Idealnym narzędziem ułatwiającym uchwycenie tych zależności jest język Python wraz z bibliotekami Pygame i PyOpenGL. Dzięki nim łatwo zrozumiesz, w jaki sposób komputery tworzą i wprowadzają zmiany w środowiskach trójwymiarowych.
Ta książka wyjaśni Ci rolę matematyki w tworzeniu, renderowaniu i zmienianiu wirtualnych środowisk 3D, a ponadto pozwoli odkryć tajemnice najpopularniejszych dzisiaj silników gier. Za sprawą licznych praktycznych ćwiczeń zorientujesz się, co się kryje za rysowaniem linii i kształtów graficznych, stosowaniem wektorów i wierzchołków, budowaniem i renderowaniem siatek, jak również przekształcaniem wierzchołków. Nauczysz się używać kodu Pythona, a także bibliotek Pygame i PyOpenGL do budowy własnych silników. Dowiesz się też, jak tworzyć przydatne API i korzystać z nich podczas pisania własnych aplikacji.
W książce między innymi:
- praca w Pythonie z edytorem PyCharm, bibliotekami Pygame i PyOpenGL
- różne polecenia rysowania z różnych graficznych API
- najważniejsze zagadnienia trygonometrii w odniesieniu do środowisk 3D
- wektory i matryce w przenoszeniu, ustawianiu kierunku i skalowaniu obiektów 3D
- renderowanie obiektów 3D z teksturami, kolorami, cieniami i oświetleniem
- przekształcanie wierzchołków w celu przyspieszenia renderowania opartego na GPU
Matematyka: najlepszy sprzymierzeniec programisty i grafika!
Spis treści
O autorze
O korektorach
Wstęp
Część 1. Podstawowe narzędzia
Rozdział 1. Witaj, graficzne okno, czyli początek podróży
- Wymagania techniczne
- Rozpoczęcie pracy z językiem Python, edytorem PyCharm i biblioteką Pygame
- Tworzenie podstawowego okna graficznego
- Praca z oknem i układem kartezjańskim
- Do dzieła!
- Twoja kolej!
- Podsumowanie
- Odpowiedzi
Rozdział 2. Zacznijmy rysować
- Wymagania techniczne
- Kolor
- Do dzieła!
- Twoja kolej!
- Linie
- Do dzieła!
- Twoja kolej!
- Do dzieła!
- Tekst
- Do dzieła!
- Twoja kolej!
- Wieloboki
- Do dzieła!
- Twoja kolej!
- Obrazy rastrowe
- Do dzieła!
- Podsumowanie
- Odpowiedzi
Rozdział 3. Kreślenie linii piksel po pikselu
- Wymagania techniczne
- Najprostszy sposób - rysowanie linii metodą prób i błędów
- Do dzieła!
- Ulepszone podejście - wprowadzenie do algorytmu Bresenhama
- Do dzieła!
- Rysowanie okręgów sposobem Bresenhama
- Do dzieła!
- Wygładzanie krawędzi wyświetlanych obiektów
- Podsumowanie
Rozdział 4. Komponenty silników graficznych i gier
- Wymagania techniczne
- Odkrywanie potoku graficznego z OpenGL
- Do dzieła!
- Rysowanie modeli za pomocą siatek
- Do dzieła!
- Twoja kolej!
- Patrzenie na scenę za pomocą kamer
- Projekcja pikseli na ekranie
- Systemy współrzędnych 3D w OpenGL
- Projekcja perspektywiczna
- Twoja kolej!
- Projekcja do znormalizowanych współrzędnych urządzenia
- Do dzieła!
- Twoja kolej!
- Podsumowanie
- Odpowiedzi
Rozdział 5. Rozświetlmy to!
- Wymagania techniczne
- Dodawanie efektów oświetlenia
- Do dzieła!
- Twoja kolej!
- Umieszczanie tekstur na siatkach
- Do dzieła!
- Podsumowanie
- Odpowiedzi
Rozdział 6. Odświeżanie i rysowanie środowisk graficznych
- Wymagania techniczne
- Wprowadzenie do pętli głównej
- Aktualizowanie i rysowanie obiektów
- Do dzieła!
- Twoja kolej!
- Mierzenie czasu
- Do dzieła!
- Podsumowanie
- Odpowiedzi
Rozdział 7. Interakcja za pomocą klawiatury i myszki w dynamicznych programach graficznych
- Wymagania techniczne
- Praca z danymi wejściowymi z myszki
- Do dzieła!
- Twoja kolej!
- Łączenie środowiska 2D z 3D
- Do dzieła!
- Przekształcanie pozycji myszki na współrzędne projekcji
- Do dzieła!
- Twoja kolej!
- Do dzieła!
- Dodawanie poleceń z klawiatury
- Do dzieła!
- Twoja kolej!
- Do dzieła!
- Podsumowanie
- Odpowiedzi
Część 2. Podstawy trygonometrii
Rozdział 8. Powtórka wiedzy o trójkątach
- Wymagania techniczne
- Porównywanie trójkątów podobnych
- Twoja kolej!
- Praca z trójkątami prostokątnymi
- Twoja kolej!
- Obliczanie kątów za pomocą sinusa, cosinusa i tangensa
- Twoja kolej!
- Badanie trójkątów przez rysowanie obiektów 3D
- Do dzieła!
- Podsumowanie
- Odpowiedzi
Rozdział 9. Podstawy wektorów
- Wymagania techniczne
- Zrozumienie różnicy między punktami a wektorami
- Do dzieła!
- Twoja kolej!
- Definiowanie kluczowych działań na wektorach
- Do dzieła!
- Ustalanie długości wektora
- Twoja kolej!
- Związek między kątami a wektorami
- Iloczyn skalarny
- Iloczyn wektorowy
- Podsumowanie
- Odpowiedzi
Rozdział 10. Zapoznanie się z liniami, promieniami i liniami normalnymi
- Wymagania techniczne
- Definiowanie linii, odcinków i promieni
- Używanie parametrycznej postaci linii
- Twoja kolej!
- Do dzieła!
- Obliczanie i wyświetlanie prostych normalnych
- Twoja kolej!
- Do dzieła!
- Twoja kolej!
- Podsumowanie
- Odpowiedzi
Rozdział 11. Zmiana oświetlenia i tekstury trójkątów
- Wymagania techniczne
- Wyświetlanie linii normalnych siatki zbudowanej z trójkątów
- Do dzieła!
- Definiowanie stron wieloboku za pomocą linii normalnych
- Praca z widocznymi stronami wieloboku
- Odrzucanie wieloboków zgodnie z liniami normalnymi
- Do dzieła!
- Odkrywanie wpływu prostych normalnych na oświetlenie
- Do dzieła!
- Podsumowanie
Część 3. Najważniejsze przekształcenia
Rozdział 12. Opanowanie przekształceń afinicznych
- Wymagania techniczne
- Przenoszenie punktów w przestrzeni 3D
- Unknown
- Skalowanie punktów za pomocą współrzędnych x, y i z
- Do dzieła!
- Twoja kolej!
- Obracanie punktów wokół osi obrotu
- Do dzieła!
- Odkrywanie kolejności przekształceń
- Pochylanie i odbijanie
- Podsumowanie
- Odpowiedzi
Rozdział 13. Zrozumienie znaczenia macierzy
- Wymagania techniczne
- Definiowanie macierzy
- Wykonywanie działań na macierzach
- Dodawanie i odejmowanie macierzy
- Mnożenie macierzy przez jedną wartość
- Dzielenie macierzy
- Tworzenie reprezentacji przekształceń afinicznych za pomocą macierzy
- Przejście od równań liniowych do działań na macierzach
- Łączenie przekształceń afinicznych
- Zestawianie macierzy przekształceń na potrzeby złożonych manewrów
- Do dzieła!
- Podsumowanie
- Odpowiedzi
Rozdział 14. Praca z przestrzeniami współrzędnych
- Wymagania techniczne
- Stos macierzy OpenGL
- Praca z macierzą widoku modelu
- Do dzieła!
- Twoja kolej!
- Praca z macierzą widoku
- Praca z macierzą projekcji
- Do dzieła!
- Twoja kolej!
- Podsumowanie
- Odpowiedzi
Rozdział 15. Poruszanie się po przestrzeni widoku
- Wymagania techniczne
- Manewry latania
- Do dzieła!
- Twoja kolej!
- Dziwactwa złożonych obrotów
- Poprawa sterowania kamerą
- Do dzieła!
- Podsumowanie
- Odpowiedzi
Rozdział 16. Obrót za pomocą kwaternionów
- Wymagania techniczne
- Wprowadzenie do kwaternionów
- Obrót wokół dowolnej osi
- Odkrywanie przestrzeni kwaternionowej
- Do dzieła!
- Praca z kwaternionami jednostkowymi
- Twoja kolej!
- Do czego służy normalizacja?
- Do dzieła!
- Twoja kolej!
- Podsumowanie
- Odpowiedzi
Część 4. Podstawowe techniki renderingu
Rozdział 17. Cieniowanie wierzchołków i fragmentów
- Wymagania techniczne
- Wprowadzenie do cieniowania
- Przenoszenie przetwarzania grafiki z CPU na GPU
- Do dzieła!
- Przetwarzanie piksel po pikselu
- Do dzieła!
- Podsumowanie
Rozdział 18. Niestandardowe potoki renderingu
- Wymagania techniczne
- Nadawanie koloru i tekstury wielokątom siatki
- Do dzieła!
- Twoja kolej!
- Włączanie świateł
- Oświetlenie otoczenia
- Światło rozproszone
- Phong
- Podsumowanie
- Odpowiedzi
Rozdział 19. Renderowanie realistycznej grafiki jak zawodowiec
- Wymagania techniczne
- Śledzenie odbić światła
- Stosowanie prawa odwróconych kwadratów
- Obliczanie dwukierunkowego odbicia
- Funkcje rozkładu
- Efekt Fresnela
- Współczynnik tłumienia geometrycznego
- Zebranie wszystkiego w całość
- Do dzieła!
- Podsumowanie
Skorowidz
Kategoria: | Gry |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-289-0880-2 |
Rozmiar pliku: | 23 MB |