2014-04-26 3 views
0

J'essaie d'exécuter mon techdemo pour un rendu 3D en utilisant le moteur 3d jme3 et la librairie jmeplanet. Il affiche l'écran de démarrage et commence à rendre la scène 3D mais au démarrage du contrôle et se déplace dans le gameworld, il se bloque cette erreur msg. Pouvez-vous m'aider à interpréter ce que cela signifie? Les projets s'exécutent correctement sur MS-Windows 8.1 (mais il obtient également une deuxième pile-trace différente sur Ubuntu).Comment gérer une exception de shader Java 7 LWJGL?

enter image description here

+1

Ceci est un problème avec votre fragment shader (morceau de code qui s'exécute sur la carte graphique). Avez-vous essayé d'éditer le fragment shader? Si oui, pouvez-vous l'inclure dans la question (avec le fichier matériau j3md correspondant)? –

+1

Btw la raison la plus probable pour différentes erreurs sur différents ordinateurs sera due à différents fragment shaders pour différentes versions d'OpenGL; il est probable que seulement 1 est cassé –

+1

Avez-vous mis à jour les derniers pilotes graphiques encore ?? – Zeus

Répondre

1

Selon l'erreur, il semble que l'OpenGL a été incapable de compiler votre fragment shader, puisque l'erreur indique que la version de GLSL est 1 (langue = GLSL100) qui est très vieux, je suppose la syntaxe utilisée pour créer le shader est destinée à un niveau supérieur d'OpenGL. Essayez de voir quelle version d'OpenGL le moteur utilise et si elle est supportée par votre carte graphique. Essayez également de vérifier si le code source de ce fragment shader contient la directive #version XXXX à la première ligne, s'il n'essaie pas d'ajouter la version GLSL de la version OpenGL utilisée par le moteur.

Si cela n'a pas résolu votre problème, veuillez poster ici le code source de ce fragment shader.

+0

J'ai trouvé où être explicite sur la version OpenGL dans 'AppSettings.java' et maintenant je vais l'essayer la prochaine fois que j'ai un autre OS que Win 8.1. Je suis également en train de tester avec Ubuntu émulé dans Virtuabox où il obtient un stacktrace différent. –

+0

Je pense que sur un système d'exploitation émulé il doit y avoir quelques options pour activer l'accélération matérielle (opengl, directx, etc.). Assurez-vous qu'il est activé avant de tester – UnTraDe

Questions connexes