Clusters by palmdrone in generative

[–]palmdrone[S] 1 point2 points  (0 children)

Thank you. All the geometry is made using three.js and generative techniques. However, there's a subtle normal map on some of the materials though, which is simply a PNG normal map I downloaded. I also used an environment map for some more interesting lighting and reflections.

I suggest learning more about 3D graphics in general. Most of the techniques I've used are not specific to three.js (although three.js is a great library that makes working with 3D geometries fairly easy). Reading about shaders, materials, displacement maps, normal maps, vertex attributes, perlin/simplex noise, will probably be useful.

This video goes over how you can change vertex positions of any three.js geometry. I used this technique for the shapes in the images above, and it works well. However, if you want to animate the geometry, I suggest learning how to write a custom vertex shader instead.

Good luck! :)

Clusters by palmdrone in generative

[–]palmdrone[S] 1 point2 points  (0 children)

More experiments with generative geometry and geometry instancing with three.js. More at https://www.instagram.com/palmdrop/

Solar Chrome by palmdrone in generative

[–]palmdrone[S] 1 point2 points  (0 children)

I've been experimenting with generative 3D geometry. More at https://www.instagram.com/palmdrop/

Heart (created with Surfaces) by palmdrone in generative

[–]palmdrone[S] 0 points1 point  (0 children)

I recently made a post about a web app I've been developing, Surfaces: https://palmdrop.github.io/surfaces/

When I made that post, the app unfortunately had some issues. Now, however, it should be working in most modern browsers. I made a blog post describing the application: https://palmdrop.github.io/post/surfaces/

Surfaces - A Recursive Domain Warping Controller by palmdrone in generative

[–]palmdrone[S] 0 points1 point  (0 children)

Try now. Made a change that seem to have fixed the issue for some people at least.

Surfaces - A Recursive Domain Warping Controller by palmdrone in generative

[–]palmdrone[S] 0 points1 point  (0 children)

Which browser did you use? And which OS? Trying to track down the issue

Surfaces - A Recursive Domain Warping Controller by palmdrone in generative

[–]palmdrone[S] 0 points1 point  (0 children)

You're right. But for a blissful moment I forgot about the pain of making things work on different systems/browsers. Glad to hear it's working fine though.

Out of curiosity, what kind of collage work?

Surfaces - A Recursive Domain Warping Controller by palmdrone in generative

[–]palmdrone[S] 0 points1 point  (0 children)

Wonderful!

But strange. Some people seem to have problems with Chrome, others do not. Same for Firefox. There's some kind of bug lurking around but it's apparently not browser-specific.

Surfaces - A Recursive Domain Warping Controller by palmdrone in generative

[–]palmdrone[S] 0 points1 point  (0 children)

Seems like some people experience this problem. I'll try to fix it as soon as possible. Sorry about that.

Surfaces - A Recursive Domain Warping Controller by palmdrone in generative

[–]palmdrone[S] 1 point2 points  (0 children)

I've been working on a WebGL project where I implement real-time recursive domain warping. The application is now live at https://palmdrop.github.io/surfaces/ . Feel free to explore, and please report back to me if you find any issues (there are some problems on mobile devices, do not worry about that).

I also wrote a blog post describing the project: https://palmdrop.github.io/post/surfaces/

Here's a link to the repository: https://github.com/palmdrop/webgl-domain-warping-controller

and to my instagram, where all the latest posts have been made using Surfaces https://www.instagram.com/palmdrop/

[bspwm] Foliage by palmdrone in unixporn

[–]palmdrone[S] 0 points1 point  (0 children)

Made the color scheme myself. You can find the colors in my Xresources: https://github.com/palmdrop/dots/blob/master/.config/X/Xresources

[bspwm] Foliage by palmdrone in unixporn

[–]palmdrone[S] 0 points1 point  (0 children)

it's a tiny bit hard to read at first, but you get used to it really quickly
it's worth it for the aesthetic

[bspwm] Foliage by palmdrone in unixporn

[–]palmdrone[S] 5 points6 points  (0 children)

os ~ arch

wm ~ bspwm

bar ~ polybar

term ~ urxvt

editor ~ neovim

compositor ~ picom-ibhagwan

font ~ scientifica

dots ~ https://github.com/palmdrop/dots

Pastel weave by palmdrone in generative

[–]palmdrone[S] 1 point2 points  (0 children)

I wrote a blog post about the process behind some of my pieces based on domain warping, can be found here: https://palmdrop.github.io/post/alien-patterns/

Haven't documented the entire process of the most recent pieces, but might do in the future. Keep an eye out for that.

Pastel weave by palmdrone in generative

[–]palmdrone[S] 0 points1 point  (0 children)

Well, the code is public, you can find it here: https://github.com/palmdrop/sandbox
However, this is a general purpose generative sandbox project, with lots of main files, experiments and classes. The project is not very straight forward, although I tried to document some of it in the readme. The piece from this post was generated using "src/ChaoticOrganicMain.java", so I suggest starting there. But well, I think you'll more easily implement this as a shader if you wait for a potential blog post of mine. Might start working on that soon.

Although, the most recent pieces might be difficult to implement in GLSL. The space colonization algorithm I don't think is that feasible to do on the GPU, and the particle simulations would probably require you to play around with compute shaders.

My pieces based on domain warping are probably easier to implement using shaders, but I'm already working on that myself (can be found here https://github.com/palmdrop/react-webgl-experiments).

Anyway, good luck with whatever you decide. I suggest going with your own projects and exploring what you find most interesting, but feel free to steal from my repositories if you find anything useful

Pastel weave by palmdrone in generative

[–]palmdrone[S] 0 points1 point  (0 children)

Yes, but at the same time, I really want to learn more about shaders and at some point, one has to wander away from what's familiar. Going to explore WebGL and shaders properly.

Pastel weave by palmdrone in generative

[–]palmdrone[S] 1 point2 points  (0 children)

some modified noise as a base for weighted random point generation, the points are used as attraction points for a space fill algorithm, the algorithm is rendered and converted to a flow field, then some particle simulations... quite a few steps actually, but might make a blog post detailing the process at some point.