glCompileShader: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (Siehe auch)
K (Delphi-Spezifikation)
Zeile 8: Zeile 8:
  
 
== Delphi-Spezifikation ==
 
== Delphi-Spezifikation ==
function '''glCompileShaderARB'''(''shaderObj'' : GLHandleARB) : glboolean;
+
function '''glCompileShaderARB'''(''shaderObj'' : GLHandleARB) : glboolean;
  
 
<br>
 
<br>
 +
 
== Parameter ==
 
== Parameter ==
 
<table border=1 rules=all>
 
<table border=1 rules=all>

Version vom 13. September 2004, 10:24 Uhr

glCompileShaderARB


Name

glCompileShaderARB - Kompiliert ein Shaderobjekt.


Delphi-Spezifikation

function glCompileShaderARB(shaderObj : GLHandleARB) : glboolean;


Parameter

shaderObj Handle des zu kompilierenden Shaderobjektes.


Beschreibung

glCompileShaderARB kompiliert den Quellcode der im Shaderobjekt abgelegt ist, wobei der Status der Kompilation als Teil des Objektstatus des Shaderobjektes gespeichert wird. Dieser Wert ist True, wenn der Shader ohne Fehler kompiliert wurde und bereit zur Nutzung ist, und ansonsten False. Er kann mittels glGetObjectParameterARB und dem Shader sowie GL_OBJECT_COMPILE_STATUS_ARB als Argument abgefragt werden.

Die Kompilierung des Shaders kann aus vielerlei Gründen scheitern, die genauer in den Spezifikationen der OpenGL-Shadersprache aufgelistet sind. Ob die Kompilierung erfolgreich war, kann aus dem Informationslog des Shaderobjektes via glGetInfoLogARB ermittelt werden.


Fehlermeldungen

GL_INVALID_VALUE wird generiert wenn der Shader kein gültiges OpenGL-Handle ist.

GL_INVALID_OPERATION wird generiert wenn der Shader nicht vom Typ GL_SHADER_OBJECT_ARB ist.

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


Zugehörige Wertrückgaben

glGetInfoLogARB mit dem Argument shaderObj.

glGetObjectParameterARB mit den Argumenten shaderObj und GL_OBJECT_COMPILE_STATUS_ARB.


Siehe auch

glCreateShaderObjectARB, glLinkProgramARB, glShaderSourceARB
Hintergrundwissen : Shader
Englische Originalversion (Copyright 3DLabs Inc.)