Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Autor: Janusz Ganczarski
Biblioteki C++

Zmienne stanu

[lekcja] Rozdział 32. Kompletny wykaz zmiennych stanu OpenGL 2.1 zawarty w 54 tabelach; program przykładowy przedstawiający zmienne zależne od implementacji.
Zmienne stanu opisują bieżące właściwości maszyny stanu OpenGL. Do odczytu zmiennych stanu służy szereg poznanych już funkcji z bardzo liczej grupy glGet. Zmienne stanu można podzielić na dwie zasadnicze grupy. Pierwsza z nich to zmienne opisujące bieżące ustawienia maszyny stanów OpenGL, druga grupa określa zmienne stanu zależne od implementacji biblioteki.
Zamieszczone dalej opisy zmiennych stanu korzystają ze słowniczka przedstawionego w tabeli 1. Zmienne stanu wchodzące w skład opcjonalnego podzbioru funkcji przetwarzających obrazy zaznaczone są szarym kolorem.

Tabela 1: Rodzaje wartości zmiennych stanu

oznaczenieopis
Bliczba typu GLboolean
BMUpodstawowe jednostki maszynowe (ang. Basic machine units)
Czmiennoprzecinkowe składowe RGBA koloru
CIzmiennoprzecinkowy numer indeksu koloru
Tzmiennoprzecinkowe współrzędne (s, t, r, q) tekstury
Nzmiennoprzecinkowe współrzędne (x, y, z) wektora normalnego
Vwierzchołek z dołączonymi danymi
Zliczba całkowita
Z+nieujemna liczba całkowita
Zk, Zk∗k-wartościowa liczba całkowita, gdzie k∗ oznacza ilość minimalną
Rliczba zmiennoprzecinkowa
R+nieujemna liczba zmiennoprzecinkowa
R[a, b]liczba zmiennoprzecinkowa z przedziału [a, b]
Rkk-krotna ilość liczb zmiennoprzecinkowych
Pzmiennoprzecinkowe współrzędne (x, y, z, w) położenia
Dzmiennoprzecinkowe współrzędne (x, y, z) kierunku
M4macierz 4 × 4 z liczbami zmiennoprzecinkowymi
Sciąg znaków zakończony znakiem NULL
Idane obrazu
Apozycja stosu zmiennych stanu wraz z maską bitową
Ywskaźnik (rodzaj danych nieokreślony)
n × typ, n∗ × typn kopii elementów typu typ, gdzie n∗ oznacza ilość minimalną
W poniższych tabelach nie zaznaczono zmiennych stanu, których wartość nie jest dostępna dla programu. W szczególności dotyczy to zmiennych związanych z parą funkcji glBegin/glEnd. Szczegóły Czytelnik znajdzie w specyfikacji biblioteki OpenGL.

Tabela 2 przedstawia początkowe wartości bieżących zmiennych stanu. Poza zmiennymi zawartymi w tabeli biblioteka OpenGL posiada trzy zmienne nienazwane, które dotyczącą parametrów związanych z ostatnim przetwarzanym wierzchołkiem. Są to składowe jego koloru - typ C (w trybie indeksowym numer indeksu koloru do tablicy kolorów - typ C I ) oraz współrzędne tekstury związane z tym wierzchołkiem - typ T . Zmienne te nie posiadają funkcji pobierających.

W tabeli 9 zawierającej zmienne stanu związane z obiektami buforowymi pominięto zmienną związaną z danymi obiektu buforowego (typ n × BM U ), które pobiera funkcja glGetBufferSubData.

W tabeli 18 nie została przedstawiona funkcja glGetPolygonStipple, która zwraca wzór wypełnienia wielokąta (typ danych I ). Początkowo wszystkie bity maski wzoru wypełnienia wielokąta zawierają wartości 1.

W tabeli 45 nie przedstawiono dwóch zmiennych stanu obiektu programu cieniowania, które nie posiadają identyfikatorów:
  • dziennik informacyjny, typ 0+ × GLchar, funkcja pobierająca glGetShaderInfoLog, wartość początkowa - pusty ciąg znaków,
  • tekst źródłowy programu cieniowania, typ 0+ × GLchar, funkcja pobierająca glGetShaderSource, wartość początkowa - pusty ciąg znaków.

W tabeli 46 zmiennych stanu obiektów programów cieniowania pominięto następujące zmienne stanu, które nie posiadaną identyfikatorów:
  • bieżące dowiązanie obiektu programu cieniowania, typ 0+ × H , funkcja pobierająca glGetAttachedShaders, wartość początkowa brak obiektu,
  • dziennik informacyjny obiektu programów cieniowania, typ 0+ ×GLchar, funkcja pobierająca glGetProgramInfoLog, wartość początkowa brak dziennika,
  • położenie aktywnych zmiennych jednorodnych, typ 0+ × Z , funkcja pobierająca glGetUniformLocation, brak wartości początkowych,
  • rozmiar aktywnych zmiennych jednorodnych, typ 0+ × Z + , funkcja pobierająca glGetActiveUniform, brak wartości początkowych,
  • rodzaj aktywnych zmiennych jednorodnych, typ 0+ × Z + , funkcja pobierająca glGetActiveUniform, brak wartości początkowych,
  • nazwy aktywnych zmiennych jednorodnych, typ 0+ × GLchar, funkcja pobierająca glGetActiveUniform, brak wartości początkowych,
  • wartości aktywnych zmiennych jednorodnych, typ 512+ × R, funkcja pobierająca glGetUniform, wartości początkowe 0,
  • indeksy tablic atrybutów wierzchołków, typ 0+ × Z , funkcja pobierająca glGetAttribLocation, brak wartości początkowych,
  • rozmiar aktywnych zmiennych atrybutów wierzchołków, typ 0+ × Z + , funkcja pobierająca glGetActiveAttrib, brak wartości początkowych,
  • typ aktywnych zmiennych atrybutów wierzchołków, typ 0+ ×Z + , funkcja pobierająca glGetActiveAttrib, brak wartości początkowych,
  • nazwy aktywnych zmiennych atrybutów wierzchołków, typ 0+ ×GLchar, funkcja pobierająca glGetActiveAttrib, wartości początkowe - puste ciągi znaków.

Wśród zmiennych stanu zależnych od implementacji, przedstawionych w tabelach 49 - 54, nie zostały wymienione następujące nienazwane zmienne stanu, które nie posiadają funkcji pobierających:
  • maksymalny rozmiar tablicy kolorów w trybie indeksowym (typ 3 × Z + ); wartość minimalna 32,
  • maksymalny rozmiar tablicy tablicy histogramu (typ Z + ); wartość minimalna 32,

W tabeli 55 przedstawiającej pozostałe zmienne stanu pominięto następujące zmienne, które nie posiadają identyfikatorów i/lub funkcji pobierającej:
  • stos atrybutów serwera OpenGL, typ 16∗ × A, wartość początkowa - stos pusty,
  • stos atrybutów klienta OpenGL, typ 16∗ × A, wartość początkowa - stos pusty,
  • bieżący błąd, typ n × Z8, funkcja pobierająca glGetError, wartość początkowa 0,
  • znacznik wystąpienia błędu o określonym kodzie, typ n × B, wartość początkowa GL_FALSE,
  • znacznik aktywności analizy przesłonięć, typ B, wartość początkowa GL_FALSE,
  • wartość licznika analizy przesłonięć, typ Z + , wartość początkowa 0.

Tabela 2: Zmienne stanu - wartości bieżące

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_CURRENT_COLORCglGetIntegerv, glGetFloatv1,1,1,1bieżący kolor
GL_CURRENT_SECONDARY_COLORCglGetIntegerv, glGetFloatv0,0,0,1bieżący drugi kolor
GL_CURRENT_INDEXCIglGetIntegerv, glGetFloatv1bieżący indeks koloru
GL_CURRENT_TEXTURE_COORDS2∗ × TglGetFloatv0,0,0,1bieżące współrzędne tekstury
GL_CURRENT_NORMALNglGetFloatv0,0,1bieżący wektor normalny
GL_CURRENT_FOG_COORD, GL_CURRENT_FOG_COORDINATERglGetIntegerv, glGetFloatv0bieżąca współrzędna mgły
GL_CURRENT_RASTER_POSITIONR4glGetFloatv0,0,0,1bieżąca pozycja rastra
GL_CURRENT_RASTER_DISTANCER+glGetFloatv0bieżące przesunięcie rastra
GL_CURRENT_RASTER_COLORCglGetIntegerv, glGetFloatv1,1,1,1bieżący kolor związany z pozycją rastra
GL_CURRENT_RASTER_SECONDARY_COLORCglGetIntegerv, glGetFloatv0,0,0,1bieżący drugi kolor związany z pozycją rastra
GL_CURRENT_RASTER_INDEXCIglGetIntegerv, glGetFloatv1bieżący indeks koloru związany z pozycją rastra
GL_CURRENT_RASTER_TEXTURE_COORDS2∗ × TglGetFloatv0,0,0,1bieżące współrzędne tekstury związane z pozycją rastra
GL_CURRENT_RASTER_POSITION_VALIDBglGetBooleanvGL_TRUEbieżący wskaźnik poprawności pozycji rastra
GL_EDGE_FLAGBglGetBooleanvGL_TRUEznacznik rysowania krawędzi

Tabela 3: Zmienne stanu - tablice wierzchołków część I

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_CLIENT_ACTIVE_TEXTUREZ2∗glGetIntegervGL_TEXTURE0bieżąca jednostka teksturująca
GL_VERTEX_ARRAYBglIsEnabledGL_FALSEwłączenie tablic współrzędnych wierzchołków
GL_VERTEX_ARRAY_SIZEZ+glGetIntegerv4ilość współrzędnych wierzchołków
GL_VERTEX_ARRAY_TYPEZ4glGetIntegervGL_FLOATrodzaj danych współrzędnych wierzchołków
GL_VERTEX_ARRAY_STRIDEZ+glGetIntegerv0odstęp pomiędzy współrzędnymi wierzchołków
GL_VERTEX_ARRAY_POINTERYglGetPointerv0adres tablicy ze współrzędnymi wierzchołków
GL_NORMAL_ARRAYBglIsEnabledGL_FALSEwłączenie tablic współrzędnych wektorów normalnych
GL_NORMAL_ARRAY_TYPEZ5glGetIntegervGL_FLOATrodzaj danych współrzędnych wektorów normalnych
GL_NORMAL_ARRAY_STRIDEZ+glGetIntegerv0odstęp pomiędzy współrzędnymi wektorów normalnych
GL_NORMAL_ARRAY_POINTERYglGetPointerv0adres tablicy ze współrzędnymi wektorów normalnych

Tabela 4: Zmienne stanu - tablice wierzchołków część II

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_FOG_COORD_ARRAY
GL_FOG_COORDINATE_ARRAY
BglIsEnabledGL_FALSEwłączenie tablic współrzędnych mgły
GL_FOG_COORD_ARRAY_TYPE
GL_FOG_COORDINATE_ARRAY_TYPE
Z2glGetIntegervGL_FLOATrodzaj danych współrzędnych mgły
GL_FOG_COORD_ARRAY_STRIDE
GL_FOG_COORDINATE_ARRAY_STRIDE
Z+glGetIntegerv0odstęp pomiędzy współrzędnymi mgły
GL_FOG_COORD_ARRAY_POINTER
GL_FOG_COORDINATE_ARRAY_POINTER
YglGetPointerv0adres tablicy ze współrzędnymi mgły
GL_COLOR_ARRAYBglIsEnabledGL_FALSEwłączenie tablic składowych kolorów
GL_COLOR_ARRAY_SIZEZ+glGetIntegerv4ilość składowych kolorów
GL_COLOR_ARRAY_TYPEZ8glGetIntegervGL_FLOATrodzaj danych składowych kolorów
GL_COLOR_ARRAY_STRIDEZ+glGetIntegerv0odstęp pomiędzy składowymi kolorów
GL_COLOR_ARRAY_POINTERYglGetPointerv0adres tablicy ze składowymi kolorów

Tabela 5: Zmienne stanu - tablice wierzchołków część III

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_SECONDARY_COLOR_ARRAYBglIsEnabledGL_FALSEwłączenie tablic składowych drugorzędnych kolorów
GL_SECONDARY_COLOR_ARRAY_SIZEZ+glGetIntegerv3ilość składowych drugorzędnych kolorów
GL_SECONDARY_COLOR_ARRAY_TYPEZ8glGetIntegervGL_FLOATrodzaj danych składowych drugorzędnych kolorów
GL_SECONDARY_COLOR_ARRAY_STRIDEZ+glGetIntegerv0odstęp pomiędzy składowymi drugorzędnych kolorów
GL_SECONDARY_COLOR_ARRAY_POINTERYglGetPointerv0adres tablicy ze składowymi drugorzędnych kolorów
GL_INDEX_ARRAYBglIsEnabledGL_FALSEwłączenie tablic indeksów kolorów
GL_INDEX_ARRAY_TYPEZ4glGetIntegervGL_FLOATrodzaj danych indeksów kolorów
GL_INDEX_ARRAY_STRIDEZ+glGetIntegerv0odstęp pomiędzy indeksami kolorów
GL_INDEX_ARRAY_POINTERYglGetPointerv0adres tablicy z indeksami kolorów

Tabela 6: Zmienne stanu - tablice wierzchołków część IV

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_TEXTURE_COORD_ARRAY2∗ ×BglIsEnabledGL_FALSEwłączenie tablic współrzędnych tekstur
GL_TEXTURE_COORD_ARRAY_SIZE2∗ × Z+glGetIntegerv4ilość składowych współrzędnych tekstur
GL_TEXTURE_COORD_ARRAY_TYPE2∗ × Z4glGetIntegervGL_FLOATrodzaj danych współrzędnych tekstur
GL_TEXTURE_COORD_ARRAY_STRIDE2∗ × Z+glGetIntegerv0odstęp pomiędzy współrzędnymi tekstur
GL_TEXTURE_COORD_ARRAY_POINTER2∗ × YglGetPointerv0adres tablicy ze współrzędnymi tekstur
GL_VERTEX_ATTRIB_ARRAY_ENABLED16+ × BglGetVertexAttribGL_FALSEwłączenie tablic atrybutów wierzchołków
GL_VERTEX_ATTRIB_ARRAY_SIZE16+ × ZglGetVertexAttrib4rozmiar danych atrybutów wierzchołków
GL_VERTEX_ATTRIB_ARRAY_STRIDE16+ × Z+glGetVertexAttrib0odstęp pomiędzy atrybutami wierzchołków
GL_VERTEX_ATTRIB_ARRAY_TYPE16+ × Z4glGetVertexAttribGL_FLOATrodzaj danych atrybutów wierzchołków
GL_VERTEX_ATTRIB_ARRAY_NORMALIZED16+ ×BglGetVertexAttribGL_FALSEwłączenie normalizacji atrybutów wierzchołków
GL_VERTEX_ATTRIB_ARRAY-POINTER16+ ×PglGetVertexAttribPointer0adres tablic z atrybutami wierzchołków

Tabela 7: Zmienne stanu - tablice wierzchołków część V

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_EDGE_FLAG_ARRAYBglIsEnabledGL_FALSEwłączenie tablic znaczników krawędzi wierzchołków
GL_EDGE_FLAG_ARRAY_STRIDEZ+glGetIntegerv0odstęp pomiędzy znacznikami krawędzi wielokątów
GL_EDGE_FLAG_ARRAY_POINTERYglGetPointerv0adres tablicy ze znacznikami krawędzi wielokątów
GL_ARRAY_BUFFER_BINDINGZ+glGetIntegerv0bieżące dowiązanie obiektu buforowego tablic wierzchołków
GL_VERTEX_ARRAY_BUFFER_BINDINGZ+glGetIntegerv0bieżące dowiązanie obiektu buforowego z tablicą współrzędnych wierzchołków prymitywów
GL_NORMAL_ARRAY_BUFFER_BINDINGZ+glGetIntegerv0bieżące dowiązanie obiektu buforowego z tablicą współrzędnych wektorów normalnych
GL_COLOR_ARRAY_BUFFER_BINDINGZ+glGetIntegerv0bieżące dowiązanie obiektu buforowego z tablicą składowych kolorów wierzchołków
GL_INDEX_ARRAY_BUFFER_BINDINGZ+glGetIntegerv0bieżące dowiązanie obiektu buforowego z tablicą indeksów kolorów

Tabela 8: Zmienne stanu - tablice wierzchołków część VI

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING2∗ × Z+glGetIntegerv0bieżące dowiązanie obiektu buforowego z tablicą współrzędnych tekstur
GL_EDGE_FLAG_ARRAY_BUFFER_BINDINGZ+glGetIntegerv0bieżące dowiązanie obiektu buforowego z tablicą znaczników krawędzi wielokątów
GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDINGZ+glGetIntegerv0bieżące dowiązanie obiektu buforowego z tablicą składowych drugich kolorów wierzchołków
GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING
GL_FOG_COORD_ARRAY_BUFFER_BINDING
Z+glGetIntegerv0bieżące dowiązanie obiektu buforowego z tablicą współrzędnych mgły
GL_ELEMENT_ARRAY_BUFFER_BINDINGZ+glGetIntegerv0bieżące dowiązanie obiektu buforowego indeksowych tablic wierzchołków
GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING16+ × Z+glGetVertexAttribv0bieżące dowiązanie obiektu buforowego z tablicą atrybutów wierzchołków

Tabela 9: Zmienne stanu - obiekty buforowe

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_BUFFER_SIZEn × Z+glGetBufferParameteriv0rozmiar danych obiektu buforowego
GL_BUFFER_USAGEn × Z9glGetBufferParameterivGL_STATIC_DRAWwskazówka dostępu do danych obiektu buforowego
GL_BUFFER_ACCESSn × Z3glGetBufferParameterivGL_READ_WRITEprzeznaczenie wskaźnika do danych obiektu buforowego
GL_BUFFER_MAPPEDn × BglGetBufferParameterivGL_FALSEznacznik czy obiekt buforowy znajduje się w trybie odwzorowania
GL_BUFFER_MAP_POINTERn × YglGetBufferPointerv0wskaźnik na dane obiektu buforowego

Tabela 10: Zmienne stanu - przekształcenia część I

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_COLOR_MATRIX
GL_TRANSPOSE_COLOR_MATRIX
2∗ × M4glGetFloatvmacierz jednostkowastos macierzy koloru
GL_MODELVIEW_MATRIX
GL_TRANSPOSE_MODELVIEW_MATRIX
32∗ × M4glGetFloatvmacierz jednostkowastos macierzy modelowania
GL_PROJECTION_MATRIX
GL_TRANSPOSE_PROJECTION_MATRIX
2∗ × M4glGetFloatvmacierz jednostkowastos macierzy rzutowania
GL_TEXTURE_MATRIX
GL_TRANSPOSE_TEXTURE_MATRIX
2∗ × 2∗ × M4glGetFloatvmacierz jednostkowastos macierzy tekstury
GL_VIEWPORT4 × ZglGetIntegervcałe okno renderinguobszar renderingu
GL_DEPTH_RANGE2 × R+glGetFloatv0,1zakres wartości bufora głębokości
GL_COLOR_MATRIX_STACK_DEPTHZ+glGetIntegerv1wskaźnik stosu macierzy koloru
GL_MODELVIEW_STACK_DEPTHZ+glGetIntegerv1wskaźnik stosu macierzy modelowania
GL_PROJECTION_STACK_DEPTHZ+glGetIntegerv1wskaźnik stosu macierzy rzutowania
GL_TEXTURE_STACK_DEPTH2∗ × Z+glGetIntegerv1wskaźnik stosu macierzy tekstury

Tabela 11: Zmienne stanu - przekształcenia część II

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_MATRIX_MODEglGetlntegeryGL_MODELVIEWbieżąca macierz
GLJTORMALIZEBgllsEnabledGL_FALSEznacznik normalizacji wektorów normalnych
GL_RESCALEJTORMALBgllsEnabledGL_FALSEznacznik automatycznego skalowania wektorów normalnych
GL_CLIP_PLANEO,
GL_CLIP_PLANE1,
GL_CLIP_PLANE2,
GL_CLIP_PLANE3,
GL_CLIP_PLANE4,
GL_CLIP_PLANE5
6* x RAglGetClipPlane0,0,0,0współrzędne płaszczyzn obcinania
GL_CLIP_PLANEO,
GL_CLIP_PLANE1,
GL_CLIP_PLANE2,
GL_CLIP_PLANE3,
GL_CLIP_PLANE4,
GL_CLIP_PLANE5
6* x BgllsEnabledGL_FALSEznaczniki płaszczyzn

Tabela 12: Zmienne stanu - mgła i cieniowanie

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_FOG_COLORCglGetFloaty0,0,0,0kolor mgły
GL_FOGJNDEXCIglGetFloaty0indeks koloru mgły
GL_FOG_DENSITYRglGetFloaty1gęstość mgły
GL_FOG_STARTRglGetFloaty0początek oddziaływania mgły
GL_FOG_ENDRglGetFloaty1koniec oddziaływania mgły
GL_FOG_MODEZzglGetlntegeryGL_EXProdzaj mgły
GL_FOGBgllsEnabledGL_FALSEwłączenie mgły
GL_FOG_COORD_SRC,
GL_FOG_COORDINATE_SOURCE
z2glGetlntegeryGL_FRAGMENT_DEPTHmetoda obliczania współrzędnych mgły
GL_COLOR_SUMBgllsEnabledGL_FALSEwłączenie drugiego koloru wierzchołka
GL_SHADE_MODELZ+glGetlntegeryGL_SMOOTHmodel cieniowania

Tabela 13: Zmienne stanu - oświetlenie część I

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_LIGHTINGBgllsEnabledGL_FALSEwłączenie oświetlenia
GL_COLOR_MATERIALBgllsEnabledGL_FALSEwłączenie śledzenia kolorów
GL_COLOR_MATERIAL_PARAMETERZ5glGetlntegeryGL_AMBIENT_AND_DIFFUSEwłaściwość materiału przy śledzeniu kolorów
GL_COLOR_MATERIAL_FACEZzglGetlntegeryGL_FRONT_AND_BACKstrony wielokątów objęte śledzeniem kolorów
GL_AMBIENT2 x CglGetMaterialfy2/10, 2/10, 2/10, 1składowe określające stopień odbicia światła otaczającego przez materiał
GLJ3IFFUSE2 x CglGetMaterialfy8/10, 8/10, 8/10, 1składowe określające stopień rozproszenia światła rozproszonego przez materiał
GL_SPECULAR2 x CglGetMaterialfy0,0,0,1składowe określające stopień odbicia światła odbitego przez materiał
GL_EMISSION2 x CglGetMaterialfy0,0,0,1składowe światła emitowanego przez obiekt
GL_SHININESS2xRglGetMaterialfy0wykładnik odbłysku światła przez materiał

Tabela 14: Zmienne stanu - oświetlenie część II

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_LIGHT_MODEL_AMBIENTCglGetFloaty2/10, 2/10, 2/10, 1składowe globalnego światła otaczającego
GL_LIGHT_MODEL_LOCAL_VIEWERBglGetBooleanyGL_FALSEznacznik metody obliczania kąta odbicia światła
GL_LIGHT_MODEL_TWO_SIDEBglGetBooleanyGL_FALSEznacznik oświetlenia obu stron wielokątów
GLJJGHT_MODEL_COLOR_CONTROLz2glGetlntegeryGL_SINGLE_COLORsposób nakładania światła odbitego
GL_AMBIENT8* x CglGetLightfy0,0,0,1składowe światła otaczającego źródła światła GLJJGHTi
GLJ3IFFUSE8* x CglGetLightfy1,1,1,1 (GL_LIGHT0) 0,0,0,1składowe światła rozproszonego źródła światła GLJJGHTi
GL_SPECULAR8* x CglGetLightfy1,1,1,1 (GL_LIGHT0) 0,0,0,1składowe światła odbitego źródła światła GLJJGHTi
GL_POSITION8* x PglGetLightfy0,0,1,0położenie/kierunek źródła światła GLJJGHTi

Tabela 15: Zmienne stanu - oświetlenie część III

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_CONSTANT_ATTENUATION8* x R+glGetLightfy1stały współczynnik tłumienia światła źródła światła GLJTGHTi
GL_LINEAR_ATTENUATION8* x R+glGetLightfy0liniowy współczynnik tłumienia światła źródła światła GLJTGHTi
GL_QUADRATIC_ATTENUATION8* x R+glGetLightfy0kwadratowy współczynnik tłumienia światła źródła światła GLJTGHTi
GL_SPOT_DIRECTION8* x DglGetLightfy0,0,-1kierunek reflektora źródła światła GLJTGHTi
GL_SPOT_EXPONENT8* x R+glGetLightfy0wykładnik tłumienia kątowego reflektora źródła światła GLJTGHTi
GL_SPOT_CUTOFF8* x R+glGetLightfy180kąt odcięcia reflektora źródła światła GLJTGHTi
GL_LIGHTO, GLJTGHTI,
GL_LIGHT2, GL_LIGHT3,
GL_LIGHT4, GLJJGHT5,
GL_LIGHT6, GL_LIGHT7
8* x BgllsEnabledGL_FALSEwłączenie źródła światła GLJTGHTi
GL_COLORJNDEXES2 x 3 x RglGetMaterialfy0,1,1indeksy do tablicy kolorów ze składowymi określającymi reakcję materiału na światło otaczające, rozproszone i odbite

Tabela 16: Zmienne stanu - rasteryzacja część I

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_POINT_SIZER+glGetFloatv1wielkość punktu
GL_POINT_SMOOTHBgllsEnabledGL_FALSEwłączenie antyaliasingu punktów
GL_POINT_SPRITEBgllsEnabledGL_FALSEwłączenie duszków punktowych
GL_POINT_SIZE_MINR+glGetFloatv0minimalna wielkość punktu po przekształceniach geometrycznych
GL_POINT_SIZE_MAXR+glGetFloatv1maksymalna wielkość punktu po przekształceniach geometrycznych; wartość początkowa jest maksymalną wielkością punktu z aliasingiem i antyaliasingiem obsługiwaną przez implementację OpenGL
GL_POINT_FADE_THRESHOLD_SIZER+glGetFloatv1wartość progowa używana przy włączonym wielopróbkowaniu do zmiany wielkości punktu oraz składowej alfa koloru punktu
GL_POINT_DISTANCE_ATTENUATION3 x R+glGetFloatv1,0,0współczynniki a, b i c równania określającego rozmiar punktu po przekształceniach geometrycznych

Tabela 17: Zmienne stanu - rasteryzacja część II

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_POINT_SPRITE_COORD_ORIGINz2glGetlntegeryGL_UPPER_LEFTorientacja lewego górnego wierzchołka tekstury duszka punktowego
GL_LINE_WIDTHR+glGetFloaty1szerokość linii
GL_LINE_SMOOTHBgllsEnabledGL_FALSEwłączenie antyaliasingu linii
GL_LINE_STIPPLE_PATTERNZ+glGetlntegeryFFFFhwzór wypełnienia linii
GL_LINE_STIPPLE_REPEATZ+glGetlntegery1zwielokrotnienie bitów wzoru wypełnienia linii
GL_LINE_STIPPLEBgllsEnabledGL_FALSEwłączenie rysowania wzoru wypełnienia linii
GL_CULL_FACEBgllsEnabledGL_FALSEwłączenie rysowania wybranych stron wielokątów
GL_CULL_FACE_MODEz3glGetlntegeryGL_BACKokreślenie nierysowanej strony wielokątów
GL_FRONT_FACEz2glGetlntegeryGL_CCWokreślenie stron wielokąta na podstawie orientacji krawędzi
GL_POLYGON_SMOOTHBgllsEnabledGL_FALSEwłączenie antyaliasingu wielokątów

Tabela 18: Zmienne stanu - rasteryzacja część III

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_POLYGON_MODE2 x Z3glGetlntegeryGL_FILLtryb rasteryzacji wielokątów
GL_POLYGON_OFFSET_FACTORRglGetFloaty0współczynnik skalowania maksymalnego nachylenia głębokości wielokąta
GL_POLYGON_OFFSET_UNITSRglGetFloaty0współczynnik skalowania najmniejszej różnicy wartości przechowywanych w buforze głębokości
GL_POLYGON_OFFSET_POINTBgllsEnabledGL_FALSEznacznik przesuwania wartości głębi, gdy rysowane są wierzchołki wielokątów
GL_POLYGON_OFFSET_LINEBgllsEnabledGL_FALSEznacznik przesuwania wartości głębi, gdy rysowane są krawędzie wielokątów
GL_POLYGON_OFFSET_FILLBgllsEnabledGL_FALSEznacznik przesuwania wartości głębi, gdy rysowane są wypełnione wielokąty
GL_POLYGON_STIPPLEBgllsEnabledGL_FALSEwłączenie wypełniania wielokątów wzorem

Tabela 19: Zmienne stanu - wielopróbkowanie

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_MULTIS AMPLEBgllsEnabledGL_TRUEwłączenie wielopróbkowania
GL_SAMPLE_ALPHA_TO_COVERAGEBgllsEnabledGL_FALSEznacznik używania składowych alfa w wielopróbkowaniu
GL_SAMPLE_ALPHA_TO_ONEBgllsEnabledGL_FALSEznacznik używania maksymalnej wartości składowych alfa w wielopróbkowaniu
GL_SAMPLE_COVERAGEBgllsEnabledGL_FALSEznacznik używania w wielopróbkowaniu wartości składowej alfa ustalonej przez funkcję glSampleCoverage
GL_SAMPLE_COVERAGE_VALUER+glGetFloaty1wartość składowej alfa używanej w wielopróbkowaniu
GL_SAMPLE_COVERAGE_INVERTBglGetBooleanyGL_FALSEznacznik odwracania bitów składowej alfa używanej w wielopróbkowaniu

Tabela 20: Zmienne stanu - tekstury część I

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_TEXTURE_1D,
GL_TEXTURE_2D,
GL_TEXTURE_3D
2* x 3 x BgllsEnabledGL_FALSEwłączenie teksturowania jedno, dwu i trójwymiarowego
GL_TEXTURE_CUBE_MAP,2* x BgllsEnabledGL_FALSEwłączenie teksturowania sześciennego
GL_TEXTURE_BINDING_1D,
GL_TEXTURE_BINDING_2D,
GL_TEXTURE_BINDING_3D
2*x3xZ+glGetlntegery0identyfikator dowiązany do tekstury jedno, dwu i trójwymiarowej
GL_TEXTURE_BINDING_CUBE_MAP2* x Z+glGetlntegery0identyfikator dowiązany do tekstury sześciennej
GL_TEXTURE_1D,
GL_TEXTURE_2D,
GL_TEXTURE_3D
n x IglGetTexImagepobranie tekstury jedno, dwu i trójwymiarowej na wybranym poziomie mipmapy

Tabela 21: Zmienne stanu - tekstury część II

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_TEXTURE_CUBE_MAP_POSITIVE_Xn x IglGetTexImage-pobranie tekstury sześciennej dla kierunku dodatnich wartości osi X na wybranym poziomie mipmapy
GL_TEXTURE_CUBE_MAP_NEGATIVE_Xn x IglGetTexImage-pobranie tekstury sześciennej dla kierunku ujemnych wartości osi X na wybranym poziomie mipmapy
GL_TEXTURE_CUBE_MAP_POSITIVE_Yn x IglGetTexImage-pobranie tekstury sześciennej dla kierunku dodatnich wartości osi Y na wybranym poziomie mipmapy
GL_TEXTURE_CUBE_MAP_NEGATIVE_Yn x IglGetTexImage-pobranie tekstury sześciennej dla kierunku ujemnych wartości osi Y na wybranym poziomie mipmapy
GL_TEXTURE_CUBE_MAP_POSITIVE_Zn x IglGetTexImage-pobranie tekstury sześciennej dla kierunku dodatnich wartości osi Z na wybranym poziomie mipmapy
GL_TEXTURE_CUBE_MAP_NEGATIVE_Zn x IglGetTex!mage-pobranie tekstury sześciennej dla kierunku ujemnych wartości osi Z na wybranym poziomie mipmapy

Tabela 22: Zmienne stanu - tekstury czesc III

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_TEXTURE_BORDER_COLORn x CglGetTexParameter0,0,0,0kolor obramowania tekstury
GL_TEXTURE_MIN_FILTERn x Z6glGetTexParameterGL_NEAREST_-MIPMAP_LINEARfiltr minimalizujący
GL_TEXTURE_MAG_FILTERn x Z2glGetTexParameterGL_LINEARfiltr maksymalizujący
GL_TEXTURE_WRAP_Sn x Z5glGetTexParameterGL_REPEATzawijanie tekstury w kierunku współrzędnej s
GL_TEXTURE_WRAP_Tn x Z5glGetTexParameterGL_REPEATzawijanie tekstury w kierunku współrzędnej t
GL_TEXTURE_WRAP_Rn x Z5glGetTexParameterGL_REPEATzawijanie tekstury w kierunku współrzędnej r
GL_TEXTURE_PRIORITYn x R[0,1]glGetTexParameterfv1priorytet tekstury
GL_TEXTURE_RESIDENTn x BglGetTexParameterivGL.TRUEznacznik rezydentności tekstury
GL_TEXTURE_MIN_LODn x RglGetTexParameterfv-1000minimalny poziom szczegółowości (LOD) mipmap
GL_TEXTURE_MAX_LODn x RglGetTexParameterfv1000maksymalny poziom szczegółowości (LOD) mipmap

Tabela 23: Zmienne stanu - tekstury czesc IV

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_TEXTURE_BASE_LEVELn x Z+glGetTexParameterfv0podstawowy poziom ładowanej tekstury dla mechanizmu mipmapowania
GL_TEXTURE_MAX_LEVELn x Z+glGetTexParameterfv1000maksymalny poziom ładowanej tekstury dla mechanizmu mipmapowania
GL_TEXTURE_LOD_BIASn x RglGetTexParameterfv0przesunięcie poziomu szczegółowości (LOD) mipmap
GL_DEPTH_TEXTURE_MODEn x Z3glGetTexParameterivGL_LUMINANCEsposób odwzorowania tekstury głębi
GL_TEXTURE_COMPARE_MODEn x Z2glGetTexParameterivGL_NONEtryb porównywania składowych tekstury głębi
GL_TEXTURE_COMPARE_FUNCn x Z8glGetTexParameterivGL_LEQUALfunkcja porównującą dla tekstury głębi
GL_GENERATE_MIPMAPn x BglGetTexParameterGL_FALSEznacznik automatycznego generowania mipmap

Tabela 24: Zmienne stanu - tekstury część V

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_TEXTURE_WIDTHn x Z+glGetTexLevelParameter0szerokość tekstury
GL_TEXTURE_HEIGHTn x Z+glGetTexLevelParameter0wysokość tekstury jedno i dwuwymiarowej
GL_TEXTURE_DEPTHn x Z+glGetTexLevelParameter0głębokość tekstury trójwymiarowej
GL_TEXTURE_BORDERn x Z+glGetTexLevelParameter0szerokość obramowania tekstury
GL_TEXTURE_INTERNAL_FORMAT,
GL_TEXTURE_COMPONENTS
n x Z60*glGetTexLevelParameter1wewnętrzny format tekstury (w wersji 1 ilość składowych tekseli)
GL_TEXTURE_RED_SIZEn x Z+glGetTexLevelParameter0ilość bitów składowych R tekseli tekstury
GL_TEXTURE_GREEN_SIZEn x Z+glGetTexLevelParameter0ilość bitów składowych G tekseli tekstury
GL_TEXTURE_BLUE_SIZEn x Z+glGetTexLevelParameter0ilość bitów składowych B tekseli tekstury
GL_TEXTURE_ALPHA_SIZEn x Z+glGetTexLevelParameter0ilość bitów składowych A tekseli tekstury

Tabela 25: Zmienne stanu - tekstury część VI

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_TEXTURE_LUMINANCE_SIZEn x Z+glGetTexLevelParameter0ilość bitów składowych L tekseli tekstury
GL_TEXTUREJNTENSITY_SIZEn x Z+glGetTexLevelParameter0ilość bitów składowych I tekseli tekstury
GL_TEXTURE_DEPTH_SIZEn x Z+glGetTexLevelParameter0ilość bitów składowych D tekseli tekstury
GL_TEXTURE_COMPRESSEDn x BglGetTexLevelParameterGL_FALSEznacznik kompresji danych tekstury
GL_TEXTURE_COMPRESSED_IMAGE_SIZEn x Z+glGetTexLevelParameter0rozmiar (w GLubyte) skompresowanego obrazu tekstury

Tabela 26: Zmienne stanu - srodowisko tekstur czesc I

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_COORD_REPLACE2* x BglGetTexEnvivGL_FALSEznacznik zastępowania współrzędnych tekstur współrzędnymi sprajtów punktowych
GL_ACTIVE_TEXTUREZ2*glGetlntegeryGL_TEXTUREOnumer aktywnej jednostki teksturującej
GL_TEXTURE_ENV_MODE2* Z6glGetTexEnvivGL_MODULATEsposób mieszania składowych kolorów fragmentów ze składowymi koloru tekseli tekstury
GL_TEXTURE_ENV_COLOR2* CglGetTexEnvfv0,0,0,0składowe koloru środowiska tekstur
GL_TEXTURE_LOD_BIAS2* RglGetTexEnvfv0przesunięcie poziomu szczegółowości (LOD) mipmap
GL_TEXTURE_GEN_S,
GL_TEXTURE_GEN_T,
GL_TEXTURE_GEN_R,
GL_TEXTURE_GEN_Q
2* x 4 x BgllsEnabledGL_FALSEznaczniki automatycznego generowana współrzędnych S, T, R i Q tekstury
GL_EYE_PLANE2* x 4 x R4glGetTexGenfv1,0,0,0 (S) 0,1,0,0 (T) 0,0,0,0 (R, Q)współrzędne równania jednorodnego płaszczyzny przy odwzorowaniu liniowym względem kamery (oka) dla współrzędnych S, T, R i Q

Tabela 27: Zmienne stanu - srodowisko tekstur czesc II

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_OBJECT_PLANE2* x 4 x R4glGetTexGenfv1,0,0,0 (S)
0,1,0,0 (T)
0,0,0,0 (R, Q)
współrzędne równania jednorodnego płaszczyzny przy odwzorowaniu liniowym względem obiektu dla współrzędnych S, T, R i Q
GL_TEXTURE_GEN_MODE2* x 4 x Z5glGetTexGenivGL_EYE_LINEARmetoda generowania współrzędnych tekstur
GL_COMBINE_RGB2* x Z8glGetTexEnvivGL_MODULATE_RGBfunkcja mieszania składowych RGB tekseli
GL_COMBINE_ALPHA2* x Z6glGetTexEnvivGL_MODULATEfunkcja mieszania składowej alfa tekseli
GL_SRCO_RGB2* x Z3glGetTexEnvivGL_TEXTURE_RGBskładowe RGB argumentu ArgO
GL_SRC1_RGB2* x Z3glGetTexEnvivGL_PREVIOUS_RGBskładowe RGB argumentu Argl
GL_SRC2_RGB2* x Z3glGetTexEnvivGL_CONSTANT_RGBskładowe RGB argumentu Arg2
GL_SRCO_ALPHA2* x Z3glGetTexEnvivGL_TEXTUREskładowa alfa argumentu ArgO
GL_SRC1_ALPHA2* x Z3glGetTexEnvivGL_PREVIOUSskładowa alfa argumentu Argl
GL_SRC2_ALPHA2* x Z3glGetTexEnvivGL_CONSTANTskładowa alfa argumentu Arg2

Tabela 28: Zmienne stanu - środowisko tekstur część III

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_OPERAND0_RGB2* x z4glGetTexEnvivGL_SRC_COLOR_RGBprzetwarzanie składowych RGB argumentu ArgO
GL_OPERAND1_RGB2* x Z4glGetTexEnvivGL_SRC_COLOR_RGBprzetwarzanie składowych RGB argumentu Argl
GL_OPERAND2_RGB2* x Z4glGetTexEnvivGL_SRC_ALPHA_RGBprzetwarzanie składowych RGB argumentu Arg2
GL_OPERAND0_ALPHA2* x Z2glGetTexEnvivGL_SRC_ALPHAprzetwarzanie składowej alfa argumentu ArgO
GL_OPERAND1_ALPHA2* x Z2glGetTexEnvivGL_SRC_ALPHAprzetwarzanie składowej alfa argumentu Argl
GL_OPERAND2_ALPHA2* x Z2glGetTexEnvivGL_SRC_ALPHAprzetwarzanie składowej alfa argumentu Arg2
GL_RGB_SCALE2* x R3glGetTexEnvfv1współczynnik skalowania składowych RGB tekseli
GL_ALPHA_SCALE2* x R3glGetTexEnvfv1współczynnik skalowania składowej alfa tekseli

Tabela 29: Zmienne stanu - operacje na pikselach część I

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_SCISSOR_TESTBgllsEnabledGL_FALSEwłączenie prostokąta okrawającego
GL_SCISSOR_BOX4 x ZglGetlntegeryobszar renderinguwspółrzędne prostokąta okrawającego
GL_ALPHA_TESTBgllsEnabledGL_FALSEwłączenie testu kanału ala
GL_ALPHA_TEST_FUNCZ8glGetlntegeryGL_ALWAYSfunkcja testu kanału alfa
GL_ALPHA_TEST_REFR+glGetlntegery0wartość referencyjna testu kanału alfa
GL_STENCIL_TESTBgllsEnabledGL_FALSEwłączenie bufora szablonowego
GL_STENCIL_FUNCZ8glGetlntegeryGL_ALWAYSfunkcja testu przedniego bufora szablonowego
GL_STENCIL_VALUE_MASKZ+glGetlntegery1maska przedniego bufora szablonowego
GL_STENCIL_REFZ+glGetlntegery0wartość referencyjna przedniego bufora szablonowego
GL_STENCIL_FAILZ8glGetlntegeryGL_KEEPoperacja na przednim buforze szablonowym przy negatywnym wyniku testu szablonu
GL_STENCIL_PASS_DEPTH_FAILZ8glGetlntegeryGL_KEEPoperacja na przednim buforze szablonowym przy pozytywnym teście szablonu i negatywnym wyniku testu bufora głębokości

Tabela 30: Zmienne stanu - operacje na pikselach część II

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_STENCIL_PASS_DEPTH_PASSZ8glGetlntegeryGL_KEEPoperacja na przednim buforze szablonowym przy pozytywnym teście szablonu i pozytywnym wyniku testu bufora głębokości
GL_STENCIL_BACK_FUNCZ8glGetlntegeryGL_ALWAYSfunkcja testu tylnego bufora szablonowego
GL_STENCIL_BACK_VALUE_MASKZ+glGetlntegery1maska tylnego bufora szablonowego
GL_STENCIL_BACK_REFZ+glGetlntegery0wartość referencyjna tylnego bufora szablonowego
GL_STENCIL_BACK_FAILZ8glGetlntegeryGL_KEEPoperacja na tylnym buforze szablonowym przy negatywnym wyniku testu szablonu
GL_STENCIL_BACK_PASS_DEPTH_FAILZ8glGetlntegeryGL_KEEPoperacja na tylnym buforze szablonowym przy pozytywnym teście szablonu i negatywnym wyniku testu bufora głębokości
GL_STENCIL_BACK_PASS_DEPTH_PASSZ8glGetlntegeryGL_KEEPoperacja na tylnym buforze szablonowym przy pozytywnym teście szablonu i pozytywnym wyniku testu bufora głębokości

Tabela 31: Zmienne stanu - operacje na pikselach część III

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_DEPTH_TESTBgllsEnabledGL_FALSEwłączenie bufora głębokości
GL_DEPTH_FUNCZ8glGetlntegeryGL_LESSfunkcja testy bufora głębokości
GL_BLENDBgllsEnabledGL_FALSEwłączenie mieszania kolorów
GL_BLEND_SRC_RGB,
GL_BLEND_SRC
Z15glGetlntegeryGL_ONEwspółczynnik mieszania składowych RGB koloru źródłowego
GL_BLEND_SRC_ALPHAZ15glGetlntegeryGL_ONEwspółczynnik mieszania składowej alfa koloru źródłowego
GL_BLEND_DST_RGB,
GL_BLEND_DST
Z14glGetlntegeryGL_ZEROwspółczynnik mieszania składowych RGB koloru przeznaczenia
GL_BLEND_DST_ALPHAZ14glGetlntegeryGL_ZEROwspółczynnik mieszania składowej alfa koloru przeznaczenia
GL_BLEND_EQUATION_RGB,
GL_BLEND_EQUATION
Z5glGetlntegeryGL_FUNC_ADDrównanie mieszania kolorów dla składowych RGB
GL_BLEND_EQUATION_ALPHAZ5glGetlntegeryGL_FUNC_ADDrównanie mieszania kolorów dla składowej alfa
GL_BLEND_COLORCglGetFloaty0,0,0,0współczynniki mieszania składowych RGB A kolorów
GL_DITHERBgllsEnabledGL_TRUEwłączenie roztrząsania kolorów
GL_INDEX_LOGIC_OP,
GL_LOGIC_OP
BgllsEnabledGL_FALSEwłączenie operacji logicznych na bitach indesków kolorów
GL_COLOR_LOGIC_OPBgllsEnabledGL_FALSEwłączenie operacji logicznych na bitach składowych RGBA bufora kolorów
GL_LOGIC_OP_MODEZ16glGetlntegeryGL_COPYrodzaj operacji logicznej na bitach składowych RGBA (indeksów) kolorów

Tabela 32: Zmienne stanu - bufor ramki czesc I

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_DRAW_BUFFERO,
GL_DRAW_BUFFER1,
GL_DRAW_BUFFER2,
GL_DRAW_BUFFER3,
GL_DRAW_BUFFER4,
GL_DRAW_BUFFER5,
GL_DRAW_BUFFER6,
GL_DRAW_BUFFER7,
GL_DRAW_BUFFER8,
GL_DRAW_BUFFER9,
GL_DRAW_BUFFER10,
GL_DRAW_BUFFER11,
GL_DRAW_BUFFER12,
GLJ3RAW_BUFFER13,
GL_DRAW_BUFFER14,
GL_DRAW_BUFFER15
1+ x Z10glGetlntegeryGL_NONE (poza kolorem 0)docelowe bufory kolorów (dla kolorów nr i)
GL_DRAW_BUFFERZ10*glGetlntegeryGL_FRONT (pojedynczy bufor), GL_BACK (podwójny bufor)docelowy bufor kolorów (dla koloru nr 0)

Tabela 33: Zmienne stanu - bufor ramki część II

zmienna stanutypfunkcja pobierającawartość początkowaopis
GLJNDEX_WRITEMASKZ+glGetlntegery1maska bitowa zapisu indeksów kolorów w trybie indeksowym
GL_COLOR_WRITEMASK4 x BglGetBooleanyGL_TRUEznaczniki zapisu składowych RGBA do bufora kolorów
GL_DEPTH_WRITEMASKBglGetBooleanyGL_TRUEznacznik zapisu do bufora głębokości
GL_STENCIL_WRITEMASKZ+glGetlntegery1maska bitowa zapisu przedniego bufora szablonowego
GL_STENCIL_BACK_WRITEMASKZ+glGetlntegery1maska bitowa zapisu tylnego bufora szablonowego
GL_COLOR_CLEAR_VALUECglGetFloaty0,0,0,0wartości składowych RGBA czyszczące bufor koloru
GLJNDEX_CLEAR_VALUECIglGetFloaty0numer indeksu koloru czyszczącego bufor koloru w trybie indeksowym
GL_DEPTH_CLEAR_VALUER+glGetlntegery1wartość czyszcząca bufor głębokości
GL_STENCIL_CLEAR_VALUEZ+glGetlntegery0wartość czyszcząca bufor szablonowy
GL_ACCUM_CLEAR_VALUE4 x R+glGetFloaty0,0,0,0wartości czyszczące bufor akumulacyjny

Tabela 34: Zmienne stanu - piksele część I

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_UNPACK_SWAP_BYTESBglGetBooleanyGL_FALSEkolejność bajtów przy odczycie danych
GL_UNPACK_LSB_FIRSTBglGetBooleanyGL_FALSEkolejność odczytu bitów w bajcie danych
GL_UNPACKJMAGE_HEIGHTZ+glGetlntegery0wysokość odczytywanych obrazów tekstury trójwymiarowej
GL_UNPACK_SKIP_IMAGESZ+glGetlntegery0ilość początkowych obrazów pomijanych przy odczycie tekstury trójwymiarowej
GL_UNPACK_ROW_LENGTHz+glGetlntegery0szerokość odczytywanych danych
GL_UNPACK_SKIP_ROWSz+glGetlntegery0ilość początkowych wierszy pomijanych podczas odczytu danych
GL_UNPACK_SKIP_PIXELSz+glGetlntegery0ilość początkowych pikseli w wierszu pomijanych podczas odczytu danych
GL_UNPACK_ALIGNMENTz+glGetlntegery4wielokrotność długości pojedynczego wiersza odczytywanych danych
GL_PACK_SWAP_BYTESBglGetBooleanyGL_FALSEkolejność bajtów przy zapisie danych
GL_PACK_LSB_FIRSTBglGetBooleanyGL_FALSEkolejność zapisu bitów w bajcie danych
GL_PACKJMAGE_HEIGHTz+glGetlntegery0wysokość zapisywanych obrazów tekstury trójwymiarowej
GL_PACK_SKIPJMAGESz+glGetlntegery0ilość początkowych obrazów pomijanych przy zapisie tekstury trójwymiarowej
GL_PACK_ROW_LENGTHz+glGetlntegery0szerokość zapisywanych danych
GL_PACK_SKIP_ROWSz+glGetlntegery0ilość początkowych wierszy pomijanych podczas zapisu danych
GL_PACK_SKIP_PIXELSz+glGetlntegery0ilość początkowych pikseli w wierszu pomijanych podczas zapisu danych
GL_PACK_ALIGNMENTz+glGetlntegery4wielokrotność długości pojedynczego wiersza zapisywanych danych

Tabela 35: Zmienne stanu - piksele część II

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_PIXEL_PACK_BUFFER_BINDINGZ+glGetlntegery0bieżące dowiązanie obiektu buforowego zapisu (spakowania) danych pikseli
GL_PIXEL_UNPACK_BUFFER_BINDINGZ+glGetlntegery0bieżące dowiązanie obiektu buforowego odczytu (rozpakowania) danych pikseli
GL_MAP_COLORBglGetBooleanyGL_FALSEznacznik przekształceń składowych pikseli przy użyciu mapy przekształceń
GL_MAP_STENCILBglGetBooleanyGL_FALSEznacznik przekształceń elementów bufora szablonowego przy użyciu mapy przekształceń
GL_INDEX_SHIFTZglGetlntegery0wartość przesunięcia bitowego indeksu koloru
GL_INDEX_OFFSETZglGetlntegery0wartość przesunięcia (arytmetycznego) indeksu koloru
GL_RED_SCALE,
GL_GREEN_SCALE,
GL_BLUE_SCALE,
GL_ALPHA_SCALE,
GL_DEPTH_SCALE
RglGetFloaty1współczynniki skalowania składowych R,G,B i A pikseli oraz elementów bufora głębokości (D)
GL_RED_BIAS,
GL_GREEN_BIAS,
GL_BLUE_BIAS,
GL_ALPHA_BIAS,
GL_DEPTH_BIAS
RglGetFloaty0wartość przesunięcia składowych R,G,B i A pikseli oraz elementów bufora głębokości (D)

Tabela 36: Zmienne stanu - piksele część III

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_COLOR_TABLEBgllsEnabledGL_FALSEwłączenie tablicy kolorów
GL_POST_CONVOLUTION_COLOR_TABLEBgllsEnabledGL_FALSEwłączenie tablicy kolorów po filtrze splotowym
GL_POST_COLOR_MATRIX_COLOR_TABLEBgllsEnabledGL_FALSEwłączenie tablicy kolorów po macierzy kolorów
GL_COLOR_TABLEIglGetColorTable-dane tablicy kolorów
GL_POST_CONVOLUTION_COLOR_TABLEIglGetColorTable-dane tablicy kolorów po filtrze splotowym
GL_POST_COLOR_MATRLX_COLOR_TABLEIglGetColorTable-dane tablicy kolorów po macierzy kolorów
GL_COLOR_TABLE_FORMAT2 x 3 x Z42glGetColorTable-ParameterivGL_RGBAformaty tablic kolorów
GL_COLOR_TABLE_WIDTH2 x 3 x Z+glGetColorTable-Parameteriv0rozmiary tablic kolorów
GL_COLOR_TABLE_RED_SIZE,
GL_COLOR_TABLE_GREEN_SIZE,
GL_COLOR_TABLE_BLUE_SIZE,
GL_COLOR_TABLE_ALPHA_SIZE,
GL_COLOR_TABLE_LUMINANCE_SIZE,
GL_COLOR_TABLE_INTENSITY_SIZE
6 x 2 x 3 x 2+glGetColorTableParameteriy0ilość bitów składowych R,G,B,A,L i I macierzy kolorów

Tabela 37: Zmienne stanu - piksele część IV

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_COLOR_TABLE_SCALE3 x R4glGetColorTable-Parameteriy1,1,1,1współczynniki skalowania składowych pikseli tablicy kolorów
GL_COLOR_TABLE_BIAS3 x R4glGetColorTable-Parameteriy0,0,0,0wartości przesunięcia składowych pikseli tablicy kolorów
GL_CONVOLUTION_1DBgllsEnabledGL_FALSEwłączenie jednowymiarowego filtra splotowego
GL_CONVOLUTION_2DBgllsEnabledGL_FALSEwłączenie dwuwymiarowego filtra splotowego
GL_SEPARABLE_2DBgllsEnabledGL_FALSEwłączenie dwuwymiarowego filtra splotowego określanego przez dwie maski jednowymiarowe
GL_CONVOLUTION_1D,
GL_CONVOLUTION_2D
2 x 1glGetConyolution-Filter-maska filtra splotowego jedno i dwuwymiarowego
GL_SEPARABLE_2D2 x 1glGetSeparableFilter-dwie jednowymiarowe maski filtra dwuwymiarowego

Tabela 38: Zmienne stanu - piksele część V

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_CONVOLUTION_BORDER_COLOR3 x CglGetConyolutionParameterfy0,0,0,0składowe RGBA koloru brzegu obrazu używane przy filtrach splotowych
GL_CONVOLUTION_BORDER_MODE3 x Z4glGetConyolutionParameteriyGL_REDUCEsposób obsługi brzegu obrazu przez filtr splotowy
GL_CONVOLUTION_FILTER_SCALE3 x R4glGetConyolutionParameterfy1,1,1,1współczynniki skalowania wartości maski filtra
GL_CONVOLUTION_FILTER_BIAS3 x R4glGetConyolutionParameterfy0,0,0,0wartości przesunięcia współczynników maski filtra splotowego
GL_CONVOLUTION_FORMAT3 x Z42glGetConyolutionParameteriyGL_RGBAformat danych maski filtra splotowego
GL_CONVOLUTION_WIDTH3 x Z+glGetConyolutionParameteriy0szerokość maski filtra splotowego
GL_CONVOLUTION_HEIGHT2 x Z+glGetConyolutionParameteriy0wysokość maski filtra splotowego

Tabela 39: Zmienne stanu - piksele część VI

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_POST_CONVOLUTION_RED_SCALE,
GL_POST_CONVOLUTION_GREEN_SCALE,
GL_POST_CONVOLUTION_BLUE_SCALE,
GL_POST_CONVOLUTION_ALPHA_SCALE
RglGetFloatv1współczynniki skalowania składowych R,G,B i A pikseli po obliczeniu filtra splotowego
GL_POST_CONVOLUTION_RED_BIAS,
GL_POST_CONVOLUTION_GREEN_BIAS,
GL_POST_CONVOLUTION_BLUE_BIAS,
GL_POST_CONVOLUTION_ALPHA_BIAS
RglGetFloatv0wartość przesunięcia składowych R,G,B i A pikseli po obliczeniu filtra splotowego
GL_POST_COLOR_MATRIX_RED_SCALE,
GL_POST_COLOR_MATRIX_GREEN_SCALE,
GL_POST_COLOR_MATRIX_BLUE_SCALE,
GL_POST_COLOR_MATRIX_ALPHA_SCALE
RglGetFloatv1współczynnik skalowania składowych R,G,B i A pikseli po przemnożeniu przez macierz koloru
GL_POST_COLOR_MATRIX_RED_BIAS,
GL_POST_COLOR_MATRIX_GREEN_BIAS,
GL_POST_COLOR_MATRIX_BLUE_BIAS,
GL_POST_COLOR_MATRIX_ALPHA_BIAS
RglGetFloatv0wartość przesunięcia składowych R,G,B i A pikseli po przemnożeniu przez macierz koloru

Tabela 40: Zmienne stanu - piksele część VII

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_HISTOGRAMBgllsEnabledGL_FALSEznacznik generowania tablicy histogramu
GL_HSTOGRAMIglGetHistogram-dane tablicy histogramu
GL_HISTOGRAM_WIDTH2 x Z+glGetHistogramParameteriv0ilość elementów tablicy histogramu
GL_HISTOGRAM_FORMAT2 x Z42glGetHistogramParameterivGL_RGBAwewnętrzny format elementów tablicy histogramu
GL_HISTOGRAM_RED_SIZE,
GL_HISTOGRAM_GREEN_SIZE,
GL_HISTOGRAM_BLUE_SIZE,
GL_HISTOGRAM_ALPHA_SIZE,
GL_HISTOGRAM_LUMINANCE_SIZE
5 x 2 x Z+glGetHistogramParameteriy0ilość bitów składowych R, G, B, A i L elementów tablicy histogramu
GL_HISTOGRAM_SINKBglGetHistogramParameteriyGL_FALSEznacznik przekazywania informacji 0 grupach pikseli do operacji minimum-maksimum

Tabela 41: Zmienne stanu - piksele część VIII

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_MINMAXBgllsEnabledGL_FALSEznacznik generowania wartości operacji minimum-maksimum
GL_MINMAXRnglGetMinmax(M,M,M,M),
(m,m,m,m)
tablica minimum-maksimum
GL_MINMAX_FORMATZ42glGetMinmaxParameteriyGL_RGBAformat danych tablicy minimum-maksimum
GL_MINMAX_SINKBglGetMinmaxParameteriyGL_FALSEznacznik przekazywania przez operację minimum-maksimum informacji o grupach pikseli
GL_ZOOM_XRglGetFloaty1współczynnik skalowania pikseli w poziomie
GL_ZOOM_YRglGetFloaty1współczynnik skalowania pikseli w pionie
GL_PIXEL_MAP_I_TO_R,
GL_PIXEL_MAP_I_TO_G,
GL_PIXEL_MAP_I_TO_B,
GL_PIXEL_MAP_I_TO_A,
GL_PIXEL_MAP_R_TO_R,
GL_PIXEL_MAP_G_TO_G,
GL_PIXEL_MAP_B_TO_B,
GL_PIXEL_MAP_A_TO_A
8 x 32* x RglGetPixelMap0mapy przekształceń pikseli w formacie RGBA
GL_PIXEL_MAPJ_TO_I,
GL_PIXEL_MAP_S_TO_S,
2 x 32* x ZglGetPixelMap0mapy przekształceń pikseli w formacie indeksowym

Tabela 42: Zmienne stanu - piksele część IX

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_PIXEL_MAP_I_TO_I_SIZE,
GL_PIXEL_MAP_S_TO_S_SIZE,
GL_PIXEL_MAP_I_TO_R_SIZE,
GL_PLXEL_MAP_I_TO_G_SIZE,
GL_PIXEL_MAP_I_TO_B_SIZE,
GL_PIXEL_MAP_I_TO_A_SIZE,
GL_PLXEL_MAP_R_TO_R_SIZE,
GL_PIXEL_MAP_G_TO_G_SIZE,
GL_PIXEL_MAP_B_TO_B_SIZE,
GL_PIXEL_MAP_A_TO_A_SIZE
Z+glGetlntegery1rozmiary map przekształceń pikseli
GL_READ_BUFFERZ3glGetlntegeryGL_FRONT (pojedynczy bufor),
GL_BACK (podwójny bufor)
źródłowy bufor kolorów

Tabela 43: Zmienne stanu - ewaluatory część I

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_ORDER9 x Z8*glGetMapiy1rząd funkcji obliczeniowej ewaluatora jednowymiarowego
GL_ORDER9 x 2 x Z8*glGetMapiy1,1rzędy funkcji obliczeniowych ewaluatora dwuwymiarowego
GL_COEFF9 x 8* x RnglGetMapfy-punkty kontrolne mapy jednowymiarowej
GL_COEFF9 x 8* x 8* x RnglGetMapfy-punkty kontrolne mapy dwuwymiarowej
GL_DOMAIN9 x 2 x RglGetMapfy-dziedzina jednowymiarowej funkcji parametrycznej
GL_DOMAIN9 x 4 x RglGetMapfy-dziedzina jednowymiarowej funkcji parametrycznej
GL_MAP1_VERTEX_3,
GL_MAP1_VERTEX_4,
GL_MAP1_INDEX,
GL_MAP1_COLOR_4,
GL_MAP1_NORMAL,
GL_MAP1_TEXTURE_COORD_1,
GL_MAP1_TEXTURE_COORD_2,
GL_MAP1_TEXTURE_COORD_3,
GL_MAP1_TEXTURE_COORD_4
9 x BgllsEnabledGL_FALSEznaczniki generowania określonych rodzajów wartości przez ewaluator jednowymiarowy

Tabela 44: Zmienne stanu - ewaluatory część II

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_MAP2_VERTEX_3,
GL_MAP2_VERTEX_4,
GL_MAP2_INDEX,
GL_MAP2_COLOR_4,
GL_MAP2_NORMAL,
GL_MAP2_TEXTURE_COORD_1,
GL_MAP2_TEXTURE_COORD_2,
GL_MAP2_TEXTURE_COORD_3,
GL_MAP2_TEXTURE_COORD_4
9 x BgllsEnabledGL_FALSEznaczniki generowania określonych rodzajów wartości przez ewaluator dwuwymiarowy
GL_MAP1_GRID_DOMAIN2 x RglGetFloatv0,1przedział wartości parametrów funkcji parametrycznej, dla których generowane są punkty siatki mapy jednowymiarowej
GL_MAP2_GRID_DOMAIN4 x RglGetFloatv0,1;0,1przedział wartości parametrów funkcji parametrycznej, dla których generowane są punkty siatki mapy dwuwymiarowej
GL_MAP1_GRID_SEGMENTSZ+glGetFloatv1ilość generowanych punktów siatki mapy jednowymiarowej
GL_MAP2_GRID_SEGMENTS2 x Z+glGetFloatv1,1ilość generowanych punktów siatki mapy dwuwymiarowej
GL_AUTO_NORMALBgllsEnabledGL_FALSEznacznik automatycznego generowania wektorów normalnych

Tabela 45: Zmienne stanu - obiekty programu cieniowania

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_SHADER_TYPEZ2glGetShaderiy-rodzaj programu cieniowania
GL_DELETE_STATUSBglGetShaderiyGL_FALSEznacznik obiektu zaznaczonego do usunięcia
GL_COMPILE_STATUSBglGetShaderiyGL_FALSEstatus ostatniej kompilacji programu cieniowania
GL_INFO_LOG_LENGTHZ+glGetShaderiy0ilość znaków dziennika informacyjnego (logu)
GL_SHADER_SOURCE_LENGTHZ+glGetShaderiy0ilość znaków tekstu źródłowego programu cieniowania

Tabela 46: Zmienne stanu - obiekty programów cieniowania

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_CURRENT_PROGRAMZ+glGetlntegery0identyfikator bieżącego obiektu programów cieniowania
GL_DELETE_STATUSBglGetProgramiyGL_FALSEznacznik obiektu programów zaznaczonego do usunięcia
GL_LINK_STATUSBglGetProgramiyGL_FALSEwynik procesu konsolidacji programów cieniowania
GL_VALIDATE_STATUSBglGetProgramiyGL_FALSEwynik sprawdzania poprawności programów cieniowania
GL_ATTACHED_SHADERSZ+glGetProgramiy0ilość dołączonych programów cieniowania
GLJNFO_LOG_LENGTHZ+glGetProgramiy0ilość znaków dziennika informacyjnego (logu)
GL_ACTIVE_UNIFORMSZ+glGetProgramiy0ilość aktywnych zmiennych jednorodnych
GL_ACTIVE_UNIFORM_MAX_LENGTHZ+glGetProgramiy0ilość znaków najdłuższej nazwy zmiennej jednorodnej
GL_ACTIVE_ATTRIBUTESZ+glGetProgramiy0ilość aktywnych zmiennych atrybutów wierzchołków
GL_ACTIVE_ATTRIBUTE_MAX_LENGTHZ+glGetProgramiy0ilość znaków najdłuższej nazwy aktywnej zmiennej atrybutu wierzchołków

Tabela 47: Zmienne stanu - programy cieniowania wierzchołków

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_VERTEX_PROGRAM_TWO_SIDEBgllsEnabledGL_FALSEznacznik obliczania przez program cieniowania wierzchołków danych dla przednich i tylnych stron prymitywów (poza liniami i punktami)
GL_CURRENT_VERTEX_ATTRIB16+ x R4glGetVertexAttrib0,0,0,1bieżąca wartość atrybutu wierzchołka (poza atrybutami w tablicy o indeksie 0)
GL_VERTEX_PROGRAM_POINT_SIZEBgllsEnabledGL_FALSEznacznik obliczania wielkości punktu przez program cieniowania wierzchołków

Tabela 48: Zmienne stanu - wskazówki jakości renderingu

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_PERSPECTIVE_CORRECTION_HINTZ3glGetlntegeryGL_DONT_CAREkorekcja perspektywy przy renderingu tekstur
GL_POINT_SMOOTH_HINTZ3glGetlntegeryGL_DONT_CAREjakość antyaliasingu punktów
GL_LINE_SMOOTH_HINTZ3glGetlntegeryGL_DONT_CAREjakość antyaliasingu linii
GL_POLYGON_SMOOTH_HINTZ3glGetlntegeryGL_DONT_CAREjakość antyaliasingu wielokątów
GL_FOG_HINTZ3glGetlntegeryGL_DONT_CAREjakość mgły
GL_GENERATE_MIPMAP_HINTZ3glGetlntegeryGL_DONT_CAREjakość generowania mipmap
GL_TEXTURE_COMPRESSION_HINTZ3glGetlntegeryGL_DONT_CAREjakość kompresji tekstur
GL_FRAGMENT_SHADER_DERIVATIVEZ3glGetlntegeryGL_DONT_CAREdokładność wbudowanych funkcji dFdx, dFdy i fwidth procesora fragmentów

Tabela 49: Zmienne stanu zalezne od implementacji część I

zmienna stanutypfunkcja pobierającawartość minimalnaopis
GL_MAX_LIGHTSZ+glGetlntegery8maksymalna ilość źródeł światła
GL_MAX_CLIP_PLANESZ+glGetlntegery6maksymalna ilość płaszczyzn obcinania
GL_MAX_COLOR_MATRIX_STACK_DEPTHZ+glGetlntegery2maksymalna głębokość stosu macierzy koloru
GL_MAX_MODELVIEW_STACK_DEPTHZ+glGetlntegery32maksymalna głębokość stosu macierzy modelowania
GL_MAX_PROJECTION_STACK_DEPTHZ+glGetlntegery2maksymalna głębokość stosu macierzy rzutowania
GL_MAX_TEXTURE_STACK_DEPTHZ+glGetlntegery2maksymalna głębokość stosu macierzy tekstury
GL_SUBPIXEL_BITSZ+glGetlntegery4ilość bitów precyzji podpikseli ekranu
GL_MAX_3D_TEXTURE_SIZEZ+glGetlntegery16maksymalny rozmiar tekstury trójwymiarowej
GL_MAX_TEXTURE_SIZEZ+glGetlntegery64maksymalny rozmiar tekstury jedno i dwuwymiarowej
GL_MAX_TEXTURE_LOD_BIASR+glGetFloaty2moduł maksymalnego przesunięcia poziomu szczegółowości (LOD) mipmap
GL_MAX_CUBE_MAP_TEXTURE_SIZEZ+glGetlntegery16maksymalny rozmiar tekstury sześciennej

Tabela 50: Zmienne stanu zalezne od implementacji część II

zmienna stanutypfunkcja pobierającawartość minimalnaopis
GL_MAX_PIXEL_MAP_TABLEZ+glGetlntegery32maksymalna ilość elementów tablicy przekształceń mapy pikselowej
GL_MAX_NAME_STACK_DEPTHZ+glGetlntegery64maksymalna głębokość stosu nazw
GL_MAX_LIST_NESTINGZ+glGetlntegery64maksymalne zagnieżdżenie wywołań list wyświetlania
GL_MAX_EVAL_ORDERZ+glGetlntegery8maksymalna ilość punktów kontrolnych krzywej
GL_MAX_VIEWPORT_DIMS2 x Z+glGetlntegeryrozmiary urządzenia wyświetlającegomaksymalna wielkość obszaru renderingu
GL_MAX_ATTRIB_STACK_DEPTHZ+glGetlntegery16maksymalna głębokość stosu atrybutów po stronie serwera
GL_MAX_CLIENT_ATTRIB_STACK_DEPTHZ+glGetlntegery16maksymalna głębokość stosu atrybutów po stronie klienta
GL_AUX_BUFFERSZ+glGetlntegery0ilość pomocniczych buforów koloru
GL_RGBA_MODEBglGetBooleany-wartość GL_TRUE, gdy bufor kolorów pracuje w trybie RGB (A)
GL_INDEX_MODEBglGetBooleany-wartość GL_TRUE, gdy bufor kolorów pracuje w trybie indeksowym

Tabela 51: Zmienne stanu zalezne od implementacji część III

zmienna stanutypfunkcja pobierającawartość minimalnaopis
GL_DOUBLEBUFFERBglGetBooleany-wartość GL.TRUE, gdy bufor koloru jest podwójnie buforowany
GL_STEREOBglGetBooleany-wartość GL.TRUE, gdy bufor koloru pracuje w trybie stereoskopowym
GL_ALIASED_POINT_SIZE_RANGE2 x R+glGetFloaty1,1zakres wielkości punktów bez antyaliasingu
GL_SMOOTH_POINT_SIZE_RANGE,
GL_POINT_SIZE_RANGE
2 x R+glGetFloaty1,1zakres wielkości punktów z antyaliasingiem
GL_SMOOTH_POINT_SIZE_GRANULARITY,
GL_POINT_SIZE_GRANULARITY
R+glGetFloaty-krok zmiany wielkości punktów z antyaliasingiem
GL_ALIASED_LINE_WIDTH_RANGE2 x R+glGetFloaty1,1minimalna i maksymalna szerokość linii bez antyaliasingu
GL_SMOOTH_LINE_WIDTH_RANGE,
GL_LINE_WIDTH_RANGE
2 x R+glGetFloaty1,1minimalna i maksymalna szerokość linii z antyaliasingiem
GL_SMOOTH_LINE_WIDTH_GRANULARITY,
GL_LINE_WIDTH_GRANULARITY
R+glGetFloaty-krok zmiany szerokości linii z antyaliasingiem

Tabela 52: Zmienne stanu zależne od implementacji część IV

zmienna stanutypfunkcja pobierającawartość minimalnaopis
GL_MAX_CONVOLUTION_WIDTH3 x Z+glGetConyolution-Parameteriy3maksymalna szerokość filtra splotowego
GL_MAX_CONVOLUTION_HEIGHT2 x Z+glGetConyolution-Parameteriy3maksymalna wysokość filtra splotowego
GL_MAX_ELEMENTS_INDICESZ+glGetlntegery-rekomendowana maksymalna ilość indeksów tablic wierzchołków (funkcja glDrawRangeElements)
GL_MAX_ELEMENTS_VERTICESZ+glGetlntegery-rekomendowana maksymalna ilość elementów tablic wierzchołków (funkcja glDrawRangeElements)
GL_SAMPLE_BUFFERSZ+glGetlntegery0ilość buforów wielopróbkowania
GL_SAMPLESZ+glGetlntegery0wielkość maski pokrycia w wielopróbkowaniu
GL_COMPRESSED_TEXTURE_FORMATS0 x ZglGetlntegery-obsługiwane formaty kompresji tekstur
GL_NUM_COMPRESSED_TEXTURE_FORMATSZglGetlntegery0ilość obsługiwanych formatów kompresji tekstur
GL_QUERY_COUNTER_BITSZ+glGetQueryivzależnie od maks. rozmiarów okna renderinguliczba bitów licznika analizy przesłonięć

Tabela 53: Zmienne stanu zależne od implementacji część V

zmienna stanutypfunkcja pobierającawartość minimalnaopis
GL_EXTENSIONSSglGetString-lista obsługiwanych rozszerzeń OpenGL
GL_RENDERERSglGetString-nazwa urządzenia renderującego
GL_SHADING_LANGUAGE_VERSIONSglGetString-numer wersji obsługiwanego języka GLSL
GL_VENDORSglGetString-autor implementacji OpenGL
GL_VERSIONSglGetString-numer wersji implementacji OpenGL
GL_MAX_TEXTURE_UNITSZ+glGetlntegery2ilość statycznych (nieprogramowalnych) jednostek teksturujących
GL_MAX_VERTEX_ATTRIBSZ+glGetlntegery16ilość aktywnych atrybutów wierzchołków
GL_MAX_VERTEX_UNIFORM_COMPONENTSZ+glGetlntegery512ilość zmiennych jednorodnych dla programów cieniowania wierzchołków
GL_MAX_VARYING_FLOATSZ+glGetlntegery32ilość składowych interpolowanych zmiennych przekazywanych z programu cieniowania wierzchołków do programu cieniowania fragmentów
GL_MAX_COMBINED_TEXTURE_IMAGE_UNITSZ+glGetlntegery2ilość programowalnych jednostek teksturujących
GL_MAX_VERTEX_TEXTURE_IMAGE_UNITSZ+glGetlntegery0ilość programowalnych jednostek teksturujących dostępnych dla programów cieniowania wierzchołków
GL_MAX_TEXTURE_IMAGE_UNITSZ+glGetlntegery2ilość programowalnych jednostek teksturujących dostępnych dla programów cieniowania wierzchołków

Tabela 54: Zmienne stanu zależne od implementacji część VI

zmienna stanutypfunkcja pobierającawartość minimalnaopis
GL_MAX_TEXTURE_COORDSZ+glGetlntegery2ilość zbiorów współrzędnych tekstur
GL_MAX_FRAGMENT_UNIFORM_COMPONENTSZ+glGetlntegery64ilość zmiennych jednorodnych dla programów cieniowania wierzchołków
GL_MAX_DRAW_BUFFERSZ+glGetlntegery1+ilość aktywnych docelowych buforów koloru
GL_RED_BITS, GL_GREEN_BITS,
GL_BLUE_BITS, GL_ALPHA_BITS,
GLJNDEX_BITS
Z+glGetlntegery-ilość bitów składowych RGBA (lub numerów indeksów) bufora kolorów
GL_DEPTH_BITSZ+glGetlntegery-ilość bitów elementów bufora głębokości
GL_STENCIL_BITSZ+glGetlntegery-ilość bitów elementów bufora akumulacyjnego
GL_ACCUM_RED_BITS,
GL_ACCUM_GREEN_BITS,
GL_ACCUM_BLUE_BITS,
GL_ACCUM_ALPHA_BITS
Z+glGetlntegery-ilość bitów składowych RGBA bufora akumulacyjnego

Tabela 55: Pozostałe zmienne stanu

zmienna stanutypfunkcja pobierającawartość początkowaopis
GL_LIST_BASEZ+glGetlntegery0wartość bazowa identyfikatora list wyświetlania
GL_LISTJNDEXZ+glGetlntegery0numer listy wyświetlania będącej w trakcie budowy
GL_LIST_MODEZ+glGetlntegery0tryb tworzenia listy wyświetlania będącej w trakcie budowy
GL_ATTRIB_STACK_DEPTHZ+glGetlntegery0głębokość stosu atrybutów serwera OpenGL
GL_CLIENT_ATTRIB_STACK_DEPTHZ+glGetlntegery0głębokość stosu atrybutów klienta OpenGL
GL_NAME_STACK_DEPTHZ+glGetlntegery0maksymalna głębokość stosu nazw
GL_RENDER_MODEZ3glGetlntegeryGL_RENDERtryb renderingu
GL_SELECTION_BUFFER_POINTERYglGetPointery0wskaźnik na dane bufora selekcji
GL_SELECTION_BUFFER_SIZEZ+glGetlntegery0rozmiar bufora selekcji
GL_FEEDBACK_BUFFER_POINTERYglGetPointery0wskaźnik na dane bufora sprzężenia zwrotnego
GL_FEEDBACK_BUFFER_SIZEZ+glGetlntegery0rozmiar bufora sprzężenia zwrotnego
GL_FEEDBACK_BUFFER_TYPEZ5glGetlntegeryGL_2Drodzaj informacji zwracanych w buforze sprzężenia zwrotnego
GL_CURRENT_QUERYZ+glGetQueryiv0identyfikator aktywnego obiektu analizy przesłonięć

Program przykładowy

Tabele 49 - 54, przedstawiają zmienne stanu zależne od implementacji biblioteki OpenGL. Program przykładowy (plik implementacja opengl.cpp) pokazuje wartości wszystkich zmiennych stanu zależnych od implementacji, których obsługę zawiera bieżąca implementacja. Z uwagi na dużą ilość zmiennych program wyświetla je w trzech odrębnych oknach. Wyniki działania programu dla karty graficznej ATI Radeon X700 oraz biblioteki Mesa 3D w wersji 6.0 przedstawiono na rysunkach 1 - 6.
Rysunek 1. Program Implementacja OpenGL - Radeon X700 strona 1
Rysunek 1. Program Implementacja OpenGL - Radeon X700 strona 1
Rysunek 2. Program Implementacja OpenGL - Radeon X700 strona 2
Rysunek 2. Program Implementacja OpenGL - Radeon X700 strona 2

Plik implementacja_opengl.cpp

Rysunek 3. Program Implementacja OpenGL - Radeon X700 strona 3
Rysunek 3. Program Implementacja OpenGL - Radeon X700 strona 3
Rysunek 4. Program Implementacja OpenGL - Mesa 6.0 strona 1
Rysunek 4. Program Implementacja OpenGL - Mesa 6.0 strona 1
Rysunek 5. Program Implementacja OpenGL - Mesa 6.0 strona 2
Rysunek 5. Program Implementacja OpenGL - Mesa 6.0 strona 2
Rysunek 6. Program Implementacja OpenGL - Mesa 6.0 strona 3
Rysunek 6. Program Implementacja OpenGL - Mesa 6.0 strona 3
Uwaga!
Plik implementacja_opengl.cpp do pobrania tutaj: TODO: adres
Poprzedni dokument Następny dokument
Optymalizacja Kurs SDL, C++