G'MIC fun with Reptorian

That’s definitely not true. CImg has got many interesting contributions over the years by various contributors.
I’ve started this project in late 1999, and it is still alive, maintained and used all around the world, despite a lot of competitors, something that tells me that the “code style” is more than good enough.
The fact is I’ve got a lot of advice for rewriting this or changing that, splitting it into multiple files, etc.
But so far nobody succeeded to prove their solution was finally better (when they ever came with a solution). I am now always suspicious of the advice of so-called programming specialists (whose most impressive achievement is a tic-tac-toe in ascii art) :slight_smile:

Sure, I’m not saying it’s impossible to contribute. I’m not saying the style is wrong either (it’s a design choice). But if you wanted to increase the quantity of contributions without losing too much quality, it really helps to split it up and have unit tests, particularly for an object language like C++. And no, I don’t think you should go ahead an do that either! Anyway that’s way off topic now…

Not off topic per se. @Reptorian derives his fun directly from the coding. I am sure that is the case for many of us. Our code informs the art and vice versa.

1 Like

Yep, and I enjoy experimental coding. That means using functions that aren’t used as much for generative art, or solving really difficult puzzles in context of generative art.

Me too really! Anyway, when I said “many contributions” I was thinking about the rate you produce g’mic filters. If you were going to produce multiple PRs in a day to the C++ part, I stand by what I said about the project code style not being suited for it.

Splitting up the code and unit tests are about managing rapid code change from many contributors, some of whom may not be experts. That’s standard in most software companies, but I don’t think it’s the right thing for cimg.

Splitting up the code and unit tests

When I was trying to add guided selection to Krita, I had been suggested to do unit tests. I didn’t do it since I lack well, the skills to do it. I only know elemental C++, and that’s it.


More fun

2 Likes

I have no doubt you are capable! It’s really not too bad. If you just modified an existing class, then it’s probably much easier than you think if there’s already a unit test. Just read about it a bit and look at some of the existing tests :slight_smile:

There are many reasons to have them, but I like that it makes you think about dependency carefully.

Edit: if you prefer a book, one of my favourite is “Working effectively with Legacy Code” by M Feathers.

I’ll just be leaving this here.

Another one:

The new Popcorn Fractal [Transformative] is too much fun. Still need more work though.

3 Likes

This is something that is made with Color Modulo Texture, Kaleidoscope Layer Cake, and Color Space Swap. Some blending modes were used.

1 Like

First pattern looks like serendipitous circle, but how did you get the colours? :confounded: Mine is alwas greyscale even if I start with a coloured layer. nice :slight_smile:

You work with multiple layers with multiple shading of Serendipitous Circle. Each layers reveal different details. Then, you assign gradient map or color curve or whatever to get the coloring, and you should use the original layers as transparency mask to separate the details. It’ll take time to do this, but you can do it.

1 Like

Thank you :smiley:

Done with the new version of Hitomezashi for G’MIC-QT. Click for full-preview.

1 Like

Yay, it looks complete now.

Almost, there is a bug with the cropped viewport though. I haven’t figured that out. That gets fixed, it is 100% done though the stray pixel coloring could use distance based coloring, but eh.

You mean in the new preview? We can’t win everyday. :roller_coaster:

Hum… a bug from your side or from the G’MIC side?

On my side, what I want to do is crop view of full side preview using point() in gui.

I made a vase.

3 Likes

To me, it has a flowery or feminine form.