PilzHere / Foxenstein3D

A first person shooter game coded in Java with the LibGDX framework during the week-long LibGDX 15 Game Jam December 2020.
https://pilzhere.itch.io/ultra-nightmare
MIT License
16 stars 8 forks source link

MacOS crash with Error compiling shader: Vertex shader #4

Open habdankm opened 2 years ago

habdankm commented 2 years ago

Hi Christian,

In current version of a game on macOS Catalina 10.15.7 (19H1715), NVIDIA GeForce GT 650M 1 GB, I'm not able to run game. It crash with this exception: `Exception in thread "main" java.lang.IllegalArgumentException: Error compiling shader: Vertex shader ERROR: 0:1: '' : #version required and missing. ERROR: 0:1: 'attribute' : syntax error: syntax error Fragment shader: ERROR: 0:1: '' : #version required and missing. ERROR: 0:7: 'varying' : syntax error: syntax error

    at com.badlogic.gdx.graphics.g2d.SpriteBatch.createDefaultShader(SpriteBatch.java:163)
    at com.badlogic.gdx.graphics.g2d.SpriteBatch.<init>(SpriteBatch.java:126)
    at com.badlogic.gdx.graphics.g2d.SpriteBatch.<init>(SpriteBatch.java:80)
    at mysko.pilzhere.fox3d.Foxenstein3D.create(Foxenstein3D.java:51)
    at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Window.initializeListener(Lwjgl3Window.java:433)
    at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Window.update(Lwjgl3Window.java:381)
    at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.loop(Lwjgl3Application.java:141)
    at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.<init>(Lwjgl3Application.java:117)
    at mysko.pilzhere.fox3d.desktop.DesktopLauncher.main(DesktopLauncher.java:40)`
habdankm commented 2 years ago

Changing: desktop/src/mysko/pilzhere/fox3d/desktop/DesktopLauncher.java 36 config.useOpenGL3(true, 3, 3); // 3.3 Works on MacOSX to 36 config.useOpenGL3(false, 3, 2); // Note however that Mac OS X does only support 3.2 solve issue, but it's not best solution. trying: 36 config.useOpenGL3(true, 3, 2); give same error

habdankm commented 2 years ago

maybe you are willing to accept solution like this: if (System.getProperty("os.name").contains("Mac")) { config.useOpenGL3(false, 3, 2); } else { config.useOpenGL3(true, 3, 3); } than I can make small PR.