#OPENRNDR

A close up of a tree mixed with a #photo of a #forest and a close up of a stone.

A feature I added today is the ability to drag and drop images into the program, which is great in combination of browsing photo thumbnails with my OS.

Next I'll add dropping video files and choosing a frame (in a recent trip I shot more videos than photos). The resolution will be lower, but when mixed with higher resolution layers it's probably fine.

#photography #creativeCoding #OPENRNDR #Kotlin #nature #trees

An abstract photo resulting from combining three other photos. Low saturation, except a central shape tinted somewhat pink.

Another photo composition created with the program I'm writing.

I like the contrast between the very monochromatic photo and the layer of rainbow-like colors.

Now I can not only export the image, but also the configuration to reproduce the image. The settings are also saved when closing the program and automatically loaded when starting it again, so I can continue where I left off.

#photo #photography #creativeCoding #OPENRNDR #Kotlin #nature #technology

A composition of three photos: a foggy forest without leaves reflected on water (most visible), the rainbow colors on a DVD seen through a photo of plant leaves.

One or two days ago I saw in Mastodon a program similar to this, written in #p5js . I wanted to reply to that post but I can't find it.

In any case, here a similar (but interactive) design written in #Kotlin with #OPENRNDR

See how to produce screenshots is just one line of code, and the `contentScale` argument results in 3x resolution, so the window is 800x800 pixels and the screenshot is 2400x2400 pixels).

#creativeCoding #Mathart #algorithm

Code generated image with white background. There are 30 rows and 30 columns, in each cell there's a short straight black line with varying orientation. Most lines have an orientation similar to neighboring ones, but in some areas this does not happen. It seems that some kind of logic drives the orientations, but what that logic is is not obvious.A screenshot with the following code:

import org.openrndr.application
import org.openrndr.color.ColorRGBa
import org.openrndr.extensions.Screenshots
import org.openrndr.extra.shapes.primitives.grid
import org.openrndr.math.Polar

fun main() = application {
    configure {
        width = 800
        height = 800
    }
    program {
        extend(Screenshots()) { contentScale = 3.0 }
        extend {
            drawer.clear(ColorRGBa.WHITE)
            drawer.strokeWeight = 2.0
            drawer.bounds.grid(30, 30, 20.0, 20.0).flatten().forEach {
                val diff = Polar.fromVector(it.center - mouse.position)
                val offset = Polar(
                    diff.theta * (10.0 / (1.0 + diff.radius * 0.01)),
                    it.width * 0.4
                ).cartesian
                drawer.lineSegment(it.center - offset, it.center + offset)
            }
        }
    }
}

This is one of my favorite montages. The main organic shapes were rendered using a program I wrote last year and it is displayed on top of a starry night. A close-up photo of lichen sets the transparency to blend the other two pictures. I really like the grain that makes the code generated shapes more organic and old looking.

#photography #abstractArt #abstract #OPENRNDR #creativeCoding #kotlin #dark #sky #night #noai

A composition of three photos: a starry sky at night, a code generated organic design, and a texture of lichen on a rock

I'm writing a program to combine photos I shot.

So far it's rather simple: I can choose 3 photos, a blend mode and a color. It's enough to have fun already.

#photography #abstractArt #abstract #OPENRNDR #creativeCoding #kotlin

A photo montage using 3 images: a sunset from an airplane, water drops on a window on winter and a plant leaf.
d17e (David Vandenbogaerde)d17e
2026-01-26

Genuary#13+21: Self portrait Bauhaus Poster

How's the self portrait prompt going?
Well, I decided to combine my previous effort with the Bauhaus Poster prompt.

I made sure to add the 'Clown' bit so you know it's me.

d17e (David Vandenbogaerde)d17e
2026-01-23

I'm not entirely sure where I'm going with this quite yet, but I've got some ideas... Let's see how those turn out...

A program I wrote during Saturday's Creative Code Jam.

It's inspired by the Hilbert Sort algorithm, and asking myself the question: in what ways would I manually sort a fixed list of points, while generating a contour and avoiding intersections?

I thought that if I try many times I can discover algorithms in my head, then convert them into code.

The program is about 200 lines long and written in #Kotlin using the #OPENRNDR #CreativeCoding framework.

#geometry #math

A thick hobby curve with 51 white points with black contour. The points are scattered inside an invisible circle. The closed curve is shaded with a gradient along its length from cyan to blue and back, and across its width by increasing the red component towards the edges.
d17e (David Vandenbogaerde)d17e
2026-01-15

Genuary#12: Boxes Only

The boxes only prompt seems like a natural fit to explore the rigid body physics that JBox2D has to offer...

One could even argue that's very much thinking *inside* the box. 🥁💥

d17e (David Vandenbogaerde)d17e
2026-01-12

Genuary#05: Write "Genuary". Avoid using a font.

More soft bodies for Genuary#05...

Wrote Genuary ✅
Didn't use a font ✅
Confetti 🎉

d17e (David Vandenbogaerde)d17e
2026-01-09

The experience so far has been relatively smooth and quite fun. OPENRNDR really comes packed with a big arsenal of tools & extensions. Tons of stuff to discover!
And Kotlin? Well,.. if there's one thing I've noticed, it's that there's a lot of syntactic sugar.
And boy, do I love sugar!

If you want to play around with it, the code's on my github! (dxviie)

A texture I generated earlier this year, with four or five G'MIC filters applied: vignetting, blurred edges, subtle random color tints and some parts are now desaturated.

#CreativeCoding #generative #OPENRNDR #gimp #gmic #kotlin #texture

code generated abstract, complex, organic-looking texture. The shapes it contains may resemble the human brain. The main curvy shapes are golden on top of darker background, with some green and red touches on the background.

Next iteration. Solved some glitches by making sure all the points used for the Voronoi algorithm have a unique Z value.

In this one I painted three layers of points arranged as grids of various densities, but with their positions partially distorted.

#CreativeCoding #GenerativeArt #OPENRNDR #Kotlin #Shader #GLSL

Abstract code generated image using MultiplicativelyWeightedVoronoi. The image is subdivided in cells of different sizes. Some are small and rectangular, others are large and curved. Nearby cells tend to have similar colors. There seems to be some hard to define rules driving the subdivision and the coloring.

Next iteration including various glitches.

#CreativeCoding #OPENRNDR #Kotlin #GLSL #Shader

Code-generated irregular tile-based design. The tiles now are rendered with a noisy shader that mixes two colors. The colors are picked from a palette using simplex noise, based on the tile's position. A bit like seeing a regular grid distorted by a water surface.

I enjoy this it's-a-grid-but-not-quite.

My eyes keep jumping around trying to understand.

#CreativeCoding #math #mathArt #geometry #OPENRNDR #Processing #Kotlin

A code generated tile-based texture. The tiles are irregular, originally placed on a grid, but then displaced.

A few glitchy tiles float on top of others, coming out of nowhere.

Playing with the MultiplicativelyWeightedVoronoi function of the Processing Geometry Suite (which I use from #OPENRNDR)

Those large areas are unexpected, and only appear sometimes.

The colors are generated using FettePalette

#CreativeCoding #PGS

A code generated image made out irregular tiles. Parts are more or less square tiles, other parts are more hexagonal. There are some large unexpected blocks of color produced by a glitch in the algorithm.

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst