Frage

Ich bin auf der Suche http://www.swiftless.com/tutorials/glsl/ 3_glcolor.html , die den folgenden Code-snippet:

void main() {
// Set the output color of our current pixel
gl_FragColor = gl_Color;}

Ich habe versucht gl_Color auf meine WebGL zu verwenden. Ich habe einen Fehler, dass gl_Color ist nicht deklarierter Bezeichner.

Was habe ich falsch gemacht?

Vielen Dank im Voraus für Ihre Hilfe.

War es hilfreich?

Lösung

WebGL nutzt Open GL ES 2.0 als Basis, deshalb sollten Sie GLSL ES 1.0 für den Shadern verwendet werden. GLSL ES keine gl_Color haben, und deshalb müssen Sie diese Shader neu schreiben.

Andere Tipps

Meine Vermutung ist, dass Sie versuchen, GLSL Code mit einem normalen C-Compiler zu kompilieren.

Es sieht aus wie es angenommen hat, C-Code sein, aber es ist eigentlich Quelle GLSL -. Deisgned von den OpenGL GLSL-Compiler kompiliert werden, nicht Ihre Maschine C-Compiler

Der Fragment-Shader hat eine vordefinierte Variable 'gl_Color', welche die Ausgabe von dem Vertex-Shader ist.

Die Probe Sie verweisen den Code innerhalb einer shader.frag Datei hat, die von shader.init verwiesen wird (). Die OpenGL-Bibliothek selbst wird damit umgehen in GPU Anweisungen für Ihre Maschine zu kompilieren. Setzen Sie den Code in dieser Datei, und hoffentlich wird das Beispiel funktioniert:)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top