Abstract wallpapers in Blender using geometry nodes

One project I am working on in hopes of having something ready in Fedora 37 final is a new set of installed-by-default but not set as default extra wallpapers for Fedora. These wallpapers would have light & dark mode versions. This is something that Allan Day and I have been planning, and we decided to start out with a set of 6 abstract wallpapers ideally built in a tool such as Blender so that we could easily generate and tweak & refine the light and dark versions in a way that photography (at least within our current resources) does not allow.

I set up a GitLab project for the effort, and that is here: https://gitlab.com/fedora/design/extra-default-wallpapers

Coming up with a theme

My initial thinking on this project is that the wallpapers should have some kind of Fedora-specific theme or narrative driving them, but one that is not tied to any specific release. After thinking a bit on this, I decided the best way forward was to just base the wallpapers on the Fedora Four F’s: freedom, friends, features, first. Conveniently, each of these has a “color code” as well as an icon to represent each which could be used as seeds of inspiration for each wallpaper and/or in selecting which abstract concepts would be best suited to represent Fedora:

Screenshot of the linked documentation page describing each of the Fedora Four F's

I wrote this idea up on Fedora Discussions – each wallpaper will have a base color or highlight (depending on the color, some are quite a bit too bright for a wallpaper base color, lol) coordinating with one of Fedora’s brand palette colors: freedom blue, features orange, friends magenta, first green, as well as the Fedora purple that is used to signify Fedora events, and a neutral grey that is in the Fedora brand palette:

6 colored squares: dark gray, fedora blue, features orange, first green, events purple, friends magenta

 

Building a dynamic abstract structure in Blender using Geometry Nodes

So concepts are great but also useless if you can’t actually produce anything! 🙂 I decided I should get started in Blender. While I’ve taken a bit of Blender training in recent months, with the excitement of the Blender 3.x series coming out, I’m not quite adept with Blender. Creating abstract structures in it for wallpaper felt overwhelming. I had planned to watch jimmac’s streams (mentioned in the README – I had tracked the links down after Allan mentioned them) but I guess Twitch expires older records or something so by the time I’d carved out a block of time to work on this, they’d expired.

I went to YouTube and despite being created for Blender 2.8, found a nice abstract wallpaper tutorial by Bad Normals that taught some of the basics of working with geometry nodes in Blender which ended up serving as the basis of my work thus far:

I had to adapt some of the instructions to Blender 3.x… there’s some hints in the comments, other things I had to figure out on my own. (You can see how I ultimately ended up configuring things in my posted *.blend files.)

This is a shot of the model this all created – Tweaking it can make the different “blades” of the model change size and shape and twist and turn in different ways which gives totally different vibes to the entire piece:

Screenshot of the Blender interface showing flattened rings that grow from small at the bottom to large at the top and repeat in rhythmic ways up the screen

The entire thing – this is in part how geometry node generated models work – is created from a single ring which is then just essentially cloned then scaled, turned, twisted, and re-positioned along a pattern to build up this large structure:

Screenshot of Blender's interface showing a single flattened ring model in the center of the screen

Playing with the model and coming up with visuals

What I ended up with after working through the tutorial was a model that, in a sense, is really a program or machine of sorts that can generate different abstract structures based on tweaking various variables / configuration of both the root object (see panel in the upper right in screenshot below) and the individual nodes that generate the copies of the root object (see individual node blocks in the node diagram at the bottom of the screenshot below.)

Screenshot of the Blender interface showing the model at the top and the various geometry nodes at the bottom, little boxes linked together with ilnes that each have little configuration / variables in them that will tweak the overall structure

This single model basically generated 11 different wallpaper designs that you might not be able to tell all came from the same basic model.

The earliest ones I came up with I would call the “Flower” series:

 

I played a lot with depth of field on these 🙂 After a while though I started really pulling the model apart and modifying it; this is some of the different visuals I came up with (you can see the whole set in GitLab):

Flight set:

Petals set:

Mermaid Set:

There’s a bunch more in the repo that you can view here: https://gitlab.com/fedora/design/extra-default-wallpapers/-/tree/main/Wallpapers

 

Feedback & next steps

Note that up until this point, I haven’t been too focused on color and the palette I developed, but rather focusing on building the model system and poking around with it to get different types of output and trying to relate that output to some concepts (e.g. coming up with names for different output sets 🙂 ).  The “Flight” series I think can relate pretty well to the “Freedom” Four F’s concept so I’ll likely be iterating those along that path, for example.

I would love your feedback on these (and the others in the repo), but note that the colors / lighting / etc. are all rough and not very thought-through in this round, and it’s more the shapes and composition that feedback on would be most helpful!

My next steps would be to see which of the sets best map to each of the Fedora concepts/themes, and start iterating those based on the Fedora concept, changing the coloring, lighting, etc. to fit the concept.

Generally: I know I have missed the beta packaging deadline so you might not see these in beta, but I am hoping to get a solid set of six into Fedora 37 soon, and perhaps host a test day to get feedback that could then drive more iterations and refinements. So keep your eyes peeled for that, and in the meantime, let me know what you think of what I’ve come up with so far. 🙂 I’ve posted all the *.blend files too so feel free to have a play if you’d like!

2 Comments

  1. […] Abstract wallpapers in Blender using geometry nodes – Máirín Duffy […]

  2. Cool actually started using one on my Arch system :p

Leave a Reply to Links 28/06/2022: Git 2.37.0 and GCC Rust Front-end | Techrights Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.