glEnable

Aus DGL Wiki
Version vom 9. Juli 2004, 12:05 Uhr von Sascha Willems (Diskussion | Beiträge) ()

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

glEnable, glDisable


Name

gEnable, glDisable - Aktiviert bzw. deaktiviert eine server-seitige Fähigkeit.


Delphi-Spezifikation

procedure glEnable(cap : TGLEnum);
procedure glDisable(cap : TGLEnum);


Parameter

cap Symbolische Konstante der zu (de)aktivierenden GL-Fähigkeit.


Beschreibung

glEnable und glDisable aktivieren bzw. deaktivieren verschiedene Fähigkeiten, deren momentane Einstellung entweder mit glIsEnabled oder glGet ermittelt werden kann. Die Vorgabe für alle Einstellungen (Ausgenommen GL_DITHER und GL_FALSE, die beide GL_TRUE sind) ist GL_FALSE.

Beide Befehle bekommen als Argument die symbolische Konstante der OpenGL-Fähigkeit übergeben die umgeschaltet werden soll. Gültig sind dabei folgende Werte :

GL_ALPHA_TEST

Wenn aktiviert, wird der Alphatest ausgeführt. Siehe glAlphaFunc.

GL_AUTO_NORMAL

Wenn aktiviert, werden automatisch Normalen generiert wenn GL_MAP2_VERTEX_3 oder GL_MAP2_VERTEX_4 zur Erstellung von Vertices genutzt werden. Siehe glMap2.

GL_BLEND

Wenn aktiviert werden ankommenden RGBA-Farben mit den Werten die sich im Farbpuffer befinden vermischt. Siehe glBlendFunc.

GL_CLIP_PLANEi

Wenn aktiviert, wird die Geometrie gegen die nutzerdefinierte Schnittfläche i geschnitten. Siehe glClipPlane.

GL_COLOR_LOGIC_OP

Wenn aktiviert, werden die momentan gewählten logischen Operationen auf ankommenden RGBA-Farben und Farbpuffer-Werte angewendet. Siehe glLogicOp.

GL_COLOR_MATERIAL

Wenn aktiviert, benutzen einer oder mehrere Materialparameter die aktuelle Farbeinstellung. Siehe glColorMaterial.

GL_COLOR_TABLE_EXT

Wenn aktiviert, werden Farbbild-Komponenenten auf eine Farbtabelle verteilt die vor einer Windiung stattfindet. Siehe glColorTableEXT.

GL_CONVOLUTION_1D_EXT

Wenn aktiviert, wird die ein-dimensionale Windung während des Pixeltransfers durchgeführt. Siehe glConvolutionFilter1DEXT.

GL_CONVOLUTION_2D_EXT

Wenn aktiviert, wird die zwei-dimensionale Windung während des Pixeltransfers durchgeführt. Siehe glConvolutionFilter2DEXT.

GL_CULL_FACE

Wenn aktiviert, werden Polygone entsprechend ihrer Zeichnungsrichtung (Wicklung wäre der korrekt Ausdruck --Sascha Willems 13:05, 9. Jul 2004 (CEST)) (in Fensterkoordinaten) ausgeschlossen. Siehe glCullFace.

GL_DEPTH_TEST

Wenn aktiviert werden Tiefenvergleiche getätigt und der Tiefenpuffer aktualisiert. Man beachte das selbst dann, wenn ein Tiefenpuffer existiert und die Tiefenmaske ungleich null ist, der Tiefenpuffer nicht aktiviert wird wenn der Teifentest inaktiv ist. Siehe glDepthFun und glDepthRange.

GL_DITHER

Wenn aktiviert, werden Farbkomponenten oder -indizes getdithert (eine Deutsche Übersetzung von "dithern" wäre hier nicht anzuraten --Sascha Willems 13:05, 9. Jul 2004 (CEST)) bevor sie in den Farbpuffer geschrieben werden.

GL_FOG

Wenn aktiviert, wird die Nebelfarbe in den Farbwert nach der Texturierung gemischt. Siehe glFog.

GL_FOG_OFFSET_EXT

Wenn aktiviert wird ein Versatz zum Z-Wert, der zur Berechnung des Nebels genutzt wird, addiert. Siehe glFog.

GL_INDEX_LOGIC_OP

Wenn aktiviert, werden die momentan gewählten logischen Operationen auf einkommende Index- und Farbpufferindizes angewandt. Siehe glLogicOp.

GL_INTERLACE_EXT

Wenn aktiviert, wird ein Bild als interlaced (zu Deutsch : verschachtelt) angesehen. Jede Reihe m des Bildes wird behandelt als wäre sie Reihe 2 * m. Wenn das Quellbild also eine Höhe von h Reihen hat, erweitert dies die Höhe des Bildes effektiv auf 2 * h - 1. Wo Fehler durch die Angabe ungültiger Bilddimensionen entstehen (z.B. glTexImage2D, wird die resultierende Dimension geprüft, nicht die Dimension des Quellbildes. Dieses Token hat keinen Effekt auf Bild-Leseoperationen (Siehe GL_INTERLACE_READ_I3D.

GL_INTERLACE_READ_I3D

Wenn aktiviert, werden Bilder im Framepuffer als interlaced angesehen. Jede Reihe m des Bildes wird behandelt als wäre sie Reihe 2 * m. Wenn das Bild im Framepuffer eine Höhe von h Reiehen hat, wird dieses effektiv auf eine Höhe von 2 * h - 1 vergrößert. Dieses Token betrifft nur glReadPixels und glCopyPixels.

GL_LIGHTi

Wenn aktiviert, wird die Lichtquelle i in die Berechnung der Beleuchtungsgleichung mit einbezogen. Siehe glLightModel und glLight.

GL_LIGHTING

Wenn aktiviert, werden die aktuellen Beleuchtungsparameter genutzt um die Vertex- oder Indexfarbe zu berechnen. Ansonsten wird einfach die aktuelle Farbe zw. der aktuelle Index zugewiesen. Siehe glMaterial, glLightModel und glLight.

GL_LINE_SMOOTH

Wenn aktiviert, werden Linien mit dem korrekten Filter gerendert. Ansonsten werden ungefilterte (aliased, schlecht zu übersetzen --Sascha Willems 13:05, 9. Jul 2004 (CEST)) Linien gerendert. Siehe glLineWidth.

GL_LINE_STIPPLE

Wenn aktiviert, wird das aktuelle Punktierungsmuster für das Zeichnen von Linien verwendet. Siehe glLineStipple.

GL_MAP1_COLOR_4

Wenn aktiviert, generieren Aufrufe an glEvalCoord1, glEvalMesh1 und glEvalPoint1 RGBA-Werte. Siehe glMap1.

GL_MAP1_INDEX

Wenn aktiviert, generieren Aufrufe an glEvalCoord1, glEvalMesh1 und glEvalPoint1 Farb-Indizes. Siehe glMap1.

GL_MAP1_NORMAL

Wenn aktiviert, generieren Aufrufe an glEvalCoord1, glEvalMesh1 und glEvalPoint1 Normalen. Siehe glMap1.

GL_MAP1_TEXTURE_COORD_1

Wenn aktiviert, generieren Aufrufe an glEvalCoord1, glEvalMesh1 und glEvalPoint1 s-Texturkoordinaten. Siehe glMap1.

GL_MAP1_TEXTURE_COORD_2

Wenn aktiviert, generieren Aufrufe an glEvalCoord1, glEvalMesh1 und glEvalPoint1 s- und t-Texturkoordinaten. Siehe glMap1.

GL_MAP1_TEXTURE_COORD_3

Wenn aktiviert, generieren Aufrufe an glEvalCoord1, glEvalMesh1 und glEvalPoint1 s-, t- und r-Texturkoordinaten. Siehe glMap1.

GL_MAP1_TEXTURE_COORD_4

Wenn aktiviert, generieren Aufrufe an glEvalCoord1, glEvalMesh1 und glEvalPoint1 s-, t-, r- und q-Texturkoordianten. Siehe glMap1.

GL_MAP1_VERTEX_3

Wenn aktiviert, generieren Aufrufe an glEvalCoord1, glEvalMesh1 und glEvalPoint1 x-, y- und z-Vertexkoordinaten. Siehe glMap1.

GL_MAP1_VERTEX_4

Wenn aktiviert, generieren Aufrufe an glEvalCoord1, glEvalMesh1 und glEvalPoint1 x-, y-, z- und w-Vertexkoordinaten. Siehe glMap1.

GL_MAP2_COLOR_4

Wenn aktiviert, generieren Aufrufe an glEvalCoord2, glEvalMesh2 und glEvalPoint2 RGBA-Werte. Siehe glMap2.

GL_MAP2_INDEX

Wenn aktiviert, generieren Aufrufe an glEvalCoord2, glEvalMesh2 und glEvalPoint2 Farb-Indizes. Siehe glMap2.

GL_MAP2_NORMAL

Wenn aktiviert, generieren Aufrufe an glEvalCoord2, glEvalMesh2 und glEvalPoint2 Normale. Siehe glMap2.

GL_MAP2_TEXTURE_COORD_1

Wenn aktiviert, generieren Aufrufe an glEvalCoord2, glEvalMesh2 und glEvalPoint2 s-Texturkoordinaten. Siehe glMap2.

GL_MAP2_TEXTURE_COORD_2

Wenn aktiviert, generieren Aufrufe an glEvalCoord2, glEvalMesh2 und glEvalPoint2 s- und t-Texturkoordinaten. Siehe glMap2.

GL_MAP2_TEXTURE_COORD_3

Wenn aktiviert, generieren Aufrufe an glEvalCoord2, glEvalMesh2 und glEvalPoint2 s-, t- und r-Texturkoordinaten. Siehe glMap2.

GL_MAP2_TEXTURE_COORD_4

Wenn aktiviert, generieren Aufrufe an glEvalCoord2, glEvalMesh2 und glEvalPoint2 s-, t-, r- und q-Texturkoordinaten. Siehe glMap2.

GL_MAP2_VERTEX_3

Wenn aktiviert, generieren Aufrufe an glEvalCoord2, glEvalMesh2 und glEvalPoint2 x, y und z-Vertexkoordinaten. Siehe glMap2.

GL_MAP2_VERTEX_4

Wenn aktiviert, generieren Aufrufe an glEvalCoord2, glEvalMesh2 und glEvalPoint2 x, y, z- und w-Vertexkoordinaten. Siehe glMap2.

GL_MULTISAMPLE_EXT

Wenn aktiviert, bekommt jeder Pixel im Framepuffer GL_SAMPLES_EXT-Samplepunkte zugewiesen. with it.

GL_NORMALIZE

Wenn aktiviert, werden via glNormal angegebene Normalen nach ihrer Transformation auf Einheitslänge skaliert. Siehe glNormal.

GL_OCCLUSION_TEST_EXT

Wenn aktiviert, wird der Ausschluß-Status (Occlusion, Deutsche Übersetzung ist leider nicht gebräuchlich --Sascha Willems 13:05, 9. Jul 2004 (CEST)) je nach Tiefentest aktualisiert (siehe glDepthFunc). Der Ausschluß-Status kann mit glGetBooleanv ausgelesen werden.

GL_PIXEL_TEX_GEN_EXT

Wenn aktiviert, werden die RGBA-Farben des Bildes genutzt um Texturkoordinaten für das Fragment zu generieren. Siehe glPixelTexGenEXT.

GL_POINT_SMOOTH

Wenn aktiviert, werden Punkte gefiltert gezeichnet. Ansonsten werden ungefilterte Punkte gerendert. Siehe glPointSize.

GL_POLYGON_OFFSET_FILL

Wenn aktiviert und das Polygon im GL_FILL-Modus gerendert wird, wird ein Versatz zum Tiefenwert der Fragmente des Polygons addiert, bevor der Tiefentest stattfindet. Siehe [[glPolygonOffset].

GL_POLYGON_OFFSET_LINE

Wenn aktiviert und das Polygon im GL_LINE-Modus gerendert wird, wird ein Versatz zum Tiefenwert der Fragmente des Polygons addiert, bevor der Tiefentest stattfindet. Siehe [[glPolygonOffset].

GL_POLYGON_OFFSET_POINT

Wenn aktiviert, wird ein Versatz zu den Tiefenwerten der Fragmente eines Polygons addiert, bevor der Tiefentest stattfindet, wenn es im GL_POINT-Modus gerendert wird. Siehe [[glPolygonOffset].

GL_POLYGON_SMOOTH

Wenn aktiviert, werden Polygone mit korrekter Filterung gezeichnet. Ansonsten ohne Filterung. Für korrekt weich-gezeichnete (anti-aliased, zu Deutsch am besten "Anti-Kantenbildung", hört sich aber holprig an --Sascha Willems 13:05, 9. Jul 2004 (CEST)), wird ein Alphapuffer benötigt und die Polygone müssen korrekt von Vorne nach hinten sortiert sein.

GL_POLYGON_STIPPLE

Wenn aktiviert, wird das aktuelle Polygon-Punktierungs-Muster zum Rendern der Polygone genutzt. Siehe glPolygonStipple.

GL_POST_COLOR_MATRIX_COLOR_TABLE_EXT

Wenn aktiviert, werden Farbbild-Komponentne in die Farbtabelle gelegt die nach der Farbmatrix kommt. Siehe glColorTableEXT.

GL_POST_CONVOLUTION_COLOR_TABLE_EXT

Wenn aktiviert, werden Farbbild-Komponenten in eine Farbtabelle gelegt die nach der Windung, aber vor der Farbmatrix kommt. Siehe glColorTableEXT.

GL_RESCALE_NORMAL_EXT

Wenn aktiviert, werden Normalen mit einem Reskalierungsfaktor multipliziert, nachdem sie in den Augenraum transformiert wurden und befor sie normalisiert werden. Dieser Faktor wird aus der obersten Reihe der inversen umgestellten Modelansichtsmatrix berechnet.

GL_SAMPLE_ALPHA_TO_MASK_EXT

Wenn aktiviert, wird der Alphawert eines Fragmentes genutzt um einen temporären Maskenwert zu erstellen, welcher mit dem Maskenwert des Fragmentes verUNDet wird.

GL_SAMPLE_ALPHA_TO_ONE_EXT

Wenn aktiviert, wird der Alphawert der Fragmente durch den maximal verfügbaren Alphawert ersetzt.

GL_SAMPLE_MASK_EXT

Wenn aktiviert, wird der Wert von GL_SAMPLE_MASK_VALUE_EXT genutzt um temporäre Maskenwerte zu erstellen, die dann mit den Maskenwerten der Fragmente geUNDet werden.

GL_SCISSOR_TEST

Wenn aktiviert, werden Fragmente verworfen die ausserhalb des Scissor-Rechtecks liegen. Siehe glScissor.

GL_SEPARABLE_2D_EXT

Wenn aktiviert und GL_CONVOLUTION_2D_EXT deaktiviert ist, wird zweidimensionale Wicklung mit separierbarem Filter während des Pixeltransfers durchgeführt. Siehe glSeparableFilter2DEXT.

GL_STENCIL_TEST

Wenn aktiviert, werden Stempeltests durchgeführt und der Stencilpuffer aktualisiert. Siehe glStencilFunc und glStencilOp..

GL_TEXTURE_1D

Wenn aktiviert, wird eindimensionale Texturierung angewandt (es sei denn zweidimensionale Texturierung wurde auch aktiviert). Siehe glTexImage1D.

GL_TEXTURE_2D

Wenn aktiviert, wird zweidimensionale Texturierung angewandt (es sei denn dreidimensionale Texturierung wurde auch aktiviert). Siehe glTexImage2D.

GL_TEXTURE_3D(_EXT)

Wenn aktiviert, wird dreidimensionale Texturierung angewandt. Siehe glTexImage3DEXT.

GL_TEXTURE_COLOR_TABLE_EXT

Wenn aktiviert, wird die gefilterte Texturenfarbe an die Farbtabelle für Texturen angepasst, bevor die Umgebung mit der Fragmentfarbe vermischt wird. Siehe glColorTableEXT.

GL_TEXTURE_GEN_Q

Wenn aktiviert, wird die q-Texturkoordinate anhand der via [[glTexGen] definierten Funktion zur Texturgenerierung berechnet. Ansonsten wird die aktuell angegebene q-Texturkoordinate genutzt. Siehe glTexGen.

GL_TEXTURE_GEN_R

Wenn aktiviert, wird die r-Texturkoordinate anhand der via [[glTexGen] definierten Funktion zur Texturgenerierung berechnet. Ansonsten wird die aktuell angegebene r-Texturkoordinate genutzt. Siehe glTexGen.

GL_TEXTURE_GEN_S

Wenn aktiviert, wird die s-Texturkoordinate anhand der via [[glTexGen] definierten Funktion zur Texturgenerierung berechnet. Ansonsten wird die aktuell angegebene s-Texturkoordinate genutzt. Siehe glTexGen.

GL_TEXTURE_GEN_T

Wenn aktiviert, wird die t-Texturkoordinate anhand der via [[glTexGen] definierten Funktion zur Texturgenerierung berechnet. Ansonsten wird die aktuell angegebene t-Texturkoordinate genutzt. Siehe glTexGen.


Erweiterungen

Einige Routinen und Konstanten für diese Funktion sind Teil einer Erweiterung, also nicht Teil des GL-Kerns. Die folgenden Erweiterungen müssen in der durch glGetString mit dem Argument GL_EXTENSIONS gelieferten Zeichenkette enthalten sein, damit diese genutzt werden können.

=== GL_EXT_color_table GL_COLOR_TABLE_EXT, GL_POST_CONVOLUTION_COLOR_TABLE_EXT und GL_POST_COLOR_MATRIX_COLOR_TABLE_EXT sind Teil der Erweiterung GL_EXT_color_table.

GL_EXT_convolution

GL_CONVOLUTION_1D_EXT, GL_CONVOLUTION_2D_EXT und GL_SEPARABLE_2D_EXT sind Teil der Erweiterung GL_EXT_convolution.

GL_EXT_fog_offset

GL_FOG_OFFSET_EXT ist Teil der Erweiterung GL_EXT_fog_offset.

EXT_interlace

GL_INTERLACE_EXT ist Teil der Erweiterung GL_EXT_interlace.

EXT_interlace_read

GL_INTERLACE_READ_I3D ist Teil der Erweiterung GL_EXT_interlace_read.

GL_EXT_multisample

GL_MULTISAMPLE_EXT, GL_SAMPLE_ALPHA_TO_MASK_EXT, GL_SAMPLE_ALPHA_TO_ONE_EXT und GL_SAMPLE_MASK_EXT sind Teil der Erweiterung GL_EXT_multisample.

GL_EXT_occlusion_test

GL_OCCLUSION_TEST_EXT ist Teil der Erweiterung GL_EXT_occlusion_test.

GL_EXT_pixel_texture

GL_PIXEL_TEX_GEN_EXT ist Teil der Erweiterung GL_EXT_pixel_texture.

GL_EXT_rescale_normal

GL_RESCALE_NORMAL_EXT ist Teil der Erweiterung GL_EXT_rescale_normal.

GL_EXT_texture3D

GL_TEXTURE_3D_EXT ist Teil der Erweiterung GL_EXT_texture3D.

GL_EXT_texture_color_table

GL_TEXTURE_COLOR_TABLE_EXT ist Teil der Erweiterung GL_EXT_texture_color_table.


Fehlermeldungen

GL_INVALID_ENUM wird generiert wenn cap kein gültiges Token ist.

GL_INVALID_OPERATION wird generiert wenn glPixelTransfer zwischen glBegin und dem passenden glEnd aufgerufen wird.


Zugehörige Wertrückgaben

glGet. glIsEnabled.


Siehe auch

glAlphaFunc, glBitmap, glBlendFunc, glClipPlane, glColorMaterial, glColorTableEXT, glCopyColorTableEXT, glCopyPixels, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glCopyTexSubImage3DEXT, glCullFace, glDepthFunc, glDepthRange, glDrawPixels, glEnableClientState, glFog, glGet, glGetString, glIsEnabled, glLight, glLightModel, glLineWidth, glLineStipple, glLogicOp, glMap1, glMap2, glMaterial, glNormal, glPointSize, glPolygonMode, glPolygonOffset, glPolygonStipple, glSampleMaskEXT, glScissor, glStencilFunc, glStencilOp, glTexGen, glTexImage1D, glTexImage2D, glTexImage3DEXT, glTexSubImage1D, glTexSubImage2D, glTexSubImage3DEXT