Java GPU raytracer
core: Main module with the application logic shared by all platforms.lwjgl3: Primary desktop platform using LWJGL3; was called 'desktop' in older docs.teavm: Web backend that supports most JVM languages.
This project uses the new shitty version of Gradle to manage dependencies.
The Gradle wrapper was included, so you can run Gradle tasks using gradlew.bat or ./gradlew commands.
Useful Gradle tasks and flags:
lwjgl3:jar: builds application's runnable jar, which can be found atlwjgl3/build/libs.lwjgl3:run: starts the application.teavm:build: builds the JavaScript application into the build/dist/webapp folder.teavm:run: serves the JavaScript application at http://localhost:8080 via a local Jetty server.
Note that most tasks that are not specific to a single project can be run with name: prefix, where the name should be replaced with the ID of a specific project.
For example, core:clean removes build folder only from the core project.