Error beim Starten

Skaldarnar

Development Lead
Contributor
Art
World
SpecOps
Hi @Script Shadowx - warst du zufällig vor kurzem schon mal im IRC Chat und hast dort deine Log-Datei gepostet (als Shadowxx?)? Ich nehme jetzt einfach mal an du warst es ;)


Was benutzt du für einen PC/Laptop? Die Log-Datei spricht für eine (integrierte) Intel-Grafikeinheit. Mit diesen gibt es öfter Probleme. Im Log sieht es außerdem so aus als würdest du Cygwin und einen Mix aus 64-bit Betriebssystem und 32-bit Programmen verwenden.

PS: wenn jemand mit "@..." gennant wird gibt's ne Benachrichtigung, @Cervator möchte also nur die beiden User auf dieses Problem aufmerksam machen ;)
 

manu3d

Active Member
Contributor
Architecture
Hmmm. I'm just guessing, but I suspect there's a mismatch between the shader's GLSL version and what the compiler available on Script Shadowx's system can handle. In particular the array initialization highlighted at the end of the compiler error is perhaps due to that feature being available from GLSL v1.20. We check for the user's system compatibility with Opengl 2.0, but this include GLSL only up to 1.10.

It also doesn't help that the shader does not have a #version XXX line to help identify which GLSL version it is written in. If it had that, by my understanding the compiler would have refused to even begin compilation and we would have known right away about the nature of the problem.

I guess what we could do is to add #version 110 statements to all shaders and see which ones fail. For those that fail raise the version number and iterate until all shaders have an appropriate #version line. Then we can add a check in LwjglGraphics.checkOpenGL() to make sure that the compiler provided by the opengl driver can handle the highest GSLS version we use. This would inform the user of where the problem is.

On our side, we'd also need to make sure that either we do not use GLSL higher than the version we check against OR we raise the version demanded by the check when the need arises. I guess the class that actually compiles the shader (GLSLShader) might be able to intercept the #version line before compilation and ensure it isn't too high. This way new shaders would trigger an error while in development instead of at the end-user.

@Cervator, any chance you can open an issue about this so that it doesn't get lost? Assign it to me please. I can probably handle it, I just don't know when.

@Script Shadowx Er tut mir leid jetzt kann ich nicht mehr hilfe.
 
Top