glCreateShader

Aus DGL Wiki
Version vom 21. Januar 2005, 13:34 Uhr von Sascha Willems (Diskussion | Beiträge) (Artikel erstellt)

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

glCreateShaderObjectARB


Name

glCreateShaderObjectARB - Erstellt ein Shaderobjekt


Delphi-Spezifikation

function glCreateShaderObjectARB(shaderType : GLenum) : GLhandleARB;


Parameter

shaderType Gibt den Typ des zu erstellenden Shaders an. Muss entweder GL_VERTEX_SHADER_ARB oder GL_FRAGMENT_SHADER_ARB sein.



Beschreibung

glCreateShaderObjectARB erstellt ein leeres Shaderobjekt und gibt dessen Handle zurück. Ein Shaderobjekt wird genutzt um den Quellcode der einen Shader darstellt zu verwalten. shaderType gibt dabei ein welcher Shadertyp erstellt werden soll. Momentan werden zwei Shadertypen unterstützt : GL_VERTEX_SHADER_ARB, ein Shader der auf dem programmierbaren Vertexprozessor läuft und die feste Funktionspipeline für die Vertexverarbeitung ersetzt. GL_FRAGMENT_SHADER_ARB, ein Shader der auf dem programmierbaren Fragmentprozessor läuft und die feste Funktionspipeline für die Fragmentverarbeitung ersetzt.

Ein Shaderobjekt muss nicht zwingend den kompletten Quellcode für einen Shader beinhalten, sollte allerdings ein kompilierbares Modul des Shaders enthalten. Wenn erstellt, wird der GL_OBJECT_TYPE_ARB-Parameter des Shaderobjektes auf GL_SHADER_OBJECT_ARB' gesetzt, und sein GL_OBJECT_SUBTYPE_ARB-Parameter auf GL_VERTEX_SHADER_ARB bzw. GL_FRAGMENT_SHADER_ARB, je nach gewähltem Shadertype.


Hinweise

So wie Displaylisten und Texturenobjekte können Namensräume für alle Objekthandles über mehrere Renderkontexte geteilt werden, solange die Serverseiten des Kontexts den selben Adressraum besitzen. Wenn Handles über mehrere Renderkontexte verteilt werden, werden gleichzeitig auch die daran gebundenen Daten und angehangenen Objekte dort verfügbar.


Fehlermeldungen

GL_INVALID_ENUM wird generiert, wenn shaderType kein gültiger Wert übergeben wird.

GL_INVALID_OPERATION wird generiert, wenn glCreateShaderObjectARB innerhalb eines glBegin-glEnd Blockes aufgerufen wird.


Zugehörige Wertrückgaben

glGetInfoLogARB mit dem Handle eines gültigen Shaderobjektes.

glGetObjectParameterARB mit dem Handle eines gültigen Shaderobjektes und dem Argument GL_OBJECT_TYPE_ARB oder GL_OBJECT_SUBTYPE_ARB.

glGetShaderSourceARB mit dem Handle eines gültigen Shaderobjektes.


Siehe auch

glAttachObjectARB, glCompileShaderARB, glCreateProgramObjectARB, glDeleteObjectARB, glDetachObjectARB, glShaderSourceARB

Hintergrundwissen : Shader
Englische Originalversion (Copyright 3DLabs Inc.)