# Tutorials

**URL:** https://openrndr.discourse.group/c/openrndr/tutorials/14.md?page=1

[Latest](https://openrndr.discourse.group/latest.md) · [Categories](https://openrndr.discourse.group/categories.md)

**Page:** 2

---

## [Simplify the project view by using scopes](https://openrndr.discourse.group/t/simplify-the-project-view-by-using-scopes/554)

<div class="topic-metadata">

**Author:** [@abe](https://openrndr.discourse.group/u/abe)\
**Replies:** 0\
**Last updated:** [April 28, 2023, 9:17am UTC](https://openrndr.discourse.group/t/simplify-the-project-view-by-using-scopes/554 "2023-04-28T09:17:10Z")

</div>

There’s a new feature in the openrndr-template to simplify the project view, which can otherwise look cluttered with all those files and folders, specially for new users. The feature comes in the shape of a Gradle task …

---

## [OPENRNDR & Processing - Rotating Arcs in 3D](https://openrndr.discourse.group/t/openrndr-processing-rotating-arcs-in-3d/545)

<div class="topic-metadata">

**Author:** [@abe](https://openrndr.discourse.group/u/abe)\
**Replies:** 1\
**Last updated:** [April 9, 2023, 11:25am UTC](https://openrndr.discourse.group/t/openrndr-processing-rotating-arcs-in-3d/545 "2023-04-09T11:25:00Z")

</div>

When we launch the Processing 4 IDE a dialog welcomes us letting us choose between a few example programs. One those programs is the iconic RotatingArcs from Marius Watz. As far as I could tell, the original program …

---

## [OPENRNDR & Processing - Loops, shades and randomness](https://openrndr.discourse.group/t/openrndr-processing-loops-shades-and-randomness/80)

<div class="topic-metadata">

**Author:** [@abe](https://openrndr.discourse.group/u/abe)\
**Replies:** 9\
**Last updated:** [March 15, 2023, 4:38pm UTC](https://openrndr.discourse.group/t/openrndr-processing-loops-shades-and-randomness/80 "2023-03-15T16:38:18Z")

</div>

Loops, shades and randomness Create a grid of circle pairs. In each position in the grid there is a larger circle and maybe (50% chance) a smaller circle. The larger circle has a shade of pink (either brighter or darker)…

---

## [OPENRNDR & Processing - Closest object to mouse](https://openrndr.discourse.group/t/openrndr-processing-closest-object-to-mouse/66)

<div class="topic-metadata">

**Author:** [@abe](https://openrndr.discourse.group/u/abe)\
**Replies:** 3\
**Last updated:** [March 15, 2023, 4:05pm UTC](https://openrndr.discourse.group/t/openrndr-processing-closest-object-to-mouse/66 "2023-03-15T16:05:33Z")

</div>

Lets share simple programs written both in OPENRNDR + Kotlin and in Processing + Java. Before the first example I want to note that I can count at least 4 different approaches to developing with these two platforms. I d…

---

## [Copy + paste color palettes into your program](https://openrndr.discourse.group/t/copy-paste-color-palettes-into-your-program/519)

<div class="topic-metadata">

**Author:** [@abe](https://openrndr.discourse.group/u/abe)\
**Replies:** 1\
**Last updated:** [February 23, 2023, 10:40am UTC](https://openrndr.discourse.group/t/copy-paste-color-palettes-into-your-program/519 "2023-02-23T10:40:47Z")

</div>

I saw that Edwin just added ctrl+v support for orx-panel to paste colors and I thought… wow, it would be cool to copy color palettes from any website and just paste them into my program, so I wrote this PoC: import org.…

---

## [Question about \`context\` (Context Receivers)](https://openrndr.discourse.group/t/question-about-context-context-receivers/510)

<div class="topic-metadata">

**Author:** [@abe](https://openrndr.discourse.group/u/abe)\
**Replies:** 3\
**Last updated:** [February 13, 2023, 7:40pm UTC](https://openrndr.discourse.group/t/question-about-context-context-receivers/510 "2023-02-13T19:40:24Z")

</div>

Hi! I hope you don’t mind, I was looking into your code in github :slight\_smile: I enjoy reading code and seeing how different people write things and learn from it. There’s one thing I can’t figure out: What is cont…

---

## [Exporting animated gifs](https://openrndr.discourse.group/t/exporting-animated-gifs/134)

<div class="topic-metadata">

**Author:** [@abe](https://openrndr.discourse.group/u/abe)\
**Replies:** 2\
**Last updated:** [January 3, 2023, 8:26am UTC](https://openrndr.discourse.group/t/exporting-animated-gifs/134 "2023-01-03T08:26:34Z")

</div>

Animated gifs are old and inefficient, but in some places it’s the only format you can upload. It’s easy to use the ffmpeg video writer from OPENRNDR to produce such files. Here a template: Importsimport org.openrndr.a…

---

## [Circle packing: Once again](https://openrndr.discourse.group/t/circle-packing-once-again/480)

<div class="topic-metadata">

**Author:** [@Alessandro](https://openrndr.discourse.group/u/Alessandro)\
**Replies:** 2\
**Last updated:** [December 30, 2022, 1:06pm UTC](https://openrndr.discourse.group/t/circle-packing-once-again/480 "2022-12-30T13:06:40Z")

</div>

When I started with creative coding, circle packing algorithms where quite in vogue. It’s a simple procedure to which I look fondly, almost with nostalgia. So here it is an implementation aimed at beginners, both with …

---

## [Visualize segment-pair concavity/convexity](https://openrndr.discourse.group/t/visualize-segment-pair-concavity-convexity/479)

<div class="topic-metadata">

**Author:** [@abe](https://openrndr.discourse.group/u/abe)\
**Replies:** 0\
**Last updated:** [December 29, 2022, 11:11am UTC](https://openrndr.discourse.group/t/visualize-segment-pair-concavity-convexity/479 "2022-12-29T11:11:44Z")

</div>

I hope the code says it all :slight\_smile: import org.openrndr.application import org.openrndr.color.ColorRGBa import org.openrndr.math.Polar import org.openrndr.shape.ShapeContour /\*\* \* Visualize segment left-turns…

---

## [Figuring out \`arcTo()\`](https://openrndr.discourse.group/t/figuring-out-arcto/478)

<div class="topic-metadata">

**Author:** [@abe](https://openrndr.discourse.group/u/abe)\
**Replies:** 1\
**Last updated:** [December 28, 2022, 12:06pm UTC](https://openrndr.discourse.group/t/figuring-out-arcto/478 "2022-12-28T12:06:13Z")

</div>

I was having some difficulties understanding the contour { ... arcTo } method, so I wrote this helper program which uses a GUI to change the arc parameters: import org.openrndr.application import org.openrndr.color.Co…

---

## [Remake sessions](https://openrndr.discourse.group/t/remake-sessions/383)

<div class="topic-metadata">

**Author:** [@abe](https://openrndr.discourse.group/u/abe)\
**Replies:** 1\
**Last updated:** [June 15, 2022, 7:58pm UTC](https://openrndr.discourse.group/t/remake-sessions/383 "2022-06-15T19:58:03Z")

</div>

A few days ago @ricardo and I recorded this video in which we remade a generative artwork from 1978 using OPENRNDR. Looking forward to session #2 :slight\_smile: Based on ReCode Project Code at GitHub - ham…

---

## [Enable Screenshots, ScreenRecorder and more in all programs by default](https://openrndr.discourse.group/t/enable-screenshots-screenrecorder-and-more-in-all-programs-by-default/384)

<div class="topic-metadata">

**Author:** [@abe](https://openrndr.discourse.group/u/abe)\
**Replies:** 0\
**Last updated:** [June 11, 2022, 4:59pm UTC](https://openrndr.discourse.group/t/enable-screenshots-screenrecorder-and-more-in-all-programs-by-default/384 "2022-06-11T16:59:09Z")

</div>

The following tip can be interesting if you have many runnable programs in the same project and want to apply extensions or behaviors to all of them. I have over a hundred OPENRNDR programs in the same clone of openrndr…

---

## [Help with starting out with OPENRNDR](https://openrndr.discourse.group/t/help-with-starting-out-with-openrndr/347)

<div class="topic-metadata">

**Author:** [@Nigel](https://openrndr.discourse.group/u/Nigel)\
**Replies:** 3\
**Last updated:** [March 7, 2022, 10:04am UTC](https://openrndr.discourse.group/t/help-with-starting-out-with-openrndr/347 "2022-03-07T10:04:35Z")

</div>

Hello fellow artists! Are there any guides, tutorials I should start with in order to learn visual programming with OPENRNDR? I’ve read the docs and played around for a week with my own programs but I feel like there’s …

---

## [OPENRNDR & Processing - Word frequencies](https://openrndr.discourse.group/t/openrndr-processing-word-frequencies/286)

<div class="topic-metadata">

**Author:** [@abe](https://openrndr.discourse.group/u/abe)\
**Replies:** 0\
**Last updated:** [October 20, 2021, 6:39pm UTC](https://openrndr.discourse.group/t/openrndr-processing-word-frequencies/286 "2021-10-20T18:39:09Z")

</div>

Word frequencies and using collections Hi! :slight\_smile: I found one of the examples of Processing which analyzes two books (Dracula and Frankenstein), gets the word frequencies, then draws the words moving at different…

---

## [Tutorial on using Phidgets for sensors/actuators++](https://openrndr.discourse.group/t/tutorial-on-using-phidgets-for-sensors-actuators/245)

<div class="topic-metadata">

**Author:** [@torb](https://openrndr.discourse.group/u/torb)\
**Replies:** 2\
**Last updated:** [May 13, 2021, 8:54pm UTC](https://openrndr.discourse.group/t/tutorial-on-using-phidgets-for-sensors-actuators/245 "2021-05-13T20:54:40Z")

</div>

GitHub link to code for those who just want to see that. When making interactive installations getting hardware input from things like potentiometers, various sensors (like light or temperature) or outputting to somethi…

---

## [OPENRNDR and sound (Minim, Beads and TarsosDSP libraries)](https://openrndr.discourse.group/t/openrndr-and-sound-minim-beads-and-tarsosdsp-libraries/35)

<div class="topic-metadata">

**Author:** [@kazik](https://openrndr.discourse.group/u/kazik)\
**Replies:** 6\
**Last updated:** [April 24, 2021, 1:17pm UTC](https://openrndr.discourse.group/t/openrndr-and-sound-minim-beads-and-tarsosdsp-libraries/35 "2021-04-24T13:17:22Z")

</div>

It won’t be a question, at least not asked by me. My friend asked me during the OPENRNDR workshop how to use sound with OPENRNDR. and then she immediately googled it. There was no answer over the Internet. So I will writ…

---

## [OPENRNDR & Processing - Noise fields & leaving trails](https://openrndr.discourse.group/t/openrndr-processing-noise-fields-leaving-trails/215)

<div class="topic-metadata">

**Author:** [@abe](https://openrndr.discourse.group/u/abe)\
**Replies:** 0\
**Last updated:** [March 11, 2021, 8:45am UTC](https://openrndr.discourse.group/t/openrndr-processing-noise-fields-leaving-trails/215 "2021-03-11T08:45:02Z")

</div>

Noise fields & leaving trails This example is based on a very short program I left in the Processing forum in 2018. It compares side by side two different noise functions. If you want to compare it to the version be…

---

## [OPENRNDR & Processing - Circle & line-segment intersection](https://openrndr.discourse.group/t/openrndr-processing-circle-line-segment-intersection/99)

<div class="topic-metadata">

**Author:** [@abe](https://openrndr.discourse.group/u/abe)\
**Replies:** 2\
**Last updated:** [March 9, 2021, 8:56am UTC](https://openrndr.discourse.group/t/openrndr-processing-circle-line-segment-intersection/99 "2021-03-09T08:56:40Z")

</div>

Circle & line-segment intersection This example is based on code found in Stack Overflow and it includes a function for finding intersection points between a line segment and a circle. Processing / Java ▶ Imports PVe…

---

## [OPENRNDR & Processing - Additive wave example](https://openrndr.discourse.group/t/openrndr-processing-additive-wave-example/196)

<div class="topic-metadata">

**Author:** [@abe](https://openrndr.discourse.group/u/abe)\
**Replies:** 0\
**Last updated:** [January 29, 2021, 2:29pm UTC](https://openrndr.discourse.group/t/openrndr-processing-additive-wave-example/196 "2021-01-29T14:29:18Z")

</div>

Additive wave example Following previous posts in which I compared OPENRNDR and Processing code, this time I “reinterpreted” the next Processing example: Processing / Java You can click “show original” above to comp…

---

## [Using JGraphT for working with graphs (directed, undirected, weighted, etc...)](https://openrndr.discourse.group/t/using-jgrapht-for-working-with-graphs-directed-undirected-weighted-etc/188)

<div class="topic-metadata">

**Author:** [@abe](https://openrndr.discourse.group/u/abe)\
**Replies:** 4\
**Last updated:** [January 17, 2021, 4:08pm UTC](https://openrndr.discourse.group/t/using-jgrapht-for-working-with-graphs-directed-undirected-weighted-etc/188 "2021-01-17T16:08:19Z")

</div>

Not specific about OPENRNDR or Kotlin, but I was only happy to discover this jvm library which can be useful for generative designs: https://jgrapht.org/ After putting the following into build.gradle.kts implementation…

---

## [Faster compilation when having many programs](https://openrndr.discourse.group/t/faster-compilation-when-having-many-programs/129)

<div class="topic-metadata">

**Author:** [@abe](https://openrndr.discourse.group/u/abe)\
**Replies:** 10\
**Last updated:** [January 9, 2021, 10:04am UTC](https://openrndr.discourse.group/t/faster-compilation-when-having-many-programs/129 "2021-01-09T10:04:29Z")

</div>

At some point, if you keep adding programs to the same openrndr-template things will start to get slow in IntelliJ Idea. I have now 84 programs and 114 kotlin files and it’s quite noticeable. I figured out a solution. I…

---

## [Running a Program at a specific frame rate](https://openrndr.discourse.group/t/running-a-program-at-a-specific-frame-rate/144)

<div class="topic-metadata">

**Author:** [@ricardo](https://openrndr.discourse.group/u/ricardo)\
**Replies:** 4\
**Last updated:** [October 20, 2020, 10:27am UTC](https://openrndr.discourse.group/t/running-a-program-at-a-specific-frame-rate/144 "2020-10-20T10:27:52Z")

</div>

This can be done by leveraging Presentation Mode with Coroutines. Here’s a working example: import kotlinx.coroutines.delay import org.openrndr.PresentationMode import org.openrndr.application import org.openrndr.color.…

---

## [From Shadertoy to OPENRNDR](https://openrndr.discourse.group/t/from-shadertoy-to-openrndr/85)

<div class="topic-metadata">

**Author:** [@abe](https://openrndr.discourse.group/u/abe)\
**Replies:** 4\
**Last updated:** [June 26, 2020, 7:23am UTC](https://openrndr.discourse.group/t/from-shadertoy-to-openrndr/85 "2020-06-26T07:23:18Z")

</div>

This is a simple example porting one program from Shadertoy. Keep in mind that it’s not a generic tutorial for porting every possible program from Shadertoy. Shadertoy https://www.shadertoy.com/view/wdjcDw vec2 shuffle…

---

## [Using renderdoc to debug low level graphics (advanced)](https://openrndr.discourse.group/t/using-renderdoc-to-debug-low-level-graphics-advanced/118)

<div class="topic-metadata">

**Author:** [@abe](https://openrndr.discourse.group/u/abe)\
**Replies:** 0\
**Last updated:** [June 11, 2020, 9:50am UTC](https://openrndr.discourse.group/t/using-renderdoc-to-debug-low-level-graphics-advanced/118 "2020-06-11T09:50:44Z")

</div>

For debugging it may be useful to see all the OPENGL commands being sent to the GPU, the textures, mesh data, shaders, etc. RenderDoc makes that possible. This is how I got it running in Ubuntu: Download RenderDoc. I…

---

## [An introduction to orx-time-operators](https://openrndr.discourse.group/t/an-introduction-to-orx-time-operators/108)

<div class="topic-metadata">

**Author:** [@ricardo](https://openrndr.discourse.group/u/ricardo)\
**Replies:** 0\
**Last updated:** [May 25, 2020, 8:00am UTC](https://openrndr.discourse.group/t/an-introduction-to-orx-time-operators/108 "2020-05-25T08:00:00Z")

</div>

Introduction orx-time-operators are a (small) suite of tools to deal with controlling raw data over-time. This means generating values which are frame dependent or smoothing out noisy data. Included since ORX 0.3.51 Ti…

---

## [OPENRNDR & Processing - Texture Cube](https://openrndr.discourse.group/t/openrndr-processing-texture-cube/97)

<div class="topic-metadata">

**Author:** [@abe](https://openrndr.discourse.group/u/abe)\
**Replies:** 1\
**Last updated:** [April 30, 2020, 9:47am UTC](https://openrndr.discourse.group/t/openrndr-processing-texture-cube/97 "2020-04-30T09:47:20Z")

</div>

TextureCube One more example taken from the Processing examples, this time drawing a simple textured 3D cube which you can rotate by dragging the mouse. Processing / Java /\*\* \* Texture Cube \* by Dave Bollinger. \* …

---

## [Set up Your \*Second\* Program](https://openrndr.discourse.group/t/set-up-your-second-program/84)

<div class="topic-metadata">

**Author:** [@abe](https://openrndr.discourse.group/u/abe)\
**Replies:** 1\
**Last updated:** [April 11, 2020, 12:49pm UTC](https://openrndr.discourse.group/t/set-up-your-second-program/84 "2020-04-11T12:49:54Z")

</div>

The OPENRNDR Guide has a post titled Setup Your First Program But what about your second program? When I started experimenting with OPENRNDR I remember thinking that I should repeat this process every time: clone the te…

---

## [Setting up composite builds in IntelliJ](https://openrndr.discourse.group/t/setting-up-composite-builds-in-intellij/81)

<div class="topic-metadata">

**Author:** [@edwin](https://openrndr.discourse.group/u/edwin)\
**Replies:** 2\
**Last updated:** [April 11, 2020, 6:17am UTC](https://openrndr.discourse.group/t/setting-up-composite-builds-in-intellij/81 "2020-04-11T06:17:04Z")

</div>

This is a tutorial on setting up IntelliJ in such a way that it treats OPENRNDR, ORX and your template based work as a single inter-dependent project. This is useful in cases in which you want to make changes to OPENRND …

---

## [Computational Graphic Design Manual 🕮](https://openrndr.discourse.group/t/computational-graphic-design-manual/79)

<div class="topic-metadata">

**Author:** [@abe](https://openrndr.discourse.group/u/abe)\
**Replies:** 2\
**Last updated:** [April 9, 2020, 9:42am UTC](https://openrndr.discourse.group/t/computational-graphic-design-manual/79 "2020-04-09T09:42:40Z")

</div>

Computational Graphic Design Manual A beautiful black and white website created by Mark Webster featuring 27 interactive design programs written in Processing, p5.js and OPENRNDR (some are still being ported). These are …

---

## [OPENRNDR & Processing - Coral growth](https://openrndr.discourse.group/t/openrndr-processing-coral-growth/77)

<div class="topic-metadata">

**Author:** [@abe](https://openrndr.discourse.group/u/abe)\
**Replies:** 0\
**Last updated:** [April 2, 2020, 2:38pm UTC](https://openrndr.discourse.group/t/openrndr-processing-coral-growth/77 "2020-04-02T14:38:55Z")

</div>

Diffusion Limited Aggregation A program that keeps a collection of circles. Initially there is only one located at the center of the screen. Circles of decreasing size are shot from the outskirts towards the center of th…

[Previous page](https://openrndr.discourse.group/c/openrndr/tutorials/14.md)

[Next page](https://openrndr.discourse.group/c/openrndr/tutorials/14.md?page=2)
