glScissor
Inhaltsverzeichnis
glScissor
Name
glScissor - Definiert die Scissor-Box. (scissor stammt aus dem Lateinischem und bedeutet Vorschneider)
Delphi-Spezifikation
procedure glScissor(x : TGLint; y : TGLint; width : TGLsizei; height : TGLsizei);
Parameter
x,y | Gibt die untere/linke Ecke der Scissorbox an. Standard ist 0/0. |
width,height | Gibt Höhe und Breite der Scissorbox an. Wenn ein GL-Kontext zum ersten Mal an ein Fenster gebunden wird, werden diese Werte auf die Dimensionen des GL-Kontextes gesetzt |
Beschreibung
glScissor beschreibt ein Rechteck (die Scissorbox genannt) in Fensterkoordinaten. Die bieden ersten Argumente (x und y) geben die untere/linke Ecke der Box and; width und height beschreiben die Dimensionen der Box.
Um den Scissortest zu aktivieren bzw. zu deaktivieren, ruft man glEnable bzw. glDisable mit dem Argument GL_SCISSOR_TEST auf. Der Test ist in der Grundeinstellung deaktiviert. Sobald der Test aktiviert ist, können nur Pixel die innerhalb der Scissorbox liegen von Zeichenkommandos modifiziert werden. Fensterkoordinaten besitzen an den geteilten Rändern von Pixeln. glScissor(0,0,1,1) z.B. lässt nur modifizieren des Pixels der ganz unten links liegt zu, während glScissor(0,0,0,0) überhaupt keine Pixelmodifkationen zulässt.
Sobald der Scissortest deaktiviert wird, verhält es sich so als würde die Scissorbox den kompletten Viewport beschreiben.
Fehlermeldungen
GL_INVALID_VALUE wird generiert wenn Höhe oder Breite negativ sind.
GL_INVALID_OPERATION wird generiert wenn glScissor zwischen einem glBegin und dem dazugehörigem glEnd aufgerufen wird.
Zugehörige Wertrückgaben
glGet mit dem Argument GL_SCISSOR_BOX glIsEnabled mit dem Argument GL_SCISSOR_TEST