Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dungine: remove libGDX and improve the ECS approach (thesis/concept study) #1652

Merged
merged 661 commits into from
Dec 1, 2024

Conversation

fwatermann
Copy link
Contributor

To be filled...

@fwatermann
Copy link
Contributor Author

@fwatermann Wenn Du schon dabei bist: Es wäre gut, wenn die ursprünglichen Beispiele und Klassen auch nach dem Merge noch funktionieren würden, also wenn es am besten da keine Änderungen gäbe und Du Deine Demo als neue Starter irgendwo reintust. Dann ist das Projekt tatsächlich unabhängig und @AMatutat kann in Ruhe überlegen, wann wir ggf. umsteigen :)

Das betrifft diese Änderungen:

  • dsl-ide-support-with-lsp/intellij-plugin/.run/Run IDE with Plugin.run.xml: Das wird gelöscht?
  • game/build.gradle: Gut, das ist nur ein entfernter Kommentar. Aber gehört das wirklich hier mit rein?
  • game/src/core/components/PlayerComponent.java: Da ist ein Import verschwunden? Ich schätze, der wurde gebraucht? Hmmm.
  • game/src/core/game/GameLoop.java: Dito, einige Änderungen an den Importen.

Und die settings.gradle würde nach dem Merge auf einmal ein paar Subprojekte deaktivieren. Das war in der Bearbeitung für Dich sinnvoll, aber zum Merge würde ich das gern nur erweitern um Deine neuen Subprojekte :)

Hab die Dateien resettet. Das die Imports geändert sind, liegt an einer Einstellung in IntelliJ, wie Imports geschrieben werden. Die Standardeinstellung fasst ab einer definierten Anzahl an Imports aus dem selben Package diese zu package.* zusammen. Die Option ist bei mir deaktiviert (Settings > Editor > Code Style > Java > Imports > Class count to use import with '*'). Man könnte an dieser Stelle überlegen ob man das in die EditorConfig aufnimmt (ij_java_class_count_to_use_import_on_demand).

@cagix
Copy link
Member

cagix commented Oct 23, 2024

@fwatermann Wenn Du schon dabei bist: Es wäre gut, wenn die ursprünglichen Beispiele und Klassen auch nach dem Merge noch funktionieren würden, also wenn es am besten da keine Änderungen gäbe und Du Deine Demo als neue Starter irgendwo reintust. Dann ist das Projekt tatsächlich unabhängig und @AMatutat kann in Ruhe überlegen, wann wir ggf. umsteigen :)
Das betrifft diese Änderungen:

  • dsl-ide-support-with-lsp/intellij-plugin/.run/Run IDE with Plugin.run.xml: Das wird gelöscht?
  • game/build.gradle: Gut, das ist nur ein entfernter Kommentar. Aber gehört das wirklich hier mit rein?
  • game/src/core/components/PlayerComponent.java: Da ist ein Import verschwunden? Ich schätze, der wurde gebraucht? Hmmm.
  • game/src/core/game/GameLoop.java: Dito, einige Änderungen an den Importen.

Und die settings.gradle würde nach dem Merge auf einmal ein paar Subprojekte deaktivieren. Das war in der Bearbeitung für Dich sinnvoll, aber zum Merge würde ich das gern nur erweitern um Deine neuen Subprojekte :)

Hab die Dateien resettet.

Danke Dir :)

Das die Imports geändert sind, liegt an einer Einstellung in IntelliJ, wie Imports geschrieben werden. Die Standardeinstellung fasst ab einer definierten Anzahl an Imports aus dem selben Package diese zu package.* zusammen. Die Option ist bei mir deaktiviert (Settings > Editor > Code Style > Java > Imports > Class count to use import with '*'). Man könnte an dieser Stelle überlegen ob man das in die EditorConfig aufnimmt (ij_java_class_count_to_use_import_on_demand).

Hmmm, wusste gar nicht, dass man über die EditorConfig darauf Einfluss nehmen kann? Hatte eher Richtung Checkstyle oder (besser) Spotless vermutet?

@cagix
Copy link
Member

cagix commented Oct 23, 2024

@fwatermann Hmmm, es compiliert jetzt :) Aber Spotless und Checkstyle sind beide noch nicht happy. Kannst Du bitte noch einmal Spotless über Deinen Code laufen lassen? Bei Checkstyle fehlt bestimmt nur irgendwo noch ein Javadoc, oder die erste Zeile entspricht vielleicht noch nicht den Konventionen (muss mit einem "." enden)?

Edit: Hab grad in den Log geschaut. Spotless sollte easy sein (einmal ./gradlew spotlessApply starten). Aber Checkstyle hat doch einige offene Stellen ...

@cagix
Copy link
Member

cagix commented Oct 24, 2024

checks sind grün 🎉🥳

@cagix
Copy link
Member

cagix commented Oct 24, 2024

@fwatermann Ich hab noch eine Idee. In Deiner Abschlussarbeit beschreibst Du ja die verschiedenen Teile der Dungine und vergleichst das mit dem ursprünglichen Dungeon-Projekt. Ich könnte mir das gut als Dokumentation unter dungine/doc/ vorstellen.

Was denkst Du?

Afaik hattest Du ja mit dem Markdown-Template gearbeitet, oder? Da könntest Du das direkt rüberkopieren und das Hauptdokument nennst Du einfach readme.md, die anderen lässt Du so. Dann hätte das Subprojekt auch gleich noch etwas Doku dabei.

@AMatutat
Copy link
Contributor

@cagix hast du das auf Mac zum laufen bekommen? Ich scheitere an OpenGL

@cagix
Copy link
Member

cagix commented Oct 28, 2024

@cagix hast du das auf Mac zum laufen bekommen? Ich scheitere an OpenGL

@AMatutat habe nur in den Code geschaut ... d.h. hier müsste man an der Konfiguration noch arbeiten?

@fwatermann
Copy link
Contributor Author

@cagix hast du das auf Mac zum laufen bekommen? Ich scheitere an OpenGL

Das Problem sollte gefixt sein

@cagix
Copy link
Member

cagix commented Nov 6, 2024

@cagix hast du das auf Mac zum laufen bekommen? Ich scheitere an OpenGL

Das Problem sollte gefixt sein

@fwatermann @AMatutat Ich kriege es zumindest gebaut. Bei ./gradlew :dungine-demo:run kommt das Startfenster mit der Auswahl:

Screenshot 2024-11-06 at 12 52 20

Aber bei jedem Button (bis auf "Exit" :) stürzt das Mopped dann ab.


Bei "Beleuchtung":
> Task :dungine-demo:run
[06.11.2024 12:55:14.491/GameWindow@main/INFO] Initialized GameWindow: Dungine
[06.11.2024 12:55:15.015/GameWindow@main/INFO] OpenGL Version: 4.1 Metal - 89.3
[06.11.2024 12:55:15.036/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.window.FrameBufferResizeEvent by dungine.state.StateMainMenu
[06.11.2024 12:55:15.174/Font@main/DEBUG] Font "Open Sans" is a monochrome font
[06.11.2024 12:55:15.174/Font@main/DEBUG] FontFace loaded: "Open Sans" with 1 faces [color: false]
[06.11.2024 12:55:15.280/Font@main/DEBUG] Font loaded in 111ms
[06.11.2024 12:55:15.282/Font@main/DEBUG] Font "JetBrains Mono" is a monochrome font
[06.11.2024 12:55:15.283/Font@main/DEBUG] FontFace loaded: "JetBrains Mono" with 1 faces [color: false]
[06.11.2024 12:55:15.319/Font@main/DEBUG] Font loaded in 38ms
[06.11.2024 12:55:15.323/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.window.FrameBufferResizeEvent by de.fwatermann.dungine.ui.UIRoot
[06.11.2024 12:55:15.323/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.input.MouseButtonEvent by de.fwatermann.dungine.ui.UIRoot
[06.11.2024 12:55:15.323/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.input.MouseScrollEvent by de.fwatermann.dungine.ui.UIRoot
[06.11.2024 12:55:15.331/ShaderProgram@main/INFO] Successfully linked shader program: 4
[06.11.2024 12:55:15.335/ShaderProgram@main/WARN] Uniform 'uCameraPosition' not found in shader program
[06.11.2024 12:55:15.336/ShaderProgram@main/WARN] Uniform 'uModel' not found in shader program
[06.11.2024 12:55:15.346/ShaderProgram@main/INFO] Successfully linked shader program: 7
[06.11.2024 12:55:15.346/ShaderProgram@main/WARN] Uniform 'uCameraPosition' not found in shader program
2024-11-06 12:55:15.367 java[3153:180463] +[IMKClient subclass]: chose IMKClient_Modern
2024-11-06 12:55:15.367 java[3153:180463] +[IMKInputSession subclass]: chose IMKInputSession_Modern
[06.11.2024 12:55:15.381/EventManager@main/DEBUG] Registered static event handler for event type de.fwatermann.dungine.event.input.MouseButtonEvent by de.fwatermann.dungine.input.Mouse
[06.11.2024 12:55:16.331/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.window.FrameBufferResizeEvent by dungine.state.StateLighting
[06.11.2024 12:55:16.331/EventManager@main/DEBUG] Unregistered de.fwatermann.dungine.event.window.FrameBufferResizeEvent handler for object of dungine.state.StateMainMenu [1713833639]
[06.11.2024 12:55:16.331/EventManager@main/DEBUG] Unregistered de.fwatermann.dungine.event.input.MouseScrollEvent handler for object of de.fwatermann.dungine.ui.UIRoot [252738640]
[06.11.2024 12:55:16.331/EventManager@main/DEBUG] Unregistered de.fwatermann.dungine.event.input.MouseButtonEvent handler for object of de.fwatermann.dungine.ui.UIRoot [252738640]
[06.11.2024 12:55:16.331/EventManager@main/DEBUG] Unregistered de.fwatermann.dungine.event.window.FrameBufferResizeEvent handler for object of de.fwatermann.dungine.ui.UIRoot [252738640]
[06.11.2024 12:55:16.349/ClasspathResource@main/DEBUG] Resolving relative path: ../util/Lighting.fsh (/shaders/default/scene.fsh)
[06.11.2024 12:55:16.349/ClasspathResource@main/DEBUG] Resolving relative path: ./Material.fsh (/shaders/util/Lighting.fsh)
[06.11.2024 12:55:16.349/ClasspathResource@main/DEBUG] Resolving relative path: ./Animation.fsh (/shaders/util/Material.fsh)
[06.11.2024 12:55:16.350/ClasspathResource@main/DEBUG] Resolving relative path: ../util/Material.fsh (/shaders/default/scene.fsh)
[06.11.2024 12:55:16.350/Shader@main/DEBUG] Circular include detected: ../util/Material.fsh
[06.11.2024 12:55:16.351/Shader@main/ERROR] ERROR: 0:138: 'output' : Reserved word. 
ERROR: 0:138: 'output' : syntax error: syntax error

Exception in thread "main" de.fwatermann.dungine.exception.OpenGLException: Failed to compile shader: 

        at de.fwatermann.dungine.graphics.shader.Shader.initGL(Shader.java:213)
        at de.fwatermann.dungine.graphics.shader.Shader.<init>(Shader.java:188)
        at de.fwatermann.dungine.graphics.shader.Shader.loadShader(Shader.java:105)
        at de.fwatermann.dungine.graphics.scene.SceneRenderer.defaultShader(SceneRenderer.java:44)
        at de.fwatermann.dungine.graphics.scene.SceneRenderer.renderScene(SceneRenderer.java:62)
        at de.fwatermann.dungine.ecs.systems.RenderableSystem.update(RenderableSystem.java:101)
        at de.fwatermann.dungine.ecs.ECS.lambda$executeSystems$9(ECS.java:262)
        at java.base/java.util.HashMap$EntrySet.forEach(HashMap.java:1134)
        at de.fwatermann.dungine.ecs.ECS.executeSystems(ECS.java:257)
        at de.fwatermann.dungine.state.GameState.render(GameState.java:104)
        at de.fwatermann.dungine.window.GameWindow._renderLoop(GameWindow.java:342)
        at de.fwatermann.dungine.window.GameWindow._init(GameWindow.java:128)
        at de.fwatermann.dungine.window.GameWindow.start(GameWindow.java:604)
        at dungine.Main.main(Main.java:22)

Bei "CameraComponent":
> Task :dungine-demo:run
[06.11.2024 12:58:17.372/GameWindow@main/INFO] Initialized GameWindow: Dungine
[06.11.2024 12:58:17.941/GameWindow@main/INFO] OpenGL Version: 4.1 Metal - 89.3
[06.11.2024 12:58:17.964/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.window.FrameBufferResizeEvent by dungine.state.StateMainMenu
[06.11.2024 12:58:18.104/Font@main/DEBUG] Font "Open Sans" is a monochrome font
[06.11.2024 12:58:18.104/Font@main/DEBUG] FontFace loaded: "Open Sans" with 1 faces [color: false]
[06.11.2024 12:58:18.205/Font@main/DEBUG] Font loaded in 107ms
[06.11.2024 12:58:18.207/Font@main/DEBUG] Font "JetBrains Mono" is a monochrome font
[06.11.2024 12:58:18.207/Font@main/DEBUG] FontFace loaded: "JetBrains Mono" with 1 faces [color: false]
[06.11.2024 12:58:18.240/Font@main/DEBUG] Font loaded in 34ms
[06.11.2024 12:58:18.244/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.window.FrameBufferResizeEvent by de.fwatermann.dungine.ui.UIRoot
[06.11.2024 12:58:18.244/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.input.MouseButtonEvent by de.fwatermann.dungine.ui.UIRoot
[06.11.2024 12:58:18.244/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.input.MouseScrollEvent by de.fwatermann.dungine.ui.UIRoot
[06.11.2024 12:58:18.251/ShaderProgram@main/INFO] Successfully linked shader program: 4
[06.11.2024 12:58:18.255/ShaderProgram@main/WARN] Uniform 'uCameraPosition' not found in shader program
[06.11.2024 12:58:18.256/ShaderProgram@main/WARN] Uniform 'uModel' not found in shader program
[06.11.2024 12:58:18.266/ShaderProgram@main/INFO] Successfully linked shader program: 7
[06.11.2024 12:58:18.266/ShaderProgram@main/WARN] Uniform 'uCameraPosition' not found in shader program
2024-11-06 12:58:18.283 java[3209:183121] +[IMKClient subclass]: chose IMKClient_Modern
2024-11-06 12:58:18.283 java[3209:183121] +[IMKInputSession subclass]: chose IMKInputSession_Modern
[06.11.2024 12:58:18.298/EventManager@main/DEBUG] Registered static event handler for event type de.fwatermann.dungine.event.input.MouseButtonEvent by de.fwatermann.dungine.input.Mouse
[06.11.2024 12:58:19.556/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.input.KeyboardEvent by dungine.state.StateCameraTest
[06.11.2024 12:58:19.556/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.window.FrameBufferResizeEvent by dungine.state.StateCameraTest
[06.11.2024 12:58:19.557/EventManager@main/DEBUG] Unregistered de.fwatermann.dungine.event.window.FrameBufferResizeEvent handler for object of dungine.state.StateMainMenu [1713833639]
[06.11.2024 12:58:19.557/EventManager@main/DEBUG] Unregistered de.fwatermann.dungine.event.input.MouseScrollEvent handler for object of de.fwatermann.dungine.ui.UIRoot [252738640]
[06.11.2024 12:58:19.557/EventManager@main/DEBUG] Unregistered de.fwatermann.dungine.event.input.MouseButtonEvent handler for object of de.fwatermann.dungine.ui.UIRoot [252738640]
[06.11.2024 12:58:19.557/EventManager@main/DEBUG] Unregistered de.fwatermann.dungine.event.window.FrameBufferResizeEvent handler for object of de.fwatermann.dungine.ui.UIRoot [252738640]
[06.11.2024 12:58:19.591/ClasspathResource@main/DEBUG] Resolving relative path: ../util/Billboard.vsh (/shaders/3d/Sprite.vsh)
[06.11.2024 12:58:19.593/ClasspathResource@main/DEBUG] Resolving relative path: ../util/Animation.fsh (/shaders/3d/Sprite.fsh)


Java-VM tot ...

Bei "Erde, Mond & Sonne":
> Task :dungine-demo:run
[06.11.2024 12:59:14.691/GameWindow@main/INFO] Initialized GameWindow: Dungine
[06.11.2024 12:59:15.226/GameWindow@main/INFO] OpenGL Version: 4.1 Metal - 89.3
[06.11.2024 12:59:15.249/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.window.FrameBufferResizeEvent by dungine.state.StateMainMenu
[06.11.2024 12:59:15.392/Font@main/DEBUG] Font "Open Sans" is a monochrome font
[06.11.2024 12:59:15.393/Font@main/DEBUG] FontFace loaded: "Open Sans" with 1 faces [color: false]
[06.11.2024 12:59:15.497/Font@main/DEBUG] Font loaded in 111ms
[06.11.2024 12:59:15.499/Font@main/DEBUG] Font "JetBrains Mono" is a monochrome font
[06.11.2024 12:59:15.499/Font@main/DEBUG] FontFace loaded: "JetBrains Mono" with 1 faces [color: false]
[06.11.2024 12:59:15.534/Font@main/DEBUG] Font loaded in 36ms
[06.11.2024 12:59:15.539/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.window.FrameBufferResizeEvent by de.fwatermann.dungine.ui.UIRoot
[06.11.2024 12:59:15.539/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.input.MouseButtonEvent by de.fwatermann.dungine.ui.UIRoot
[06.11.2024 12:59:15.539/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.input.MouseScrollEvent by de.fwatermann.dungine.ui.UIRoot
[06.11.2024 12:59:15.546/ShaderProgram@main/INFO] Successfully linked shader program: 4
[06.11.2024 12:59:15.549/ShaderProgram@main/WARN] Uniform 'uCameraPosition' not found in shader program
[06.11.2024 12:59:15.550/ShaderProgram@main/WARN] Uniform 'uModel' not found in shader program
[06.11.2024 12:59:15.562/ShaderProgram@main/INFO] Successfully linked shader program: 7
[06.11.2024 12:59:15.562/ShaderProgram@main/WARN] Uniform 'uCameraPosition' not found in shader program
2024-11-06 12:59:15.583 java[3233:183974] +[IMKClient subclass]: chose IMKClient_Modern
2024-11-06 12:59:15.583 java[3233:183974] +[IMKInputSession subclass]: chose IMKInputSession_Modern
[06.11.2024 12:59:15.598/EventManager@main/DEBUG] Registered static event handler for event type de.fwatermann.dungine.event.input.MouseButtonEvent by de.fwatermann.dungine.input.Mouse
[06.11.2024 12:59:17.156/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.input.KeyboardEvent by dungine.state.StateSolarSystem
[06.11.2024 12:59:17.156/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.window.FrameBufferResizeEvent by dungine.state.StateSolarSystem
[06.11.2024 12:59:17.156/EventManager@main/DEBUG] Unregistered de.fwatermann.dungine.event.window.FrameBufferResizeEvent handler for object of dungine.state.StateMainMenu [1713833639]
[06.11.2024 12:59:17.157/EventManager@main/DEBUG] Unregistered de.fwatermann.dungine.event.input.MouseScrollEvent handler for object of de.fwatermann.dungine.ui.UIRoot [252738640]
[06.11.2024 12:59:17.157/EventManager@main/DEBUG] Unregistered de.fwatermann.dungine.event.input.MouseButtonEvent handler for object of de.fwatermann.dungine.ui.UIRoot [252738640]
[06.11.2024 12:59:17.157/EventManager@main/DEBUG] Unregistered de.fwatermann.dungine.event.window.FrameBufferResizeEvent handler for object of de.fwatermann.dungine.ui.UIRoot [252738640]
[06.11.2024 12:59:17.161/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.window.FrameBufferResizeEvent by de.fwatermann.dungine.ui.UIRoot
[06.11.2024 12:59:17.161/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.input.MouseButtonEvent by de.fwatermann.dungine.ui.UIRoot
[06.11.2024 12:59:17.161/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.input.MouseScrollEvent by de.fwatermann.dungine.ui.UIRoot
[06.11.2024 12:59:17.165/ShaderProgram@main/INFO] Successfully linked shader program: 10
[06.11.2024 12:59:17.165/ShaderProgram@main/WARN] Uniform 'uCameraPosition' not found in shader program
[06.11.2024 12:59:17.231/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.244/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.244/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.245/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.245/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.245/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.245/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.245/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.245/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.245/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.245/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.245/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.246/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.246/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.247/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.247/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.247/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.247/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.247/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.247/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.247/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.247/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.247/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.248/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.248/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.248/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.248/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.248/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.248/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.248/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.248/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.249/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.249/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.249/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.249/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.249/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.249/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.249/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.250/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.250/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.250/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.250/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.250/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.589/ModelLoader@main/DEBUG] Material: false
[06.11.2024 12:59:17.589/ModelLoader@main/DEBUG] Material: false
[06.11.2024 12:59:17.623/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.628/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.628/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.628/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.629/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.629/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.629/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.629/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.629/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.629/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.629/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.629/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.629/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.629/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.630/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.630/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.630/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.630/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.630/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.630/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.630/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.630/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.630/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.631/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.631/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.631/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.631/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.631/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.631/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.631/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.631/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.631/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.631/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.631/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.632/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.632/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.632/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.632/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.632/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.632/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.632/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.632/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.632/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.756/ModelLoader@main/DEBUG] Material: false
[06.11.2024 12:59:17.756/ModelLoader@main/DEBUG] Material: false
[06.11.2024 12:59:17.772/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.788/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.788/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.789/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.789/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.789/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.789/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.789/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.789/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.789/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.789/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.789/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.789/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.789/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.789/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.789/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.790/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.790/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.790/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.790/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.790/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.790/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.790/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.790/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.790/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.790/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.790/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.791/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.791/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.791/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.791/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.791/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.791/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.791/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.791/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.791/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.791/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.791/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.791/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.791/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.792/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.792/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:17.792/ModelLoader@main/DEBUG] Loading File: ###---###ROOTFILE###---###
[06.11.2024 12:59:18.284/ModelLoader@main/DEBUG] Material: false
[06.11.2024 12:59:18.284/ModelLoader@main/DEBUG] Material: false
[06.11.2024 12:59:18.336/StateSolarSystem@main/INFO] Loaded Solar System
[06.11.2024 12:59:18.338/ShaderProgram@main/INFO] Successfully linked shader program: 13
[06.11.2024 12:59:18.338/ShaderProgram@main/WARN] Uniform 'uCameraPosition' not found in shader program
[06.11.2024 12:59:18.338/ShaderProgram@main/WARN] Uniform 'uNear' not found in shader program
[06.11.2024 12:59:18.338/ShaderProgram@main/WARN] Uniform 'uFar' not found in shader program
[06.11.2024 12:59:18.342/ClasspathResource@main/DEBUG] Resolving relative path: ../util/Lighting.fsh (/shaders/default/scene.fsh)
[06.11.2024 12:59:18.342/ClasspathResource@main/DEBUG] Resolving relative path: ./Material.fsh (/shaders/util/Lighting.fsh)
[06.11.2024 12:59:18.342/ClasspathResource@main/DEBUG] Resolving relative path: ./Animation.fsh (/shaders/util/Material.fsh)
[06.11.2024 12:59:18.343/ClasspathResource@main/DEBUG] Resolving relative path: ../util/Material.fsh (/shaders/default/scene.fsh)
[06.11.2024 12:59:18.343/Shader@main/DEBUG] Circular include detected: ../util/Material.fsh
[06.11.2024 12:59:18.344/Shader@main/ERROR] ERROR: 0:138: 'output' : Reserved word. 
ERROR: 0:138: 'output' : syntax error: syntax error

Exception in thread "main" de.fwatermann.dungine.exception.OpenGLException: Failed to compile shader: 

        at de.fwatermann.dungine.graphics.shader.Shader.initGL(Shader.java:213)
        at de.fwatermann.dungine.graphics.shader.Shader.<init>(Shader.java:188)
        at de.fwatermann.dungine.graphics.shader.Shader.loadShader(Shader.java:105)
        at de.fwatermann.dungine.graphics.scene.SceneRenderer.defaultShader(SceneRenderer.java:44)
        at de.fwatermann.dungine.graphics.scene.SceneRenderer.renderScene(SceneRenderer.java:62)
        at de.fwatermann.dungine.ecs.systems.RenderableSystem.update(RenderableSystem.java:101)
        at de.fwatermann.dungine.ecs.ECS.lambda$executeSystems$9(ECS.java:262)
        at java.base/java.util.HashMap$EntrySet.forEach(HashMap.java:1134)
        at de.fwatermann.dungine.ecs.ECS.executeSystems(ECS.java:257)
        at de.fwatermann.dungine.state.GameState.render(GameState.java:104)
        at de.fwatermann.dungine.window.GameWindow._renderLoop(GameWindow.java:342)
        at de.fwatermann.dungine.window.GameWindow._init(GameWindow.java:128)
        at de.fwatermann.dungine.window.GameWindow.start(GameWindow.java:604)
        at dungine.Main.main(Main.java:22)


Bei "PlayerComponent":
> Task :dungine-demo:run
[06.11.2024 13:01:03.673/GameWindow@main/INFO] Initialized GameWindow: Dungine
[06.11.2024 13:01:04.202/GameWindow@main/INFO] OpenGL Version: 4.1 Metal - 89.3
[06.11.2024 13:01:04.225/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.window.FrameBufferResizeEvent by dungine.state.StateMainMenu
[06.11.2024 13:01:04.364/Font@main/DEBUG] Font "Open Sans" is a monochrome font
[06.11.2024 13:01:04.364/Font@main/DEBUG] FontFace loaded: "Open Sans" with 1 faces [color: false]
[06.11.2024 13:01:04.460/Font@main/DEBUG] Font loaded in 101ms
[06.11.2024 13:01:04.462/Font@main/DEBUG] Font "JetBrains Mono" is a monochrome font
[06.11.2024 13:01:04.462/Font@main/DEBUG] FontFace loaded: "JetBrains Mono" with 1 faces [color: false]
[06.11.2024 13:01:04.494/Font@main/DEBUG] Font loaded in 33ms
[06.11.2024 13:01:04.498/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.window.FrameBufferResizeEvent by de.fwatermann.dungine.ui.UIRoot
[06.11.2024 13:01:04.498/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.input.MouseButtonEvent by de.fwatermann.dungine.ui.UIRoot
[06.11.2024 13:01:04.498/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.input.MouseScrollEvent by de.fwatermann.dungine.ui.UIRoot
[06.11.2024 13:01:04.505/ShaderProgram@main/INFO] Successfully linked shader program: 4
[06.11.2024 13:01:04.508/ShaderProgram@main/WARN] Uniform 'uCameraPosition' not found in shader program
[06.11.2024 13:01:04.508/ShaderProgram@main/WARN] Uniform 'uModel' not found in shader program
[06.11.2024 13:01:04.518/ShaderProgram@main/INFO] Successfully linked shader program: 7
[06.11.2024 13:01:04.518/ShaderProgram@main/WARN] Uniform 'uCameraPosition' not found in shader program
2024-11-06 13:01:04.539 java[3288:185729] +[IMKClient subclass]: chose IMKClient_Modern
2024-11-06 13:01:04.539 java[3288:185729] +[IMKInputSession subclass]: chose IMKInputSession_Modern
[06.11.2024 13:01:04.556/EventManager@main/DEBUG] Registered static event handler for event type de.fwatermann.dungine.event.input.MouseButtonEvent by de.fwatermann.dungine.input.Mouse
[06.11.2024 13:01:08.543/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.window.FrameBufferResizeEvent by dungine.state.StatePlayerTest
[06.11.2024 13:01:08.543/EventManager@main/DEBUG] Unregistered de.fwatermann.dungine.event.window.FrameBufferResizeEvent handler for object of dungine.state.StateMainMenu [1713833639]
[06.11.2024 13:01:08.544/EventManager@main/DEBUG] Unregistered de.fwatermann.dungine.event.input.MouseScrollEvent handler for object of de.fwatermann.dungine.ui.UIRoot [252738640]
[06.11.2024 13:01:08.544/EventManager@main/DEBUG] Unregistered de.fwatermann.dungine.event.input.MouseButtonEvent handler for object of de.fwatermann.dungine.ui.UIRoot [252738640]
[06.11.2024 13:01:08.544/EventManager@main/DEBUG] Unregistered de.fwatermann.dungine.event.window.FrameBufferResizeEvent handler for object of de.fwatermann.dungine.ui.UIRoot [252738640]
[06.11.2024 13:01:08.573/ClasspathResource@main/DEBUG] Resolving relative path: /shaders/util/TextureAtlas.fsh (/shaders/level.fsh)
Exception in thread "main" de.fwatermann.dungine.exception.OpenGLException: Failed to link shader program: ERROR: Implementation limit of 16 active fragment shader samplers (e.g., maximum number of supported image units) exceeded, fragment shader uses 33 samplers

        at de.fwatermann.dungine.graphics.shader.ShaderProgram.glInit(ShaderProgram.java:73)
        at de.fwatermann.dungine.graphics.shader.ShaderProgram.<init>(ShaderProgram.java:58)
        at dungine.level.OptimizedLevel.render(OptimizedLevel.java:78)
        at de.fwatermann.dungine.ecs.systems.RenderableSystem.lambda$update$4(RenderableSystem.java:96)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
        at java.base/java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:357)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
        at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
        at de.fwatermann.dungine.ecs.systems.RenderableSystem.update(RenderableSystem.java:96)
        at de.fwatermann.dungine.ecs.ECS.lambda$executeSystems$9(ECS.java:262)
        at java.base/java.util.HashMap$EntrySet.forEach(HashMap.java:1134)
        at de.fwatermann.dungine.ecs.ECS.executeSystems(ECS.java:257)
        at de.fwatermann.dungine.state.GameState.render(GameState.java:104)
        at de.fwatermann.dungine.window.GameWindow._renderLoop(GameWindow.java:342)
        at de.fwatermann.dungine.window.GameWindow._init(GameWindow.java:128)
        at de.fwatermann.dungine.window.GameWindow.start(GameWindow.java:604)
        at dungine.Main.main(Main.java:22)

Bei "3D-Level":
> Task :dungine-demo:run
[06.11.2024 13:01:31.278/GameWindow@main/INFO] Initialized GameWindow: Dungine
[06.11.2024 13:01:31.797/GameWindow@main/INFO] OpenGL Version: 4.1 Metal - 89.3
[06.11.2024 13:01:31.821/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.window.FrameBufferResizeEvent by dungine.state.StateMainMenu
[06.11.2024 13:01:31.959/Font@main/DEBUG] Font "Open Sans" is a monochrome font
[06.11.2024 13:01:31.959/Font@main/DEBUG] FontFace loaded: "Open Sans" with 1 faces [color: false]
[06.11.2024 13:01:32.049/Font@main/DEBUG] Font loaded in 94ms
[06.11.2024 13:01:32.052/Font@main/DEBUG] Font "JetBrains Mono" is a monochrome font
[06.11.2024 13:01:32.052/Font@main/DEBUG] FontFace loaded: "JetBrains Mono" with 1 faces [color: false]
[06.11.2024 13:01:32.084/Font@main/DEBUG] Font loaded in 34ms
[06.11.2024 13:01:32.088/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.window.FrameBufferResizeEvent by de.fwatermann.dungine.ui.UIRoot
[06.11.2024 13:01:32.088/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.input.MouseButtonEvent by de.fwatermann.dungine.ui.UIRoot
[06.11.2024 13:01:32.088/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.input.MouseScrollEvent by de.fwatermann.dungine.ui.UIRoot
[06.11.2024 13:01:32.094/ShaderProgram@main/INFO] Successfully linked shader program: 4
[06.11.2024 13:01:32.097/ShaderProgram@main/WARN] Uniform 'uCameraPosition' not found in shader program
[06.11.2024 13:01:32.098/ShaderProgram@main/WARN] Uniform 'uModel' not found in shader program
[06.11.2024 13:01:32.108/ShaderProgram@main/INFO] Successfully linked shader program: 7
[06.11.2024 13:01:32.109/ShaderProgram@main/WARN] Uniform 'uCameraPosition' not found in shader program
2024-11-06 13:01:32.128 java[3311:186267] +[IMKClient subclass]: chose IMKClient_Modern
2024-11-06 13:01:32.128 java[3311:186267] +[IMKInputSession subclass]: chose IMKInputSession_Modern
[06.11.2024 13:01:32.142/EventManager@main/DEBUG] Registered static event handler for event type de.fwatermann.dungine.event.input.MouseButtonEvent by de.fwatermann.dungine.input.Mouse
[06.11.2024 13:01:34.179/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.input.KeyboardEvent by dungine.state.State3dLevel
[06.11.2024 13:01:34.180/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.window.FrameBufferResizeEvent by dungine.state.State3dLevel
[06.11.2024 13:01:34.180/EventManager@main/DEBUG] Unregistered de.fwatermann.dungine.event.window.FrameBufferResizeEvent handler for object of dungine.state.StateMainMenu [1713833639]
[06.11.2024 13:01:34.180/EventManager@main/DEBUG] Unregistered de.fwatermann.dungine.event.input.MouseScrollEvent handler for object of de.fwatermann.dungine.ui.UIRoot [252738640]
[06.11.2024 13:01:34.180/EventManager@main/DEBUG] Unregistered de.fwatermann.dungine.event.input.MouseButtonEvent handler for object of de.fwatermann.dungine.ui.UIRoot [252738640]
[06.11.2024 13:01:34.180/EventManager@main/DEBUG] Unregistered de.fwatermann.dungine.event.window.FrameBufferResizeEvent handler for object of de.fwatermann.dungine.ui.UIRoot [252738640]
[06.11.2024 13:01:34.200/RoomsGenerator@main/DEBUG] Generated room at ( 2.000E+1  0.000E+0 -4.000E+1) with size ( 1.500E+1  1.400E+1)
[06.11.2024 13:01:34.200/RoomsGenerator@main/DEBUG] Generated room at (-9.000E+0  0.000E+0 -7.000E+0) with size ( 9.000E+0  1.200E+1)
[06.11.2024 13:01:34.201/RoomsGenerator@main/DEBUG] Generated room at ( 3.000E+1  0.000E+0  1.300E+1) with size ( 1.700E+1  1.700E+1)
[06.11.2024 13:01:34.201/RoomsGenerator@main/DEBUG] Generated room at ( 5.000E+0  0.000E+0 -3.800E+1) with size ( 1.700E+1  1.300E+1)
[06.11.2024 13:01:34.201/RoomsGenerator@main/DEBUG] Generated room at (-6.000E+0  0.000E+0 -5.000E+0) with size ( 1.900E+1  1.600E+1)
[06.11.2024 13:01:34.201/RoomsGenerator@main/DEBUG] Generated room at (-2.000E+0  0.000E+0 -4.500E+1) with size ( 9.000E+0  9.000E+0)
[06.11.2024 13:01:34.201/RoomsGenerator@main/DEBUG] Generated room at (-5.000E+0  0.000E+0 -2.100E+1) with size ( 1.000E+1  1.400E+1)
[06.11.2024 13:01:34.201/RoomsGenerator@main/DEBUG] Generated room at (-2.400E+1  0.000E+0  7.000E+0) with size ( 1.300E+1  1.100E+1)
[06.11.2024 13:01:34.201/RoomsGenerator@main/DEBUG] Generated room at ( 5.000E+0  0.000E+0  1.200E+1) with size ( 1.400E+1  8.000E+0)
[06.11.2024 13:01:34.201/RoomsGenerator@main/DEBUG] Generated room at (-1.000E+1  0.000E+0  3.200E+1) with size ( 1.500E+1  1.900E+1)
[06.11.2024 13:01:34.202/RoomsGenerator@main/DEBUG] Generated room at ( 2.400E+1  0.000E+0  3.200E+1) with size ( 1.000E+1  1.300E+1)
[06.11.2024 13:01:34.202/RoomsGenerator@main/DEBUG] Generated room at ( 1.200E+1  0.000E+0 -5.100E+1) with size ( 8.000E+0  1.100E+1)
[06.11.2024 13:01:34.202/RoomsGenerator@main/DEBUG] Generated room at (-3.200E+1  0.000E+0  0.000E+0) with size ( 8.000E+0  9.000E+0)
[06.11.2024 13:01:34.202/RoomsGenerator@main/DEBUG] Generated room at (-1.000E+0  0.000E+0 -5.200E+1) with size ( 9.000E+0  8.000E+0)
[06.11.2024 13:01:34.202/RoomsGenerator@main/DEBUG] Generated room at (-2.800E+1  0.000E+0  1.200E+1) with size ( 1.100E+1  1.100E+1)
[06.11.2024 13:01:34.202/RoomsGenerator@main/DEBUG] Generated room at (-9.000E+0  0.000E+0 -2.400E+1) with size ( 9.000E+0  1.500E+1)
[06.11.2024 13:01:34.202/RoomsGenerator@main/DEBUG] Generated room at (-1.700E+1  0.000E+0  2.400E+1) with size ( 1.200E+1  1.200E+1)
[06.11.2024 13:01:34.202/RoomsGenerator@main/DEBUG] Generated room at (-3.700E+1  0.000E+0 -1.700E+1) with size ( 1.100E+1  1.900E+1)
[06.11.2024 13:01:34.202/RoomsGenerator@main/DEBUG] Generated room at (-2.000E+0  0.000E+0 -5.200E+1) with size ( 1.200E+1  1.400E+1)
[06.11.2024 13:01:34.203/RoomsGenerator@main/DEBUG] Generated room at ( 2.800E+1  0.000E+0  1.000E+0) with size ( 1.000E+1  1.100E+1)
[06.11.2024 13:01:34.203/RoomsGenerator@main/DEBUG] Generated room at (-1.500E+1  0.000E+0 -4.100E+1) with size ( 1.200E+1  1.300E+1)
[06.11.2024 13:01:34.335/ShaderProgram@main/INFO] Successfully linked shader program: 10
[06.11.2024 13:01:34.336/ShaderProgram@main/WARN] Uniform 'uCameraPosition' not found in shader program
[06.11.2024 13:01:34.336/ShaderProgram@main/WARN] Uniform 'uNear' not found in shader program
[06.11.2024 13:01:34.336/ShaderProgram@main/WARN] Uniform 'uFar' not found in shader program
[06.11.2024 13:01:34.342/ClasspathResource@main/DEBUG] Resolving relative path: /shaders/util/TextureAtlas.fsh (/shaders/level3d/chunk.fsh)
Exception in thread "main" de.fwatermann.dungine.exception.OpenGLException: Failed to link shader program: ERROR: Implementation limit of 16 active fragment shader samplers (e.g., maximum number of supported image units) exceeded, fragment shader uses 33 samplers

        at de.fwatermann.dungine.graphics.shader.ShaderProgram.glInit(ShaderProgram.java:73)
        at de.fwatermann.dungine.graphics.shader.ShaderProgram.<init>(ShaderProgram.java:58)
        at dungine.level.level3d.Chunk.initShader(Chunk.java:105)
        at dungine.level.level3d.Level3D.render(Level3D.java:121)
        at de.fwatermann.dungine.ecs.systems.RenderableSystem.lambda$update$4(RenderableSystem.java:96)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
        at java.base/java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:357)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
        at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
        at de.fwatermann.dungine.ecs.systems.RenderableSystem.update(RenderableSystem.java:96)
        at de.fwatermann.dungine.ecs.ECS.lambda$executeSystems$9(ECS.java:262)
        at java.base/java.util.HashMap$EntrySet.forEach(HashMap.java:1134)
        at de.fwatermann.dungine.ecs.ECS.executeSystems(ECS.java:257)
        at de.fwatermann.dungine.state.GameState.render(GameState.java:104)
        at de.fwatermann.dungine.window.GameWindow._renderLoop(GameWindow.java:342)
        at de.fwatermann.dungine.window.GameWindow._init(GameWindow.java:128)
        at de.fwatermann.dungine.window.GameWindow.start(GameWindow.java:604)
        at dungine.Main.main(Main.java:22)

Hmmm. Es geht i.d.R. bei de.fwatermann.dungine.graphics.shader.ShaderProgram.glInit(ShaderProgram.java:73) bzw. de.fwatermann.dungine.graphics.shader.Shader.initGL(Shader.java:213) kaputt. Nur in einem Fall (CameraComponent) stirbt gleich die gesamte JVM mit weg.

Ich werde das Gefühl nicht los, dass hier irgendwas noch fehlt bzw. noch nicht plattformspezifisch runtergeladen wird?

@fwatermann
Copy link
Contributor Author

fwatermann commented Nov 6, 2024

@cagix hast du das auf Mac zum laufen bekommen? Ich scheitere an OpenGL

Das Problem sollte gefixt sein

@fwatermann @AMatutat Ich kriege es zumindest gebaut. Bei ./gradlew :dungine-demo:run kommt das Startfenster mit der Auswahl:

Screenshot 2024-11-06 at 12 52 20 Aber bei jedem Button (bis auf "Exit" :) stürzt das Mopped dann ab.

Bei "Beleuchtung":
Bei "CameraComponent":
Bei "Erde, Mond & Sonne":
Bei "PlayerComponent":
Bei "3D-Level":

@cagix Die beiden Fehler sollten gefixt sein. Habe nur leider keinen Mac zum testen da :/

@cagix
Copy link
Member

cagix commented Nov 6, 2024

@fwatermann du bist echt schnell! bist du sicher, dass du nicht im dungeon mal was machen willst?

ich bin grad komplett unter wasser, hoffentlich kann ich das heute nochmal starten.

@cagix
Copy link
Member

cagix commented Nov 6, 2024

@cagix Die beiden Fehler sollten gefixt sein. Habe nur leider keinen Mac zum testen da :/

hmmm. gefixt insofern, dass jetzt in allem items die jvm hart abstürzt 🤣

das letzte, was vor dem absturz kommt, war [06.11.2024 15:07:08.822/ClasspathResource@main/DEBUG] Resolving relative path: ../util/Animation.fsh (/shaders/3d/Sprite.fsh) bzw. [06.11.2024 15:07:16.613/Shader@main/DEBUG] Circular include detected: ../util/Material.fsh ...

edit: ich hab mal meine gradle-caches geleert (lokal im projekt, global aufm rechner) und nochmal neu gebaut - selbes ergebnis.

@cagix cagix marked this pull request as ready for review November 6, 2024 14:09
@cagix cagix self-requested a review as a code owner November 6, 2024 14:09
Copy link
Member

@cagix cagix left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Irgendwas klemmt auf macOS (ARM) mit der geladenen Bibliothek - die Java-VM stürzt hart ab. Entweder muss noch was an der Gradle-Konfiguration angepasst werden oder die Lib tut einfach nicht auf ARM? Dem muss noch nachgegangen werden (@cagix, @AMatutat).

Wir haben bei der Demo verabredet, dass im Doc-Ordner noch die relevanten Teile der BA als Markdown reinkommen (@fwatermann).

@fwatermann Du kannst die Literatur-Referenzen mit Pandoc auflösen:

pandoc -s -t gfm -f markdown 
       -M lang=de-DE --metadata-file=md/metadata.yml 
       --citeproc -M bibliography=references.bib -M link-citations=true 
       md/INPUT1.md md/INPUT2.md md/INPUT3.md md/INPUT4.md 
       -o OUTPUT.md

... ggf. möchtest Du als letzte Überschrift noch ein ## Quellen einfügen (das Verzeichnis wird nämlich einfach ans Ende des Dokuments gepackt).

@cagix
Copy link
Member

cagix commented Dec 1, 2024

Mist. Auf einem Intel-Mac kommt nicht mal das Auswahlfenster hoch. Das Ding geht sofort mit einem java.lang.UnsatisfiedLinkError sterben ...

> Task :dungine-demo:run
[01.12.2024 13:27:57.425/GameWindow@main/INFO] Initialized GameWindow: Dungine
[01.12.2024 13:28:00.021/GameWindow@main/INFO] OpenGL Version: 4.1 INTEL-23.0.2
[01.12.2024 13:28:00.065/EventManager@main/DEBUG] Registered event handler for event type de.fwatermann.dungine.event.window.FrameBufferResizeEvent by dungine.state.StateMainMenu
Exception in thread "main" java.lang.UnsatisfiedLinkError: Failed to dynamically load library: /var/folders/1c/b8hxgmzd01x4gfb415b96tqc0000gn/T/lwjgl_cagix/3.3.3-snapshot/x64/libfreetype.dylib(error = null)
        at org.lwjgl.system.macosx.MacOSXLibraryDL.loadLibrary(MacOSXLibraryDL.java:33)
        at org.lwjgl.system.macosx.MacOSXLibraryDL.<init>(MacOSXLibraryDL.java:20)
        at org.lwjgl.system.macosx.MacOSXLibrary.create(MacOSXLibrary.java:27)
        at org.lwjgl.system.APIUtil.apiCreateLibrary(APIUtil.java:130)
        at org.lwjgl.system.Library.loadNative(Library.java:382)
        at org.lwjgl.system.Library.loadNativeFromLibraryPath(Library.java:371)
        at org.lwjgl.system.Library.loadNative(Library.java:285)
        at org.lwjgl.system.Library.loadNative(Library.java:236)
        at org.lwjgl.util.freetype.FreeType.<clinit>(FreeType.java:44)
        at de.fwatermann.dungine.graphics.text.Font.<clinit>(Font.java:52)
        at dungine.state.StateMainMenu.init(StateMainMenu.java:47)
        at de.fwatermann.dungine.window.GameWindow.lambda$setState$11(GameWindow.java:750)
        at de.fwatermann.dungine.window.GameWindow.lambda$_renderLoop$9(GameWindow.java:357)
        at java.base/java.util.concurrent.ConcurrentLinkedQueue.forEachFrom(ConcurrentLinkedQueue.java:1037)
        at java.base/java.util.concurrent.ConcurrentLinkedQueue.forEach(ConcurrentLinkedQueue.java:1054)
        at de.fwatermann.dungine.window.GameWindow._renderLoop(GameWindow.java:357)
        at de.fwatermann.dungine.window.GameWindow._init(GameWindow.java:128)
        at de.fwatermann.dungine.window.GameWindow.start(GameWindow.java:604)
        at dungine.Main.main(Main.java:22)

@cagix cagix changed the title [Thesis] Implementation der Dungine. Dungine: remove libGDX and improve the ECS approach (thesis/concept study) Dec 1, 2024
Copy link
Member

@cagix cagix left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@AMatutat Ich kriege das weder unter Intel-Mac noch M1-Mac zum Laufen. Das scheint aber vor allem ein Konfigurationsproblem zu sein, der Code läuft aber tatsächlich, zumindest unter Windows (@fwatermann hatte @bcg7 und mir nochmal ne Demo gezeigt). @bcg7 wollte eigentlich auch nochmal schauen, ob es auch unter Linux tut, aber vermutlich hat sie keine Zeit.

Ich finde das Ergebnis trotzdem sehr spannend und würde es gern zumindest als Konzeptstudie mergen. Da sind neben dem direkten Einsatz von LWJGL/Verzicht auf libGDX viele interessante Ideen drin, die den Code im "alten" Dungeon deutlich verbessern könnten.

@cagix cagix merged commit a0b9364 into Dungeon-CampusMinden:master Dec 1, 2024
8 checks passed
@AMatutat
Copy link
Contributor

AMatutat commented Dec 3, 2024

@AMatutat Ich kriege das weder unter Intel-Mac noch M1-Mac zum Laufen. Das scheint aber vor allem ein Konfigurationsproblem zu sein, der Code läuft aber tatsächlich, zumindest unter Windows (@fwatermann hatte @bcg7 und mir nochmal ne Demo gezeigt). @bcg7 wollte eigentlich auch nochmal schauen, ob es auch unter Linux tut, aber vermutlich hat sie keine Zeit.

Hmm okay intel-mac hätte ich jetzt eigentlich erwartet....

Ich finde das Ergebnis trotzdem sehr spannend und würde es gern zumindest als Konzeptstudie mergen. Da sind neben dem direkten Einsatz von LWJGL/Verzicht auf libGDX viele interessante Ideen drin, die den Code im "alten" Dungeon deutlich verbessern könnten.

Gibts Fotos oder so? Hab das noch gar nicht gesehen

@cagix
Copy link
Member

cagix commented Dec 3, 2024

Gibts Fotos oder so? Hab das noch gar nicht gesehen

Leider nein, auch kein Screencast. Sieht erstmal so aus wie unser Dungeon (selbes Tile-Set), aber Du kannst halt beliebig hoch und runter ... und da, wo die Tiles nicht hinkommen, sieht es aus wie das Holodeck vor dem Start 😃

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants