OPENRNDR

In short, OPENRNDR is a tool to create tools. It is an open source framework for creative coding, written in Kotlin for the Java VM that simplifies writing real-time interactive software. It fully embraces its existing infrastructure of (open source) libraries, editors, debuggers and build tools. It is designed and developed for prototyping as well as the development of robust performant visual and interactive applications. It is not an application, it is a collection of software components that aid the creation of applications.

Key features


  • a light weight application framework to quickly get you started
  • a fast OpenGL 3.3 backed drawer written using the LWJGL OpenGL bindings
  • a set of minimal and clean APIs that welcome programming in a modern style
  • an extensive shape drawing and manipulation API
  • asynchronous image loading
  • runs on Windows, MacOS and Linux

Ecosystem


Applications written in OPENRNDR can communicate with third-party tools and services, either using OPENRNDR’s functionality or via third-party Java libraries.

Existing use cases involve connectivity with devices such as Arduino, Philips Kinet, Microsoft Kinect 2.0, RealSense, DMX, ARTNet and Midi devices; applications that communicate through OpenSoundControl; services such as weather reports and Twitter. If you want to experiment with Machine Learning, try RunwayML that comes with an OPENRNDR integration.

Getting Started

SOURCE CODE ON GITHUB

Fundamentals


OPENRNDR is written with the idea to provide simple, reusable utilities with which creative coders can build robust, fast and reliable (interactive) applications. It is intended for prototyping as well as building production quality software.

OPENRNDR is free and open source software. The source code can be downloaded from Github.

READ ORIGIN STORY

Tutorials


The fastest way to learn is to peak over the shoulders of those who already know the framework. Go direct to the tutorials to get you started. All examples can be downloaded and changed, so you can get a feel of how OPENRNDR is set up. 

GO TO TUTORIALS

Guide


The guide contains an extensive description on how to install, use and run OPENRNDR. It shows you how to set up your projects and what hard-and software is required next to an in-depth overview of its drawing functions and transformations, integration with video and sound, interaction and animation. 

GO TO GUIDE

API Documentation


APIs are the glue of the digital realm. We offer APIs with which hardware accelerated graphics can be programmed flexibly and easily. We provide an API documentation so that third-party developers can enhance and add services on top of OPENRNDR. 

GO TO API DOCS

showcase

community

Submit your project

FAQ


I am new to creative coding, is OPENRNDR for me?

It could be, but we don't provide documentation that teaches you how to code. To get acquainted with coding, a good place to start might be Processing. Processing is a flexible software sketchbook and a language for learning how to code within the context of the visual arts. 

I am a creative coder, should I use OPENRNDR?

OPENRNDR is made with creative coders in mind. Creative coding is approaching computing as a mechanical machine instead of a mathematical formality. A machine that can process data (and what looks like data) with precise and predictable outcome if operated in the intended way. Creative coding is a necessity in the creation of exciting interactive experiences.

OPENRNDR combines the unique qualities of being versatile enough to sketch in it, but at the same time be robust enough to deliver production-quality interactive media installations, that you know will also run without worries in a few years from now. It takes the creative mind set of a designer or artist, and combines that with the power of IT-grade software. As we could not find this in existing software, we had to develop this ourselves. We are convinced that there are many more people out there that crave for the same.

What is the difference between Processing and OPENRNDR?

While both Processing and OPENRNDR are written in Java, OPENRNDR’s approach is to utilise the existing Java development infrastructure whereas Processing has built their own. Processing’s infrastructure is easy to use but it does not integrate well with existing infrastructures, making it harder to use existing libraries that are not specifically written to be used with Processing. Processing provides simplified APIs to its users, which work great in the context of education and prototyping but are disadvantageous outside of that scope. The simplified APIs burden the user with program complexity. Processing’s APIs are not using the object-oriented paradigm.

OPENRNDR’s APIs are designed to embrace Java’s advanced functionality while still being easy to use. Bottom-line is, we feel that Processing is less suitable for a production context.

What is the difference between openFrameworks and OPENRNDR?

OpenFrameWorks is written in C++ and targeted at very advanced users. The advertised benefit of developing in C++ over Java is the speed of execution. While in general that statement holds, in the context of visual computing where most of the work takes place on the graphics adapter this benefit is not strongly apparent. Developing in C++ comes with complexities that do not exist in Java.

Can I connect OPENRNDR to Machine Learning applications?

At the moment the easiest integration is with RunwayML, which probably is a good place to start anyway. If you are more advanced, we are working on integrations for MXNet and GluonCV, which should be launced around August 2020. 

I am into live coding, can I use OPENRNDR?

Yes, there is an OPENRNDR extention (orx) for live coding that is called Olive. Everything you do in Olive is instant, so no returns or so necessary.

Can I use OPENRNDR to create an app?

OPENRNDR currently targets desktop platforms including MacOS, Windows and Linux. Support for Arduino, iOS and Android platforms is currently future sound, however, we warmly invite you to help develop this via the Github repository.

What about third-party tools, like OSC or RealSense?

Applications written in OPENRNDR are able to communicate with third-party tools and services, either using OPENRNDR’s functionality or through the use of third-party Java libraries.

Existing use cases involve connectivity with devices such as Arduino, Philips Kinet, Microsoft Kinect 2.0, DMX, ARTNet and Midi devices; applications that communicate through OpenSoundControl; services such as weather reports and Twitter. We also have Java-bindings available on Github for the RealSense.

Do I have to credit OPENRNDR?

We appreciate it when you use a credit like "Made with OPENRNDR", as it helps spread the project. You don't have to, but it will make the community stronger. For the rest, you can distribute your projects all you want. Please note that there is no warranty whatsoever on the framework.

I have a more technical question, where should I be?

The best place for technical questions and discussions is the OPENRNDR forum. There is also a publicly accessible Slack. As an alternative, you can also post issues on the issue tracker on Github. 

Is there a roadmap for future developments?

Yes, there is. What we are working on:

  • Easy to use integration of Machine Learning applications into OPENRNDR. Currently RunwayML is supported. 



Short-term goals:

  • A way of playing multi-channel sound, supporting more than 8 channels
  • Asynchronous loading of images by using a secondary shared GL-context from a thread implemented 
  • Multi-threaded rendering implemented
  • Serial port interfacing for communicating with Arduino and similar devices, not really an OR specific problem but the landscape for portable serial communication on the JVM seems to be fragmented.
  • Raspberry PI support, this requires the implementation of an OpenGLES back-end
  • Documentation and a friendly API for OPENRNDR-Panel implemented
  • Presentation quality video player, the current video player is only suited for video processing implemented
  • Support for webcams implemented
  • 3D drawing primitives, either in-library or through an extension library implemented



Long-term goals:

  • Vulkan back-end
  • Support for iOS and Android
  • Libfreetype based glyph rendering
  • Support for non-latin alphabets only cyrillic is currently implemented
  • A custom shader language for shadestyles



You can find the changes for the upcoming release here. Please add your wishes when you miss something or want to contribute to some parts on Github. 

Contribute


OPENRNDR is publicly available under a liberal open source license. This means that the software library and its source code will be publicly available, for free, forever, and that the library can be used without restrictions.

We invite you to download and create unexpected things with the framework. Next to that, we seek contributions in the form of improvements and maintenance to the OPENRNDR library. These modifications will be managed and merged into the project via the pull request mechanism on Github

HELP IMPROVE THE FRAMEWORK

Forum


Discuss issues or solve problems while using OPENRNDR? Let the community answer your technical questions in the forum or join the OPENRNDR Slack channel.

Want your experiments to be featured on this site? Use #OPENRNDR on Instagram.

GO TO FORUM OR JOIN ON SLACK

about

Background


Development of OPENRNDR was started in 2010 at LUSTlab under the name RNDR, with the idea to create an in-house framework that was versatile enough to sketch in, but at the same time be robust enough to deliver production-quality interactive media installations, that you know will also run without worries in a few years from now. It takes the creative mind set of a designer or artist, and combines that with the power of IT-grade software. As we could not find this in existing software, we had to develop this ourselves. We are convinced that there are many more people out there that crave for the same. 

When LUST and LUSTlab closed doors in 2017, the newly formed studio RNDR continued development and changed the name to OPENRNDR, a precursor to its goal to distribute the software under an open source license. They translated the framework from Java 8 to Kotlin, created the guide, and developed the API documentation and launched the framework officially in June 2018. 

Edwin Jakobs initiated and maintained the framework and is till date the lead developer. He is a partner at RNDR. The OPENRNDR platform won the Dutch Design Award 2019 in the category Communication.

Made possible by


We thank the Creative Industry Fund for supporting our open sourcing efforts. 

Donate


Consider to support the project financially by donating via Paypal, or become a patron on Patreon. It will help to keep the project up and running and allows us to keep on developing and make improvements. 

calendar

events


06-05-202006-05-2020
GitHubSatelite:ARTMACHINES:fosteringdigitalcreativitythroughlivecodingandmachinelearning

Creative Coders use machines to create aesthetic and surprising experiences. This 90-minute set, curated by Dutch digital arts community Creative Coding Utrecht, presents a dynamic array of work coming from the creative coding community in Europe. from playful uses of machine learning to live coding to create experimental, improvised visuals and music. Presentations by Edwin Jakobs, RNDR, Andreas Refsgaard, Inflation and Saskia Freeke & Timo Hoogland.

https://githubsatellite.com

13-12-201913-12-2019
OPENRNDR@THINGSCON

OPENRNDR will be present at ThingsCon 2019 on Friday 13th of December during the storytelling session.

Het Nieuwe Instituut, Museumpark 25, 3015 CB Rotterdam

20-09-201921-09-2019
DutchCreativityFestival

We will be presenting OPENRNDR (among other things) at the Dutch Creativity Festival that aims to unite the leading creative thinkers, makers, curators, entrepreneurs, studios, agencies, brands, platforms, ngo's in all disciplines and fields. Organised by ADCN.

The Student Hotel, Wibautstraat 129, 1091 GL Amsterdam

10-05-2019
Presentation@AV&CNewYork

Join us for a presentation on OPENRNDR at AV&C in New York, at 17hrs.

AV&C, 25 Park Place, New York NY 10007

23-05-201924-05-2019
Lecture@MiXiT2019conference

OPENRNDR will give a presentation and lecture at the MIXIT 2019 conference in Lyon. 

Lyon, France

01-11-2018
Demo&presentation@GoogleDesignSPANconference2018

OPENRNDR will gave a demo at Google SPAN 2018.

Helsinki, Finland

13-10-2018
Presentation@JFutureconference,Minsk

We presented OPENRNDR at the JFUTURE Java conference in the oldest & most beautiful theater in Minsk.

Minsk, Belarus

22-09-2018
Artisttalksandpaneldiscussions@RNDR.studio

During Todaysart festival 2018 (21–23 Sept) Kyle McDonald and Jonas Jongejans installed their installation "Light Leaks" in the RNDR.studio theater space. On Saturday 22 Sept, there was a compact presentation program in the space where the installation is.

24-05-2018
PrelaunchofOPENRNDR@CreativeCodingUtrechtmeetup

Creative Coding Utrecht (CCU) is a local platform for makers and people interested in the creative & artistic potential of technologies. 

workshops


11-05-202015-05-2020
CreativecodingwithOPENRNDR

Week long remote workshop introducing students to basics of OPENRNDR and how to generate dynamic posters.

Digital Society School, Amsterdam

17-06-202026-06-2020
Reprogram-CancelledinthelightofCOVID19

We will host the second session of the Reprogram summer school, focussing on designing with OPENRDNR. Applications go via the College for Creative Studies in Detroit

02-03-202006-03-2020
OPENRNDRworkshop@ArtezInteractionDesign

OPENRNDR + machine learning workshop for Artez Interaction Design, Arnhem

ArtEZ Academie voor Art & Design Onderlangs 9, 6812 CE Arnhem

17-02-202021-02-2020
OPENRNDRworkshop@POLITECNICODIMILANO

Week long introductory to OPENRNDR workshop with 60 students

Politecnico di Milano, Piazza Leonardo da Vinci, 32, 20133 Milano

06-01-202010-01-2020
OPENRNDR@TECHWEEKKABK

From 6-10 January there will be an OPENRNDR machine learning workshop during KABK TechWeek in The Hague.

22-11-201923-11-2019
Introductionworkshop@AGreySpaceWeekend

During A Grey Space Weekend: When you see me again, it won’t be me (Act II), there will be an introduction to OPENRNDR workshop on Saturday 23.11. On Friday evening the 22nd, there will also be a small dance performance in a new interactive installation as work-in-progress with Lukas Timulak in collaboration with RNDR.studio.

Grey Space in the Middle, Paviljoensgracht 20, 2512 BP The Hague

05-11-201919-12-2019
SixweeksremoteOPENRNDRclasses

The students at CCS Detroit Communication Design will follow an introduction course to OPENRNDR. For the next 6 weeks we will teach students while building and designing generative-based projects.

10-10-201910-10-2019
RenderyourcreativitywithOPENRNDR

Workshop during CO ART, a 4-day event for artists who are using technology to push art in innovative directions and tech passionates who want to get involved in creative/artistic areas. Workshop by Kazik Pogoda, a creative coder, software architect, philosopher, activist, and an active member of Creative Code Berlin community.

CO ART, Escape Venue, Timișoara, RO

13-06-201913-06-2019
Workshop@CentralSaintMartinsLondon

One-day workshop at Central Saint Martins, and a presentation at the British Library lecture event Form/Reform/Perform: Futures of Writing. 

How do we engage with the written word in the age of social media, self-publishing, AI, machine learning and algorithms? 

27-05-201907-06-2019
Workshop@TumoFoundation,Yerevan

We are excited to give a 2-week workshop at TUMO in Yerevan, Armenia. Tumo is a new kind of educational experience at the intersection of technology and design.

At TUMO, teens learn because they want to. They’re given the tools and knowhow they need to reach their maximum potential, and they chart their own learning path through hands-on activities, workshops and projects.

Halabyan 16, Yerevan, Armenia

25-02-201901-03-2019
OPENRNDRworkshop@ArtezInteractionDesign

OPENRNDR workshop on generative design for Design Art Technology, Arnhem (DATA)

ArtEZ Academie voor Art & Design Onderlangs 9, 6812 CE Arnhem

26-01-2019
OPENRNDRworkshop@ProcessingCommunityDay

A day filled with workshops, talks, show & tell, brainstorms and discussions. 

Sensor Lab Plompetorengracht 4, Utrecht 

21-01-201924-01-2019
OPENRNDRworkshop@RoyalAcademyofArt

OPENRNDR workshop on generative design for the Royal Academy of Art, Den Haag

Royal Academy of Art Prinsessegracht 4, 2514 AN Den Haag

12-10-201812-10-2018
Workshop@JFutureconference,Minsk

OPENRNDR workshop on October 12. We will show the key features and examples and show you how to get started. Laptop required.

Janka Kupala National Theatre Minsk, Belarus

24-09-201828-09-2018
OPENRNDRworkshop

Workshop on generative design for the HKU, Utrecht, using OPENRNDR. 

03-09-201807-09-2018
DESIGNVISUALSYSTEMS:GENERATIVETOOLSFORIDENTITIES

A week long workshop at the Scuola Open Source in Bari, IT exploring a new visual system for the identity of Spore. 

La Scuola Open Source (Bari, IT)

exhibitions


19-10-201927-10-2019
OPENRNDR@DutchDesignAwards2019Exhibition

The work of the Dutch Design Awards (DDA) winners 2019 can be seen during Dutch Design Week (DDW) in a nine-day exhibition. This tells the stories behind the designs, places the works in their social-cultural context and thus clarifies the impact and meaning of the designs.

Veem building, Floor 3, Strijp-S, Eindhoven