Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
6
Spistreści
4.5.2.Deniowaniesymboliorazmakrodenicji(#dene,#undef)......
54
4.5.3.Kontrolawarunkowejkompilacji(#if,#ifdef,#ifndef,#elif,#else,
#endif)............................................
58
4.5.4.Wspomaganiewarunkowejkompilacji(#error)...............
59
4.5.5.Wspomaganiediagnostykikoduźródłowego(#line)............
59
4.5.6.Sterowaniedziałaniemkompilatora(#pragma)................
60
4.5.7.ZarządzaniezestawemrozszerzeńjęzykaGLSL(#extension).......
61
4.6.Typydanych..............................................
64
4.6.1.Bazowetypynumeryczneskalary.........................
65
4.6.2.Pochodnetypynumerycznewektory.......................
70
4.6.3.Pochodnetypynumerycznemacierze......................
76
4.6.4.Typyuchwytów.......................................
83
4.6.5.Typsubroutine.......................................
83
4.6.6.Struktury...........................................
84
4.6.7.Tablice.............................................
86
4.7.Zmienne.................................................
92
4.7.1.Zmiennewewnętrzne...................................
93
4.7.2.Zmienneinterfejsu....................................
94
4.7.3.Blokinterfejsu.......................................
96
4.7.4.Deklaracjaobiektówużytkownikawmodułachshadera..........
98
4.8.Zakreszmiennych..........................................
99
4.9.Operatory...............................................101
4.10.Instrukcjekontroliprzepływu..................................102
4.11.Funkcje.................................................104
4.11.1.Deklaracjafunkcji....................................105
4.11.2.Denicjafunkcji.....................................106
4.11.3.Przeładowywaniefunkcji...............................106
4.11.4.Parametryfunkcjiiwartościzwracane.....................107
Rozdział5.
Dane...............................................112
5.1.Generycznymagazyndanych(obiektbufora)......................113
5.1.1.Tworzeniebuforów....................................114
5.1.2.Wiązaniebuforów.....................................114
5.1.3.Zarządzaniestanemobiektówbuforowych...................117
5.1.4.Swobodnydostępdodanychbufora.......................122
5.1.5.Kopiowaniebuforów...................................124
5.1.6.Odczytywaniezawartościbuforów.........................124
5.1.7.Usuwaniebuforów....................................125
5.2.Zmienneorazblokiuniform....................................125
5.2.1.Domyślnyblokuniform.................................126
5.2.2.Nazwanyblokuniform...................................133
5.3.Zmienneorazblokibuffer.....................................147
5.3.1.Blokbuforowy.......................................148
5.3.2.Kontroladostępudopamięci............................151
5.3.3.Operacjeatomowenazmiennychbuforowych................155
5.3.4.Organizacjadanychwbloku.............................157
5.3.5.Własnościstanuzmiennychorazblokówbuforowych............158
5.3.6.Pozyskiwanielokacjizmiennychbuforowychorazaktualizacjadanych.159
5.3.7.Wiązanieblokubuforowego.............................159
5.4.Sformatowanymagazyndanych(obiekttekstury)....................160
5.4.1.ReprezentacjateksturwOpenGL..........................161