JglTF - Java libraries für glTF

Nachdem ich im glTF-News-Thread schon einige Zwischenstände von meinen Render-Experimenten gepostet hatte, und kürzlich eine Übersicht über glTF erstellt hatte, habe ich jetzt einfach mal was, was im Rahmen dessen so hinten runter gefallen ist, auf GitHub gestellt:

[ot]
Das hat aber nichts mit Rendering zu tun.
Gemacht hatte ich das zwar nicht zuletzt, um es dann in meiner Rendering-Lib verwenden zu können, aber das ist noch mehr ein „pet project“ als alles andere, was ich so mache :rolleyes:
[/ot]

Im repo liegt auch ein „jgltf-browser“: Eine SEHR einfache Anwendung, wo man mit drag&drop einen Link oder eine glTF-Datei reinwerfen kann, und der dann die Struktur und Inhalte (Shader, Daten, Texturen/Images - aber eben keine gerenderten 3D-Objekte) anzeigt, und wo man dann ein bißchen rumbrowsen kann (oder die glTF-Daten reverse engineeren :D). Den kann man sich aus dem code aus dem repo mit mvn clean compile assembly:single bauen, aber ich hab’ das ganze auch gerade mal aus ausführbare JAR unter http://javagl.de/jgltf-browser-0.0.0-SNAPSHOT-jar-with-dependencies.jar abgelegt.

Es gibt was neues: Eine erste Version eines Konverters von OBJ zu glTF, unter https://github.com/javagl/JglTF/tree/master/jgltf-obj

Außerdem ein kleines update für den Browser, unter https://github.com/javagl/JglTF/releases/tag/v0.0.0-alpha02

Anzeigen kann der Browser immer noch nichts. Ein kleiner, schlanker Renderer dafür wäre schön. Bisher habe ich nur mit Rendering gerendert. Aber das steht auf der TODO-Liste. Genau wie die Möglichkeit, OBJs direkt im Browser zu laden und als glTF abzuspeichern. (Mal sehen, vielleicht wird das dann auch eine Funktion, die in einem “größeren” Programm als dem Browser angeboten wird)

Jaja, es interessiert offenbar niemanden, aber … mag trotzdem mal jemand als ersten, rudimentären Test ausprobieren, ob sich
http://javagl.de/rendering-demo-gltf-0.0.0-SNAPSHOT-jar-with-dependencies.jar
mit

java -jar rendering-demo-gltf-0.0.0-SNAPSHOT-jar-with-dependencies.jar https://github.com/KhronosGroup/glTF/raw/master/sampleModels/CesiumMan/glTF/CesiumMan.gltf

starten läßt, und dann (nach einer Weile, in der er die glTF runterlädt…) ein laufendes Cesium-Männchen erscheint?

Finde es ja durchaus Interessant funktioniert nur leider nicht :frowning:

[SPOILER]CONFIG : RenderingEnvironments: Found factory de.javagl.rendering.core.jogl.JOGLRenderingEnvironmentFactory@4d45af28
SEVERE : RenderingEnvironments: Could not instantiate a RenderingEnvironment
Factory de.javagl.rendering.core.jogl.JOGLRenderingEnvironmentFactory@4d45af28 reported an error:
com.jogamp.opengl.GLException: Profile GL3bc is not available on null, but: [GLProfile[GL2ES1/GL2.hw], GLProfile[GL2ES2/GL3.hw], GLProfile[GL2/GL2.hw], GLProfile[GL2/GL2.hw], GLProfile[GL3/GL3.hw], GLProfile[GL2GL3/GL3.hw]]
com.jogamp.opengl.GLProfile.get(GLProfile.java:990)
com.jogamp.opengl.GLProfile.get(GLProfile.java:1003)
de.javagl.rendering.core.jogl.JOGLRenderingEnvironment.initializeComponent(JOGLRenderingEnvironment.java:85)
de.javagl.rendering.core.jogl.JOGLRenderingEnvironment.(JOGLRenderingEnvironment.java:72)
de.javagl.rendering.core.jogl.JOGLRenderingEnvironmentFactory.createRenderingEnvironment(JOGLRenderingEnvironmentFactory.java:52)
de.javagl.rendering.desktop.RenderingEnvironments.createRenderingEnvironment(RenderingEnvironments.java:92)
de.javagl.rendering.demo.gltf.GltfRenderingDemo.createAndShowGUI(GltfRenderingDemo.java:89)
de.javagl.rendering.demo.gltf.GltfRenderingDemo.lambda$main$0(GltfRenderingDemo.java:74)
java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
java.awt.EventQueue.access$500(EventQueue.java:97)
java.awt.EventQueue$3.run(EventQueue.java:709)
java.awt.EventQueue$3.run(EventQueue.java:703)
java.security.AccessController.doPrivileged(Native Method)
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Exception in thread „AWT-EventQueue-0“ java.lang.NullPointerException
at de.javagl.rendering.demo.gltf.GltfRenderingDemo.createAndShowGUI(GltfRenderingDemo.java:90)
at de.javagl.rendering.demo.gltf.GltfRenderingDemo.lambda$main$0(GltfRenderingDemo.java:74)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
[/SPOILER]

Wird wohl an der Hardware liegen.
Intel HD Irgendwas onboard-Grafik und das ganze noch unter Linux.

Moin,

selbes Ergebnis hier (Fedora 24, GF760, OS Treiber):

[spoiler]$ java -jar rendering-demo-gltf-0.0.0-SNAPSHOT-jar-with-dependencies.jar https://github.com/KhronosGroup/glTF/raw/master/sampleModels/CesiumMan/glTF/CesiumMan.gltf
CONFIG : RenderingEnvironments: Found factory de.javagl.rendering.core.jogl.JOGLRenderingEnvironmentFactory@1d88c076
SEVERE : RenderingEnvironments: Could not instantiate a RenderingEnvironment
Factory de.javagl.rendering.core.jogl.JOGLRenderingEnvironmentFactory@1d88c076 reported an error:
com.jogamp.opengl.GLException: Profile GL3bc is not available on null, but: [GLProfile[GLES1/GLES1.hw], GLProfile[GLES2/GLES3.hw], GLProfile[GL2ES1/GL2.hw], GLProfile[GL4ES3/GL4.hw], GLProfile[GL2ES2/GL4.hw], GLProfile[GL2/GL2.hw], GLProfile[GL2/GL2.hw], GLProfile[GLES3/GLES3.hw], GLProfile[GL4/GL4.hw], GLProfile[GL3/GL4.hw], GLProfile[GL2GL3/GL4.hw]]
com.jogamp.opengl.GLProfile.get(GLProfile.java:990)
com.jogamp.opengl.GLProfile.get(GLProfile.java:1003)
de.javagl.rendering.core.jogl.JOGLRenderingEnvironment.initializeComponent(JOGLRenderingEnvironment.java:85)
de.javagl.rendering.core.jogl.JOGLRenderingEnvironment.(JOGLRenderingEnvironment.java:72)
de.javagl.rendering.core.jogl.JOGLRenderingEnvironmentFactory.createRenderingEnvironment(JOGLRenderingEnvironmentFactory.java:52)
de.javagl.rendering.desktop.RenderingEnvironments.createRenderingEnvironment(RenderingEnvironments.java:92)
de.javagl.rendering.demo.gltf.GltfRenderingDemo.createAndShowGUI(GltfRenderingDemo.java:89)
de.javagl.rendering.demo.gltf.GltfRenderingDemo.lambda$main$0(GltfRenderingDemo.java:74)
java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
java.awt.EventQueue.access$500(EventQueue.java:97)
java.awt.EventQueue$3.run(EventQueue.java:709)
java.awt.EventQueue$3.run(EventQueue.java:703)
java.security.AccessController.doPrivileged(Native Method)
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at de.javagl.rendering.demo.gltf.GltfRenderingDemo.createAndShowGUI(GltfRenderingDemo.java:90)
at de.javagl.rendering.demo.gltf.GltfRenderingDemo.lambda$main$0(GltfRenderingDemo.java:74)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
[/spoiler]

Gruß
Fancy

OK. Zuhause und hier im Büro funktioniert’s, aber das ist beides NVIDIA/Win64.

Von GL3 auf GL3bc umzustellen war eine der letzten Änderungen. Ansonsten beschwert er sich beim Compilieren der Shader, weil die kein “#version” enthalten, und “matrix casts erst ab 120 verfügbar sind”. Mit GL3bc erscheint da “nur” eine Warnung. Mit GL3 war es ein Error. Das ganze war aber auch nur unter JOGL so frickelig - LWJGL macht diese Unterscheidung gar nicht.

Eigentlich wollte ich es erst mit LWJGL packagen, aber das (mit den natives, ihr wißt schon) in eine Runnable JAR zu kriegen ist nicht so trivial. Bei JOGL hatte ich da kackdreist https://jogamp.org/wiki/index.php/JogAmp_JAR_File_Handling#Maven_Assembly_Plugin kopiert, und das ging dann ziemlich direkt. Für LWJGL muss ich da wohl mal ein bißchen rumbasteln…

(Oder die glTF-Leute ändern ihre Shader, so, dass sie dem Standard entsprechen :rolleyes: )

(Im Zweifelsfall stell’ ich einfach auf GL3 zurück, dann müßten halt die https://github.com/javagl/glTF-sampleModels fürs Testen herhalten, wo ich für einige die “#version” in die Shader eingefügt habe…)

Danke für’s Testen!

Ich (ionutbaiu), habs nochmals unter der selben Hardware (Intel HD 2500), allerdings Windows 10, ausprobiert.

Es funktioniert.

Erscheinen zwar noch ein paar Fehlermeldungen auf der Console, aber es funktioniert.

CONFIG : RenderingEnvironments: Found factory de.javagl.rendering.core.jogl.JOGLRenderingEnvironmentFactory@70c9a89a
CONFIG : RenderingEnvironments: Created de.javagl.rendering.core.jogl.JOGLRenderingEnvironment@7455531e
WARNING: ErrorHandler$2: shader log:
WARNING: 0:1: ‘precision’ : symbol not available in current GLSL version
WARNING: 0:1: ‘highp’ : symbol not available in current GLSL version
WARNING: 0:19: ‘constructor’ : constructing matrix from matrix is allowed from GLSL 1.20 (reserved in GLSL 1.10)

WARNING: ErrorHandler$2: shader log:
WARNING: 0:1: ‘precision’ : symbol not available in current GLSL version
WARNING: 0:1: ‘highp’ : symbol not available in current GLSL version

Ah gut.

Die Warnings sind „ok“. Die Zeile

WARNING: 0:19: 'constructor' : constructing matrix from matrix is allowed from GLSL 1.20 (reserved in GLSL 1.10)

ist genau die, die im GL3-Profile keine Warning ist, sondern ein Error. Mit dem GL3bc sollte er da gnädiger sein, aber warum das „backwards compatibility“ Profile jetzt bei einigen nicht verfügbar ist … weiß ich gerade nicht.

Ich habe es jetzt mal auf
GLProfile profile = GLProfile.getMaxProgrammable(true);
geändert. Aber da er dabei wohl auf o.g. Systemen auch nur ein „core“- und kein „backwards compatibility“-Profile liefert, habe ich diesen Punkt jetzt mal (nicht in der Rendering-Lib, sondern im glTF-spezifischen Teil) … räusper… „pragmatisch“ gelöst:

        if (!vertexShaderCode.contains("#version"))
        {
            logger.warning(
                "Inserting GLSL version specifier in vertex shader code");
            vertexShaderCode = "#version 120
" + vertexShaderCode;
        }

Ja, schmerzt ein bißchen, aber … wenn jemand eine bessere Idee hat: Nur raus damit. :slight_smile:

(Ggf. auch zu der Frage, wie man LWJGL in eine Runnable JAR kriegt - das wäre etwas schlanker. Die 7.2 MB mit JOGL sind doch recht sperrig).

Die aktualisierte Version liegt wieder unter
http://javagl.de/rendering-demo-gltf-0.0.0-SNAPSHOT-jar-with-dependencies.jar

Eine etwas komplexere Szene (mit mehreren (fliegenden :D) Kameras) ist übrigens

java -jar rendering-demo-gltf-0.0.0-SNAPSHOT-jar-with-dependencies.jar https://github.com/KhronosGroup/glTF/raw/master/sampleModels/VC/glTF/VC.gltf

(Ja, die grauen Kästen sind Teil der Szene - da gibt’s auch schon nen Bug-Report dazu :rolleyes: )

Aber eigentlich sollten alle sampleModels funktionieren. Shortcuts im Menü (wie beim jgltf-browser) bau’ ich bei Gelegenheit noch ein.

Hmm, mit der CesiumMan.gltf:

[spoiler]$ java -jar rendering-demo-gltf-0.0.0-SNAPSHOT-jar-with-dependencies.jar https://github.com/KhronosGroup/glTF/raw/master/sampleModels/CesiumMan/glTF/CesiumMan.gltf
CONFIG : RenderingEnvironments: Found factory de.javagl.rendering.core.jogl.JOGLRenderingEnvironmentFactory@1d88c076
CONFIG : JOGLRenderingEnvironment: GLProfile: GLProfile[GL4/GL4.hw]
CONFIG : RenderingEnvironments: Created de.javagl.rendering.core.jogl.JOGLRenderingEnvironment@6af43253
WARNING: GltfRendering: Inserting GLSL version specifier in vertex shader code
WARNING: GltfRendering: Inserting GLSL version specifier in fragment shader code
WARNING: ErrorHandler$2: shader log:
0:2(1): error: illegal use of reserved word precision' 0:2(1): error: syntax error, unexpected ERROR_TOK WARNING: ErrorHandler$2: shader log: 0:2(1): error: illegal use of reserved wordprecision’
0:2(1): error: syntax error, unexpected ERROR_TOK
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-0] for a_joint
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-0] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-0] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-0] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-0] for a_weight[/spoiler]
Edit: Mit einem eingefügtem #version 400 geht es aber.

Und mit der VC.gltf:

[spoiler]$ java -jar rendering-demo-gltf-0.0.0-SNAPSHOT-jar-with-dependencies.jar https://github.com/KhronosGroup/glTF/raw/master/sampleModels/VC/glTF/VC.gltf
CONFIG : RenderingEnvironments: Found factory de.javagl.rendering.core.jogl.JOGLRenderingEnvironmentFactory@1d88c076
CONFIG : JOGLRenderingEnvironment: GLProfile: GLProfile[GL4/GL4.hw]
CONFIG : RenderingEnvironments: Created de.javagl.rendering.core.jogl.JOGLRenderingEnvironment@6af43253
WARNING: GltfRendering: Inserting GLSL version specifier in vertex shader code
WARNING: GltfRendering: Inserting GLSL version specifier in fragment shader code
WARNING: GltfRendering: Inserting GLSL version specifier in vertex shader code
WARNING: GltfRendering: Inserting GLSL version specifier in fragment shader code
WARNING: GltfRendering: Inserting GLSL version specifier in vertex shader code
WARNING: GltfRendering: Inserting GLSL version specifier in fragment shader code
WARNING: GltfRendering: Inserting GLSL version specifier in vertex shader code
WARNING: GltfRendering: Inserting GLSL version specifier in fragment shader code
WARNING: GltfRendering: Inserting GLSL version specifier in vertex shader code
WARNING: GltfRendering: Inserting GLSL version specifier in fragment shader code
WARNING: GltfRendering: Inserting GLSL version specifier in vertex shader code
WARNING: GltfRendering: Inserting GLSL version specifier in fragment shader code
WARNING: GltfRendering: Inserting GLSL version specifier in vertex shader code
WARNING: GltfRendering: Inserting GLSL version specifier in fragment shader code
WARNING: ErrorHandler$2: shader log:
0:2(1): error: illegal use of reserved word precision' 0:2(1): error: syntax error, unexpected ERROR_TOK WARNING: ErrorHandler$2: shader log: 0:2(1): error: illegal use of reserved wordprecision’
0:2(1): error: syntax error, unexpected ERROR_TOK
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: shader log:
0:2(1): error: illegal use of reserved word precision' 0:2(1): error: syntax error, unexpected ERROR_TOK WARNING: ErrorHandler$2: shader log: 0:2(1): error: illegal use of reserved wordprecision’
0:2(1): error: syntax error, unexpected ERROR_TOK
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: shader log:
0:2(1): error: illegal use of reserved word precision' 0:2(1): error: syntax error, unexpected ERROR_TOK WARNING: ErrorHandler$2: shader log: 0:2(1): error: illegal use of reserved wordprecision’
0:2(1): error: syntax error, unexpected ERROR_TOK
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-4] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-4] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-4] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-4] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: shader log:
0:2(1): error: illegal use of reserved word precision' 0:2(1): error: syntax error, unexpected ERROR_TOK WARNING: ErrorHandler$2: shader log: 0:2(1): error: illegal use of reserved wordprecision’
0:2(1): error: syntax error, unexpected ERROR_TOK
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-3] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-3] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-3] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_position
WARNING: ErrorHandler$2: shader log:
0:2(1): error: illegal use of reserved word precision' 0:2(1): error: syntax error, unexpected ERROR_TOK WARNING: ErrorHandler$2: shader log: 0:2(1): error: illegal use of reserved wordprecision’
0:2(1): error: syntax error, unexpected ERROR_TOK
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-0] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-0] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: shader log:
0:2(1): error: illegal use of reserved word precision' 0:2(1): error: syntax error, unexpected ERROR_TOK WARNING: ErrorHandler$2: shader log: 0:2(1): error: illegal use of reserved wordprecision’
0:2(1): error: syntax error, unexpected ERROR_TOK
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-5] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-5] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-5] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-2] for a_position
WARNING: ErrorHandler$2: shader log:
0:2(1): error: illegal use of reserved word precision' 0:2(1): error: syntax error, unexpected ERROR_TOK WARNING: ErrorHandler$2: shader log: 0:2(1): error: illegal use of reserved wordprecision’
0:2(1): error: syntax error, unexpected ERROR_TOK
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-6] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-6] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_normal
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_position
WARNING: ErrorHandler$2: No GLAttribute found in DefaultProgram[name=Program-1] for a_texcoord0[/spoiler]

Gruß
Fancy

Wie hast du das denn gemacht? Selbst den Cesium-Man runtergeladen, und dann mit file-URI?

Dreck. Anscheinend ist das OpenGL4-NICHT-bc-Profile da noch strikter!? Dass eine Websuche nach
„illegal use of reserved word `precision’“
nur 6 (!) Ergebnisse liefert, ist dann aber doch irritierend…

Diese ganzen glTF-Shader sind auf irgendein Steinaltes GLES ausgerichtet, und spezifizieren nicht die Versionsnummer, aber diese albernen precision-qualifier.

Hast du irgendeine Idee, warum keiner (außer mir :rolleyes: ) diese „Backward-Compatibility“-Profiles zu haben scheint?

Woanders stand jetzt die Empfehlung, „#version 130“ zu verwenden, um die precision qualifiers verwenden zu können. Aber soll 130 vs. 120 da wirklich der Grund sein?

Schon das mit dem Einfügen von „version 120“ war ein ziemlich händewedelnder Workaround, aber da jetzt willkürlich auf gut Glück
#version 330 compatibility
einzufügen wäre auch ziemlich unsystematisch. (400 kann man wohl nicht erwarten - bei ionutbaiu war das 4er jedenfalls noch nicht aufgelistet…)

Genau, hab das mit File-URI ausprobiert. Die 400 war nur geraten, weil ich nicht wusste ab wann das “precision” ignoriert wird.

Ich hab inzwischen auch mal was mit dem aktuellen Jogl gespielt, um zu sehen ob der irgendwie einen BC Kontext erzeugt, aber scheinbar will er nicht. Früher ging das aber. LWJGL scheint das Problem auch nicht zu haben, könnte also ein Bug in Jogl sein. Müsste man sich aber genauer ansehen, hab ewig nix mehr mit Jogl gemacht.

Der Linux OS OpenGL Treiber hält sich imho sehr genau an die OpenGL Spec. Wenn da ein Core Kontext erzeugt wird, dann hält der sich da imho sehr genau dran. Ob GL3 oder GL4 dürfte bezüglich des “precision” keinen Unterschied machen.

Ich befürchte eine schöne Lösung gibt es derzeit nicht. Damit das sauber wäre, gehört in den Shader die Version und in Jogl das BC Profil. Ich glaube ich würde mit getMaxProgrammable(true) zur Laufzeit die aktuellste OpenGL Version auswählen, die dann abfragen, daraus den passenden GLSL Versions-String basteln und den dann in den Shader einfügen (falls keiner da ist). Nicht schön, sollte aber in den meisten Fällen funktionieren.

Viele Grüße
Fancy

[QUOTE=Fancy]
Ich befürchte eine schöne Lösung gibt es derzeit nicht. Damit das sauber wäre, gehört in den Shader die Version und in Jogl das BC Profil. Ich glaube ich würde mit getMaxProgrammable(true) zur Laufzeit die aktuellste OpenGL Version auswählen, die dann abfragen, daraus den passenden GLSL Versions-String basteln und den dann in den Shader einfügen (falls keiner da ist).[/QUOTE]

Das scheitert im Moment zumindest daran, dass dort, wo der Shader verwendet wird, gar nicht mehr bekannt ist, dass zum Rendern dann JOGL verwendet wird. Das hat man nun von seinen Abstraktionsversuchen :rolleyes: Ich werd’ wohl doch nochmal versuchen, ob man LWJGL in eine Runnable JAR kriegt. (Und vielleicht, einen “schlanken” renderer zu schreiben - obwohl sich die leidliche Frage “JOGL oder LWJGL” dann doch wieder stellt, was eigentlich durch die Rendering-Lib vermieden werden sollte).

Es gibt ein kleines Update zum Gltf-Browser: Man kann jetzt auch OBJ importieren und als glTF (normal, embedded oder binary) abspeichern. Ist aber noch nicht releast.

Es gibt ein bißchen was neues. Aber … das alles nicht so ernst nehmen.

https://github.com/javagl/JglTF/tree/master/jgltf-validator : Ein Ansatz für einen glTF-Validator.
https://github.com/javagl/JglTF/tree/master/jgltf-viewer : Eine Basis-Library für einen glTF-Viewer
https://github.com/javagl/JglTF/tree/master/jgltf-viewer-jogl : Ein glTF-Viewer auf Basis von JOGL
https://github.com/javagl/JglTF/tree/master/jgltf-viewer-lwjgl : Ein glTF-Viewer auf Basis von LWJGL

Mit diesen viewern soll es möglich sein, das hier zu starten…

import java.net.URI;

import javax.swing.JFrame;
import javax.swing.SwingUtilities;

import de.javagl.jgltf.model.GltfData;
import de.javagl.jgltf.model.io.GltfDataReader;
import de.javagl.jgltf.viewer.GltfViewer;
import de.javagl.jgltf.viewer.jogl.GltfViewerJogl;

public class GltfViewerMiniDemo
{
    public static void main(String[] args) throws Exception
    {
        String uriString = 
            "https://raw.githubusercontent.com/KhronosGroup/glTF/master/" + 
            "sampleModels/Duck/glTF/Duck.gltf";
        GltfDataReader r = new GltfDataReader();
        GltfData gltfData = r.readGltfData(new URI(uriString));
        SwingUtilities.invokeLater(() -> createAndShowGui(gltfData));
    }
    
    private static void createAndShowGui(GltfData gltfData)
    {
        JFrame f = new JFrame();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        GltfViewer gltfViewer = new GltfViewerJogl();
        gltfViewer.addGltfData(gltfData);
        f.getContentPane().add(gltfViewer.getRenderComponent());
        f.setSize(500,500);
        f.setLocationRelativeTo(null);
        f.setVisible(true);
    }
}

und er zieht sich dann direkt aus dem Khronos-Samples-Repo die “Duck”, und zeigt sie an:

Vermutlich gibt’s dann wieder bei dem einen oder anderen Probleme, weil in den Samples eben keine Versionsnummern für die Shader drinstehen. Im Zweifelsfall kann man mal versuchen,
GltfViewer gltfViewer = new GltfViewerJogl();
durch
GltfViewer gltfViewer = new GltfViewerLwjgl();
zu ersetzen, um LWJGL zu verwenden - vielleicht geht’s dann :rolleyes:

Und naheliegenderweise war der nächste Schritt, diese Viewer auch mal in den Browser einzubauen. D.h. man kann theoretisch den Browser jetzt starten, sich aus dem Menü eines der Khronos-Sample-Models auswählen, und (mit Animation und allem) anzeigen lassen.

Dass der Browser auch OBJs importieren und als glTF abspeichern kann, hatte ich wohl schon erwähnt. Nun kann er sie zwischendrin auch anzeigen…

Ich habe gerade mal eine neue „preview release“ hochgeladen: Release jgltf-browser preview release 3 · javagl/JglTF · GitHub

Vielleicht mag sie ja jemand ausprobieren. Es sollte möglich sein, die

  • Direkt zu starten
  • Dann z.B. „Sample models“ → „CesiumMan“ → „glTF“ auszuwählen
  • (Warten, bis er ca. 1 MB runtergeladen hat)
  • Auf das „View“-Tab zu klicken
  • Auf „Show current glTF“ zu klicken
  • Das schon weiter oben mal gepostete Cesium-Männchen zu sehen - nach einem Klick auf „Animation“ auch animiert.

Per default wird mit JOGL gerendert - das hat weniger Probleme mit den natives in der JAR. Aber LWJLG sollte man in der ComboBox auch auswählen können (das Umschalten kann noch etwas glichty sein, aber … zum Testen), da ich die natives wie im LWJGL-Wiki beschrieben mit JarSplice mit in die JAR gepackt habe. (Bei mir geht’s jedenfalls :smiley: )

PBR, mit Modell (und größtenteils Shadern) von https://github.com/moneimne/WebGL-PBR/tree/master/models/damagedHelmet

Vielleicht auch hier mal ein kleines Update: JglTF unterstützt inzwischen glTF 2.0. Der Viewer (bzw. die Implementierung des PBR (Physically Based Rendering) müssen zwar noch erweitert und verbessert werden, aber die grundsätzliche Funktionalität ist schonmal da.