glCompileShader: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K ()
K (Siehe auch)
 
(12 dazwischenliegende Versionen von 8 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
= glCompileShaderARB =
+
= glCompileShader (glCompileShaderARB)=
 +
 
 +
 
  
<br>
 
 
== Name ==
 
== Name ==
----
+
'''glCompileShader''' - Kompiliert ein Shaderobjekt.
'''glCompileShaderARB''' - Kompiliert ein Shaderobjekt.
+
 
  
<br>
 
  
 
== Delphi-Spezifikation ==
 
== Delphi-Spezifikation ==
----
+
procedure '''glCompileShader'''(''shaderObj'' : GLHandle);
function '''glCompileShaderARB'''(''shaderObj'' : GLHandleARB) : glboolean;
+
procedure '''glCompileShaderARB'''(''shaderObj'' : GLHandleARB);
 +
 
 +
 
  
<br>
 
 
== Parameter ==
 
== Parameter ==
----
+
{| border="1" rules="all"
<table border=1 rules=all>
+
! ''shaderObj''
<tr>
+
| Handle des zu kompilierenden Shaderobjektes.
<td>''shaderObj''</td>
+
|}
<td>Handle des zu kompilierenden Shaderobjektes.</td>
+
 
</tr>
+
 
</table>
 
  
<br>
 
 
== Beschreibung ==  
 
== Beschreibung ==  
----
+
'''glCompileShader''' 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''' als Argument abgefragt werden.
'''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.
 
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.
  
<br>
+
Seit der OpenGL Version 2.0 ist '''glCompileShader''' im Kern enthalten. Die alte ARB Bezeichnung war '''glCompileShaderARB'''.
 +
 
 +
 
 +
 
 
== Fehlermeldungen ==
 
== Fehlermeldungen ==
----
+
'''GL_INVALID_VALUE''' wird generiert, wenn der Shader kein gültiges OpenGL-Handle ist.
'''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''' ist.
 +
 
 +
'''GL_INVALID_OPERATION''' wird generiert, wenn '''glCompileShaderARB''' zwischen einem [[glBegin]] und dem passenden [[glEnd]] aufgerufen wird.
  
'''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.
 
  
<br>
 
 
==  Zugehörige Wertrückgaben ==
 
==  Zugehörige Wertrückgaben ==
----
+
[[glGetInfoLog]] mit dem Argument ''shaderObj''.
[[glGetInfoLogARB]] mit dem Argument ''shaderObj''.
+
 
 +
[[glGetObjectParameterARB]] mit den Argumenten ''shaderObj'' und '''GL_OBJECT_COMPILE_STATUS'''.
 +
 
  
[[glGetObjectParameterARB]] mit den Argumenten ''shaderObj'' und ''GL_OBJECT_COMPILE_STATUS_ARB''.
 
  
<br>
 
 
== Siehe auch ==
 
== Siehe auch ==
----
+
[[glCreateShaderObjectARB]], [[glLinkProgram]], [[glShaderSource]]<br>
[[glCreateShaderObjectARB]], [[glLinkProgramARB]], [[glShaderSourceARB]]<br>
+
'''Hintergrundwissen :''' [[Shader]]
'''Hintergrundwissen :''' [[Shader]]<br>
+
 
 
[http://developer.3dlabs.com/openGL2/slapi/CompileShaderARB.htm Englische Originalversion]  (Copyright 3DLabs Inc.)
 
[http://developer.3dlabs.com/openGL2/slapi/CompileShaderARB.htm Englische Originalversion]  (Copyright 3DLabs Inc.)
 +
[[Kategorie:GL|CompileShader]]
 +
[[Kategorie:GL2.0|CompileShader]]
 +
[[Kategorie:SHADER_OBJECTS|CompileShader]]
 +
[[Kategorie:GL3|CompileShader]]

Aktuelle Version vom 21. Februar 2014, 17:51 Uhr

glCompileShader (glCompileShaderARB)

Name

glCompileShader - Kompiliert ein Shaderobjekt.


Delphi-Spezifikation

procedure glCompileShader(shaderObj : GLHandle);
procedure glCompileShaderARB(shaderObj : GLHandleARB);


Parameter

shaderObj Handle des zu kompilierenden Shaderobjektes.


Beschreibung

glCompileShader 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 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.

Seit der OpenGL Version 2.0 ist glCompileShader im Kern enthalten. Die alte ARB Bezeichnung war glCompileShaderARB.


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 ist.

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


Zugehörige Wertrückgaben

glGetInfoLog mit dem Argument shaderObj.

glGetObjectParameterARB mit den Argumenten shaderObj und GL_OBJECT_COMPILE_STATUS.


Siehe auch

glCreateShaderObjectARB, glLinkProgram, glShaderSource
Hintergrundwissen : Shader

Englische Originalversion (Copyright 3DLabs Inc.)