glValidateProgram

Aus DGL Wiki
(Weitergeleitet von GlValidateProgram)
Wechseln zu: Navigation, Suche

glValidateProgram (glValidateProgramARB)

Name

glValidateProgram - Validiert ein Programmobjekt.


Delphi-Spezifikation

procedure glValidateProgram(programObj : GLhandle);
procedure glValidateProgramARB(programObj : GLhandleARB);


Parameter

programObj Handle des Programmobjektes das validiert werden soll.


Beschreibung

glValidateProgram prüft ob das im Programmobjekt abgelegte, ausführbare Programm entsprechend dem aktuellen OpenGL-Status ausgeführt werden kann. Die Information die durch diesen Validierungsprozess erstellt wird, wird im Informationslog des Programmobjektes abgelegt, und ist entweder leer oder enthält Informationen darüber wie das aktuelle Programmobjekt mit dem Rest des momentanen OpenGL-Status interagiert. Weiterhin steht dort (je nach OpenGL-Implementation) ob, bzw. warum der aktuelle Satz ausführbarer Shader ineffizient, suboptimal oder gar fehlerhaft ist.

Der Status der Vaildierung wird als Teil des Status des Programmobjektes gespeichert und auf True gesetzt, wenn die Validierung erfolgreich war, ansonsten auf False. Abgefragt werden kann dieser via glGetObjectParameter, mit den Argumenten programObj und GL_OBJECT_VALIDATE_STATUS.

Diese Funktion ist im Normalfall nur während der Anwendungsentwicklung nützlich. Außerdem ist der Informationsstring der im Informationslog abgelegt wird abhängig von der OpenGL-Implementation, so dass je nach Implementation bei gleichen Bedingungen unterschiedliche Ausgaben erfolgen können.


Fehlermeldungen

GL_INVALID_OPERATION wird generiert wenn programObj nicht vom Typ GL_PROGRAM_OBJECT ist.

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


Zugehörige Wertrückgaben

glGetInfoLog mit dem Argument programObj.

glGetObjectParameter mit den Argumenten programObj' und GL_OBJECT_VALIDATE_STATUS.


Siehe auch

glLinkProgram, glUseProgram

Hintergrundwissen : Shader

Englische Originalversion (Copyright 3DLabs Inc.)