glGetObjectParameterARB

Aus DGL Wiki
Wechseln zu: Navigation, Suche

glGetObjectParameterARB

Name

glGetObjectParameterARB - Liefert einen Parameter des angegebenen Objekts


Delphi-Spezifikation

procedure glGetObjectParameterARBfv(object : GLhandleARB; pname : GLenum; params : PGLfloat)
procedure glGetObjectParameterARBiv(object : GLhandleARB; pname : GLenum; params : PGLfloat)


Parameter

object Gibt das Handle des Objekts an, das abgefragt werden soll.
pname Gibt den Objektparameter an. Akzeptable Konstanten sind GL_OBJECT_TYPE_ARB, GL_OBJECT_SUBTYPE_ARB, GL_OBJECT_DELETE_STATUS_ARB, GL_OBJECT_LINK_STATUS_ARB, GL_OBJECT_VALIDATE_STATUS_ARB, GL_OBJECT_COMPILE_STATUS_ARB, GL_OBJECT_INFO_LOG_LENGTH_ARB, GL_OBJECT_ATTACHED_OBJECTS_ARB, GL_OBJECT_ACTIVE_ATTRIBUTES_ARB, GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB, GL_OBJECT_ACTIVE_UNIFORMS_ARB, GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB und GL_OBJECT_SHADER_SOURCE_LENGTH_ARB.
params Liefert den angeforderten Objektparameter zurück.


Beschreibung

glGetObjectParameterARB gibt in params den Wert eines Objektparameters aus. Diese Funktion kann verwendet werden, Informationen über ein Objekt zu erhalten. Die folgenden Parameter sind zulässig:


GL_OBJECT_TYPE_ARB

params liefert entweder GL_PROGRAM_OBJECT_ARB oder GL_SHADER_OBJECT_ARB, abhängig davon, ob das Handle ein Programm- oder Shaderobjekt ist.


GL_OBJECT_SUBTYPE_ARB

params liefert entweder GL_VERTEX_SHADER_ARB oder GL_FRAGMENT_SHADER_ARB, abhängig davon, ob das Handle ein Vertexshader- oder Fragmentshader-Objekt ist.


GL_OBJECT_DELETE_STATUS_ARB

params liefert 1 (als Integer- bzw. Single-Wert), wenn das Objekt zum löschen markiert wurde, andernfalls wird 0 ausgegeben.


GL_OBJECT_COMPILE_STATUS_ARB

params liefert 1 (als Integer- bzw. Single-Wert), wenn die letzte Kompilier-Operation mit dem Objekt erfolgreich war, andernfalls wird 0 ausgegeben.


GL_OBJECT_LINK_STATUS_ARB

params liefert 1 (als Integer- bzw. Single-Wert), wenn die letzte Link-Operation mit dem Objekt erfolgreich war, andernfalls wird 0 ausgegeben.


GL_OBJECT_VALIDATE_STATUS_ARB

params liefert 1 (als Integer- bzw. Single-Wert), wenn die letzte Validierungsoperation mit dem Objekt erfolgreich war, andernfalls wird 0 ausgegeben.


GL_OBJECT_INFO_LOG_LENGTH_ARB

params liefert die Anzahl der Zeichen im Infolog des angegebenen Objekts. Wenn das Objekt kein Infolog hat, wird 0 (als Integer- bzw. Single-Wert) ausgegeben.


GL_OBJECT_ATTACHED_OBJECTS_ARB

params liefert die Anzahl der Objekte, die an das angegebene Objekt angehängt wurden.


GL_OBJECT_ACTIVE_ATTRIBUTES_ARB

params liefert die Anzahl der aktiven Attribute des angegebenen Objekts.


GL_OBJECT_ACTIVE_ATTRUBUTES_MAX_LENGTH_ARB

params liefert die Länge des längsten Attributnamen. Wenn keine Attribute existieren, wird 0 (als Integer- bzw. Single-Wert) ausgegeben.


GL_OBJECT_ACTIVE_UNIFORMS_ARB

params liefert die Anzahl der aktiven Uniform-Variablen des angegebenen Objekts.


GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB

params liefert die Länge des längsten aktiven Uniform-Variablen-Namens. Wenn keine aktive Uniform-Variable existiert, wird 0 (als Integer- bzw. Single-Wert) ausgegeben.


GL_OBJECT_SHADER_SOURCE_LENGTH_ARB

params liefert die Länge der verketteten Sourcecode-Strings, die den Shadersourcecode bilden. Wenn kein Sourcecode existiert, wird 0 (als Integer- bzw. Single-Wert) geliefert.


Hinweise

Wenn ein Fehler generiert wird, werden keine Veränderungen an den Inhalten von params vorgenommen.


Fehlermeldungen

GL_INVALID_VALUE wird generiert, wenn das object kein von OpenGL erzeugtes Handle ist.

GL_INVALID_OPERATION wird generiert, wenn pname GL_OBJECT_TYPE_ARB, GL_OBJECT_DELETE_STATUS_ARB oder GL_OBJECT_INFO_LOG_LENGTH_ARB ist, und object sich nicht auf ein Objekt des Typs GL_PROGRAM_OBJECT_ARB oder GL_SHADER_OBJECT_ARB bezieht.

GL_INVALID_OPERATION wird generiert, wenn pname GL_OBJECT_SUBTYPE_ARB, GL_OBJECT_COMPILE_STATUS_ARB oder GL_OBJECT_SHADER_SOURCE_LENGTH_ARB ist, und object sich nicht auf ein Objekt des Typs GL_SHADER_OBJECT_ARB bezieht.

GL_INVALID_OPERATION wird generiert, wenn pname GL_OBJECT_LINK_STATUS_ARB, GL_OBJECT_VALIDATE_STATUS_ARB, GL_OBJECT_ATTACHED_OBJECTS_ARB, GL_OBJECT_ACTIVE_ATTRIBUTES_ARB, GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB, GL_OBJECT_ACTIVE_UNIFORMS_ARB oder GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB ist, und object sich nicht auf ein Objekt des Typs GL_PROGRAM_OBJECT_ARB bezieht.

GL_INVALID_OPERATION wird generiert, wenn pname GL_OBJECT_ATTACHED_OBJECTS_ARB ist und object sich nicht auf ein Objekt des Typs GL_PROGRAM_OBJECT_ARB bezieht.

GL_INVALID_ENUM wird generiert, wenn pname keine akzeptable Konstante zugewiesen wurde.

GL_INVALID_OPERATION wird generiert wenn glGetObjectParameterARB innerhalb eines glBegin-glEnd Blocks aufgerufen wird.



Zugehörige Wertrückgaben

glGetActiveAttribARB mit Token object

glGetActiveUniformARB mit Token object

glGetAttachedObjectsARB mit Token object

glGetInfoLogARB mit Token object

glGetShaderSourceARB mit Token object


Siehe auch

glAttachObjectARB, glCompileShaderARB, glCreateProgramObjectARB, glCreateShaderObjectARB, glDeleteObjectARB, glLinkProgramARB, glShaderSourceARB, glValidateProgramARB