OpenGL_-_ksiega_eksperta_-_draft.doc

(5704 KB) Pobierz

Spis treści

O autorach...............................................................................................................21

Przedmowa ..............................................................................................................23

Wprowadzenie.......................................................................................................... 25

Dla kogo jest ta książka?............................................................................................................26

System wymagany dla OpenGL.................................................................................................26

Język...........................................................................................................................................26

Kompilatory ...............................................................................................................................27

Co znajdziesz w tej książce........................................................................................................27

Część I: Wprowadzenie do OpenGL....................................................................................28

Część II: Używanie OpenGL ...............................................................................................28

Część III: Tematy zaawansowane i efekty specjalne............................................................29

Część IV: OpenGL i... .........................................................................................................30

Dodatki..............................................................................................:..................................31

Płytka CD-ROM dołączona do książki.......................................................................................31

Do dzieła!...................................................................................................................................32

Część l

Wprowadzenie do OpenGL.................................................................. 33

Rozdział 1.

Co to jest OpenGL?.................................................................................................. 35

O OpenGL..................................................................................................................................36

Historia OpenGL..................................................................................................................36

Dalszy rozwój OpenGL........................................................................................................37

Jak działa OpenGL.....................................................................................................................37

OpenGL w Windows..................................................................................................................38

Architektura graficzna: oprogramowanie kontra sprzęt .......................................................38

Ograniczenia ogólnej implementacji....................................................................................40

Dalsze perspektywy OpenGL w Windows.................................................................................40

Rozdział 2.

Podstawy grafiki 3D................................................................................................. 41

Postrzeganie w trzech wymiarach ..............................................................................................41

2D + Perspektywa = 3D.......................................................................................................42

Usuwanie niewidocznych linii .............................................................................................43

Kolory i cieniowanie............................................................................................................43

Światła i cienie.....................................................................................................................44


OpenGL - księga eksperta

Układy współrzędnych ...............................................................................................................44

Dwuwymiarowe współrzędne kartezjańskie ........................................................................45

Obcinanie współrzędnych....................................................................................................46

Widoki, twoje okna na trójwymiarowy świat....................................................................... 46

Rysowanie prymitywów....................................................................................................... 47

Trójwymiarowe współrzędne kartezjańskie ......................................................................... 48

Rzuty, podstawa grafiki 3D........................................................................................................48

Rzuty równoległe ................................................................................................................. 49

Rzuty perspektywiczne........................................................................................................ 50

Podsumowanie ...........................................................................................................................50

Rozdział 3.

Nauka OpenGL z użyciem biblioteki AUX ................................................................... 51

OpenGL: API, nie język............................................................................................................. 5 1

Podział pracy w OpenGL..................................................................................................... 52

Typy danych OpenGL.......................................................................................................... 53

Konwencje nazw funkcji.. .................................................................................................... 55

Biblioteka AUX.......................................................................................................................... 56

Niezależność od platformy................................................................................................... 57

AUX = wejście/wyjście w prosty sposób............................................................................. 57

Analiza krótkiego programu OpenGL........................................................................................ 58

Część nagłówkowa............................................................................................................... 59

Ciało programu ....................................................................................................................60

Tryb wyświetlania: pojedynczy bufor.................................................................................. 60

Pozycjonowanie okna.. ........................................................................................................ .60

Tworzenie okna OpenGL..................................................................................................... 62

Czyszczenie okna (wypełnianie kolorem). ........................................................................ ...62

Samoczyszczenie okna.. ............................. ...................................................................... ....64

Opróżnienie zawartości kolejki............................................................................................ 64

Rysowanie kształtów za pomocą OpenGL .................................................................................65

Funkcja renderująca............................................................................................................. 66

Rysowanie prostokąta ..........................................................................................................66

Inicjowanie........................................................................................................................... 67

Skalowanie do rozmiarów okna .................................................................................................68

Ustawianie widoku i bryły obcinania................................................................................... 68

Definiowanie widoku........................................................................................................... 7 1

Definiowanie bryły obcinania.............................................................................................. 72

Aby kwadrat był kwadratem ................................................................................................73

Animacja przy użyciu biblioteki AUX... .................................................................................... 74

Podwójne buforowanie......................................................................................................... 77

W końcu trochę trzeciego wymiaru!..... ...................................................................................... 78

Podsumowanie ...........................................................................................................................79

Podręcznik.. ........................................................................................................................... .....79

aux!dleFunc..........................................................................................................................79

auxłnitDisplayMode...... .................................................................................................... ...80

aux!nitPosition ..................................................................................................................... 8 1

aiucReshapeFunc ............................................................................................................... ...85

auxSetOneColor. ............................................................................................................... ...85

auxSolidBox.. ....................................................................................................................... 86


Spis treści

 


 


auxSolidCube.... ............................................................................................................... ....87

AuxSolidCylinder ................................................................................................................ 87

auxSolidDodecahedron. ..................................................................................................... ..88

auxSolidSphere .................................................................................................................... 89

auxSolidTeapot .................................................................................................................... 89

auxSolidTetrahedron.. ..................................................................................................... .....90

auxWireCone ....................................................................................................................... 9 1

auxWireCube ..................................................................................................................... ..92

auxWire!cosahedron ............................................................................................................93

auxWireOctahedron ............................................................................................................. 94

auxWireSphere.....................................................................................................................94

auxWireTeapot.. ................................................................................................................ ...95

auxWireTetrahedron ............................................................................................................95

auxWireTorus. ...................................................................................................................... 95


 


glYiewport...........................................................................................................................97

glRect...................................................................................................................................98

Rozdział 4.

OpenGL for Windows: OpenGL + Win32 = Wiggle..................................................... 101

Rysowanie w oknach Windows................................................................................................ 102

Konteksty urządzeń GDI....................................................................................................102

Konteksty renderowania OpenGL......................................................................................l 05

Korzystanie z funkcji Wiggle................................................................................................... 106

Tworzenie i wybieranie kontekstu renderowania............................................................... 106

Rysowanie przy użyciu OpenGL........................................................................................ 106

Przygotowanie okna dla OpenGL.............................................................................................l 08

Style okien .........................................................................................................................108

Formaty pikseli ..................................................................................................................108

Powrót odbijającego się kwadratu............................................................................................ 111

Skalowanie do okna........................................................................................................... 114

Tyknięciatimera.................................................................................................................ll4

Światła, kamera, akcja!................................................................................................

15

Podsumowanie. Podręcznik........

ChoosePixelFormat... DescribePixelFormat.

16 16 16 18 GetPixelFormat .................................................................................................................. 122

SetPixelFormat.. ...................................................................................... ........................... 122

SwapBuffers.... ............................................................................................................... ....123

wglCreateContext...........................................................................................,...................124

wglDeleteContext.. ............................................................................................................. 125

wglGetCurrentContext.. ................................................................................................... ..125

wglGetCurrentDC .............................................................................................................. 126

wglGetProcAddress..... .................................................................................................. .....126


10______________________________________OpenGL - księga eksperta

wglMakeCurrent................................................................................................................ 127

wglShareLists..................................................................................................................... 128

wglUseFontBitmaps........................................................................................................... 129

wglUseFontOutlines...........................................................................................................130

Rozdział 5.

Błędy i inne komunikaty OpenGL............................................................................. 133

Gdy dobremu programowi przydarzają się złe przygody ........................................................134

Kim jestem i co potrafię? .........................................................................................................135

Rozszerzenia OpenGL........................................................................................................ 136

Udzielanie wskazówek za pomocą funkcji glHint................................................................... 137

Podsumowanie .........................................................................................................................138

Podręcznik.......

Zgłoś jeśli naruszono regulamin