A feature rich template for creating OPENRNDR programs based on Gradle/Kts.
The template consists of a configuration for Gradle and two example OPENRNDR programs. The Gradle configuration should serve as the go-to starting point for writing OPENRNDR-based software.
If you are looking at this from IntelliJ IDEA you can start by expanding the project tab on the left. You will find a template program in src/main/kotlin/TemplateProgram.kt
and a live-coding example in src/main/kotlin/TemplateLiveProgram.kt
.
You will find some basic instructions in the OPENRNDR guide
run
runs the TemplateProgramjar
creates an executable platform specific jar file with all dependenciesjpackageZip
creates a zip with a stand-alone executable for the current platform (works with Java 14 only)
To create a runnable jar for a platform different from your current platform, use ./gradlew jar -PtargetPlatform=<platform>
, where <platform>
is either windows
, macos
, linux-x64
, or linux-arm64
.
The openrndr-template depends on various packages including the core openrndr and the orx extensions. The version numbers of these dependencies are specified in your libs.versions.toml file. If you want to learn about file format visit the Gradle documentation website.
Newer versions of OPENRNDR and ORX bring useful features and bug fixes. The most recent versions are
for OPENRNDR.
for ORX.
You can use those version numbers in your toml file. They can look like "0.4.3" or "0.4.3-alpha4". Use the complete string, as in:
openrndr = "0.4.3-alpha4"
orx = "0.4.3-alpha3"
You can add other dependencies needed by your project to your build.gradle.kts file, inside the dependencies { }
block.
Remember to reload the Gradle configuration after changing any dependencies.
By default ./gradlew run
runs a program called TemplateProgram.kt
but a different one can be provided as an argument:
To run src/main/kotlin/myProgram.kt
./gradlew -Popenrndr.application=MyProgramKt
To run src/main/kotlin/foo/bar/myProgram.kt
(assuming package foo.bar
in myProgram.kt)
./gradlew -Popenrndr.application=foo.bar.MyProgramKt
This repository contains a number of Github Actions in ./github/workflows
.
The actions enable a basic build run on commit, plus publication actions that are executed when
a commit is tagged with a version number like v0.*
or v1.*
.