glAttachObjectARB

Aus DGL Wiki
Wechseln zu: Navigation, Suche
Hinweis: Der Inhalt des Artikels gilt als veraltet!

Eine aktuelle Beschreibung bzw. eine aktuelle Version der Funktion finden sie im Artikel glAttachShader.

(weitere Informationen und Artikel)
Deprecated.jpg

glAttachObjectARB

Name

glAttachObjectARB - Hängt (bindet) einen Shader an ein Programmobjekt.


Delphi-Spezifikation

procedure glAttachObjectARB(programObj, shaderObj : GLhandleARB);


Parameter

programObj Handle des Programmobjektes an das der Shader gebunden werden soll.
shaderObj Handle des Shaders der gebunden werden soll.


Beschreibung

Ein vollständiger, und zudem gültiger, Shader kann aus mehreren separaten Modulen, definiert durch mehrere Shader, bestehen. Ein Programmobjekt bietet dabei alle Funktionen an, um alle Shaderobjekte anzugeben, die dann genutzt werden, um einen ausführbaren Shader zu erstellen. glAttachObjectARB hängt (bindet) dabei das via shaderObj angegebene Shaderobjekt an das in programObj angegebene Programmobjekt und gibt so an, dass dieser Shader Bestandteil für den endgültig ausführbaren Shadersatz ist.

Alle Operationen, die auf einen Shader angewandt werden können, sind gültig, unabhängig davon ob dieses Shaderobjekt an ein Programmobjekt gebunden ist oder nicht. Es ist auch gültig, eine Shaderobjekt, das keinen Quellcode enthält, an eine Programmobjekt zu binden, oder einen Shader der noch nicht kompiliert wurde. Weiterhin ist es genauso möglich, mehrere Shaderobjekte gleichen Typs an das Programmobjekt zu hängen, sofern jeder dieser Shader ein kompilierbares Modul enthält, das später einen fertigen Shader ergibt. Aber auch das Binden eines Shaders an mehrere Programmobjekte ist erlaubt. Wenn ein gebundenes Shaderobjekt entfernt wird, wird dieses für die Löschung vorgemerkt, aber erst entfernt wenn glDetachObjectARB aufgerufen wird.

Seit der OpenGL Version 2.0 ist glAttachObjectARB als glAttachShader im Kern enthalten.

Fehlermeldungen

GL_INVALID_VALUE wird generiert, wenn Shader oder Programm kein gültiges OpenGL-Handle darstellen.

GL_INVALID_OPERATION wird generiert, wenn das Programmobjekt nicht vom Typ GL_PROGRAM_OBJECT ist.

GL_INVALID_OPERATION wird generiert, wenn der Shader nicht vom Typ GL_SHADER_OBJECT ist.

GL_INVALID_OPERATION wird generiert, wenn der Shader bereits an das Programmobjekt gebunden ist.

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


Zugehörige Wertrückgaben

glGetAttachedObjectsARB mit dem Handle eines gültigen Programmobjektes als Argument.


Siehe auch

glCompileShaderARB, glDetachObjectARB, glLinkProgramARB, glShaderSourceARB

Hintergrundwissen : Shader

Englische Originalversion (Copyright 3DLabs Inc.)