Skip to content
OPENRNDR. A Kotlin/JVM library for creative coding, real-time and interactive graphics
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
dokka Setup dokka Nov 7, 2018
gradle/wrapper Bump Gradle to 5.0 Dec 6, 2018
openrndr-adopted-artifex/src/main/java/io/lacuna Upgraded artifex code to latest Sep 15, 2018
openrndr-color Fixed bug in ColorHSVa.toRGBa; hue wasn't projected to unit Nov 15, 2018
openrndr-core Fix support for contentScale > 1.0 targets in filter Jan 16, 2019
openrndr-dialogs Add filters to open/save file dialogs Dec 19, 2018
openrndr-extensions Removed FunctionDrawer as there is core support for the functionality Jan 8, 2019
openrndr-ffmpeg Add contentScale to ScreenRecorder Feb 14, 2019
openrndr-gl3-natives-macos Initial commit Feb 20, 2018
openrndr-gl3 Add x_modelNormalMatrix pass-through Jan 31, 2019
openrndr-math Add Quaternion methods Jan 16, 2019
openrndr-shadestyle-parser A simpler setup of the build system (upgraded Nebula plugins, Kotlin … Mar 2, 2018
openrndr-svg SVG writer improvements Jan 14, 2019
.travis.yml Setup dokka Nov 7, 2018
LICENSE Update Nov 7, 2018
build.gradle Removed snapshot build from tagless commits Feb 23, 2018
gradlew.bat Initial commit Feb 20, 2018
settings.gradle Added POC implemetation for Artifex based boolean ops / clipping Sep 15, 2018

Build Status Download


A Kotlin/JVM library for creative coding, real-time and interactive graphics. Can currently be used on Windows, macOS and Linux/x64 to create stand alone graphical applications.


A very basic OPENRNDR application looks like this:

import org.openrndr.Application
import org.openrndr.Configuration
import org.openrndr.Program
import org.openrndr.draw.loadImage

 * This is a basic example that shows how to load and draw images
class Image001 : Program() {
    override fun setup() {
        val image = loadImage("file:data/images/test_pattern.png")
        extend {

fun main() =, Configuration())

Please have a look at our application template and our tutorial repository for more usage examples.

Basics and use are further explained in the OPENRNDR guide and more project information can be found on our website

You can’t perform that action at this time.