Patterns -- things we could do to make their manufacture much easier
This discussion is connected to the gimp-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.
This is a read-only list on gimpusers.com so this discussion thread is read-only, too.
Patterns | Joao S. O. Bueno Calligaris | 28 Dec 19:12 |
200512281612.15821.gwidion@... | 07 Oct 20:24 | |
Patterns | Alexandre Prokoudine | 28 Dec 19:25 |
Patterns | Carol Spears | 28 Dec 20:12 |
Patterns | Alexandre Prokoudine | 29 Dec 14:47 |
Patterns | Leon Brooks | 28 Dec 23:59 |
Patterns | Joao S. O. Bueno Calligaris | 29 Dec 00:13 |
Patterns | Carol Spears | 29 Dec 00:20 |
Patterns | Leon Brooks | 29 Dec 01:54 |
Patterns -- things we could do to make their manufacture much easier | Leon Brooks | 29 Dec 12:33 |
Patterns -- things we could do to make their manufacture much easier | Dov Grobgeld | 29 Dec 14:51 |
Patterns -- things we could do to make their manufacture much easier | GSR - FR | 29 Dec 18:34 |
very basic question on gtk buttons | Hari | 29 Dec 09:23 |
very basic question on gtk buttons | Hari | 29 Dec 09:25 |
Patterns | Carol Spears | 28 Dec 20:06 |
Patterns
I was looking at the patterns that come with the GIMP.
They might have been nice for 320x240 web images that everyone edited a few years ago.
But in a world of 7 MP cameras, all patterns that come with the GIMP are nearly useless.
there are a few pending features for patterns on the program itself - like categorization, possibly scaling, and so on.
That aside, these patterns are in urgent need for an update. Even if not on the patterns that come along with the GIMP itself, nice pattern collections would be nice - perhaps some that could be packaged in a "gimp-data-extras" module, or something like that.
Even updates of the existing patterns so that they do no look a silly square repetition when covering a surface more than 400px wide would be a nice thing.
So - developers, what do you think might be the best approach? To update the patterns that come with the program thenselves or make additional collections available?
And everybody - let's start building some nice patterns - one way or the other we have to collect then all an make then available for all the GIMP users.
Patterns
On 12/28/05, Joao S. O. Bueno Calligaris wrote:
So - developers, what do you think might be the best approach? To update the patterns that come with the program thenselves or make additional collections available?
First of all, man http://create.freedesktop.org/wiki/index.php/About and http://create.freedesktop.org/wiki/index.php/Shared_resources#Patterns :-)
GIMP can already render SVG patterns via librsvg. That woul be one solution.
Another solution would be providing a separate package of new high-quality textures. High-quality means macro with good (possibly excellent) lighting. We have some experienced photographers here, right?
Feel free to start a new working page at create's wiki.
Alexandre
Patterns
On Wed, Dec 28, 2005 at 04:12:15PM -0200, Joao S. O. Bueno Calligaris wrote:
I was looking at the patterns that come with the GIMP.
They might have been nice for 320x240 web images that everyone edited a few years ago.
But in a world of 7 MP cameras, all patterns that come with the GIMP are nearly useless.
there are a few pending features for patterns on the program itself - like categorization, possibly scaling, and so on.
while i think it is nice that gimp comes with such small resources, especially while getting to know gimp -- it would be really nice to have more for download.
a discussion of the catagories might be good.
That aside, these patterns are in urgent need for an update. Even if not on the patterns that come along with the GIMP itself, nice pattern collections would be nice - perhaps some that could be packaged in a "gimp-data-extras" module, or something like that.
we can have several options at the gimp web site already. i think that the contest upload thing can be used to get patterns or gradients or whatever. the information about where and how to save them would have to be given.
Even updates of the existing patterns so that they do no look a silly square repetition when covering a surface more than 400px wide would be a nice thing.
updating is a good idea, but my suggestion about keeping the patterns small for the default installation -- you understand that? we play "whose binary is smallest" every so often. it is a good game. i know this is not the gimp binary but it is part of the download.
So - developers, what do you think might be the best approach? To update the patterns that come with the program thenselves or make additional collections available?
i say come up with some catagories. it should be easy to make a web page that will search on resolution and catagory.
And everybody - let's start building some nice patterns - one way or the other we have to collect then all an make then available for all the GIMP users.
other resources as well.
carol
Patterns
On Wed, Dec 28, 2005 at 09:25:39PM +0300, Alexandre Prokoudine wrote:
On 12/28/05, Joao S. O. Bueno Calligaris wrote:
So - developers, what do you think might be the best approach? To update the patterns that come with the program thenselves or make additional collections available?
First of all, man http://create.freedesktop.org/wiki/index.php/About and http://create.freedesktop.org/wiki/index.php/Shared_resources#Patterns :-)
GIMP can already render SVG patterns via librsvg. That woul be one solution.
Another solution would be providing a separate package of new high-quality textures. High-quality means macro with good (possibly excellent) lighting. We have some experienced photographers here, right?
Feel free to start a new working page at create's wiki.
you know what? i love pixel art. the soft edges and the blotchy reality of real life. sure, i am glad that gimp can stroke paths nicely now. but what about the pixel? vector art will make such clean edges on everyones computer that the real world will become so disappointing. all for what? scalibilty and cleanliness? crap. fonts gone wild.
does the create group want some space on the gimp planet, btw? i was sorry when i saw all of the self linking going on there. it is like a perfect circle made in points on the computer....
let me know :)
carol
Patterns
On Thursday 29 December 2005 02:25, Alexandre Prokoudine wrote:
Another solution would be providing a separate package of new high-quality textures.
Are any of these useful, at least as a starting point?
http://www.burningwell.org/gallery/textures
Cheers; Leon
Patterns
On Wednesday 28 December 2005 08:59 pm, Leon Brooks wrote:
On Thursday 29 December 2005 02:25, Alexandre Prokoudine wrote:
Another solution would be providing a separate package of new high-quality textures.
Are any of these useful, at least as a starting point?
http://www.burningwell.org/gallery/textures
Cheers; Leon
Hi Leon!
Yes, most of these are very nice - and show samples of what a good collection should have...but indeed, seeing these, one has to conclude that a more efficient way to handle textures has to be coded in the GIMP. AFAIK, the current handling of patterns loads them all to memory.
JS
->
Patterns
On Thu, Dec 29, 2005 at 06:59:13AM +0800, Leon Brooks wrote:
On Thursday 29 December 2005 02:25, Alexandre Prokoudine wrote:
Another solution would be providing a separate package of new high-quality textures.
Are any of these useful, at least as a starting point?
these are beautiful. the one other thing that would make them useful as patterns is if they can be made tileable. there is at least one plug-in that does this.
carol
Patterns
On Thursday 29 December 2005 07:20, Carol Spears wrote:
the one other thing that would make them useful as patterns is if they can be made tileable. there is at least one plug-in that does this.
I'd want to spherically correct some of them first, but yes, tileable would be nice. (-:
Cheers; Leon
very basic question on gtk buttons
Hi all,
I have a very basic query.. I want to capture the button clicked event and add text to some entry widget. I am unable to connect the two widgets. The code is as follows:
button = gtk_button_new_with_label ("copy"); g_signal_connect(G_OBJECT (button), "event",G_CALLBACK (callback), G_OBJECT(text1));
very basic question on gtk buttons
Hi all,
I have a very basic query.. I want to capture the button clicked event and add text to some entry widget. I am unable to connect the two widgets. The code is as follows:
button = gtk_button_new_with_label ("copy");
g_signal_connect(G_OBJECT (button), "event",G_CALLBACK (callback), gpoiinter(text1));
static void callback( GtkWidget *widget, gpointer data) {
gtk_entry_set_text(GTK_ENTRY(data),"hello IDC");
}
regards -Hari
Patterns -- things we could do to make their manufacture much easier
On Thursday 29 December 2005 07:20, Carol Spears wrote:
the one other thing that would make them useful as patterns is if they can be made tileable. there is at least one plug-in that does this.
OK... having a stab at doing this "manually" for one herringbone pattern of brick pavers now, and it ain't as easy as it looks. (-:
This would be a really handy thing to have a dedicated tool (or at least plugin) to do. The following comments apply to real-world objects being converted to patterns; they may not apply to computer-generated patterns.
Each potential tiled texture will probably need some fisheye correction, which Dave Hodson's "Telephoto" plugin does reasonably well -- thanks, Joao, for reminding me that the plugin existed. This is made a little easier by lining image features up against guides, but it's still very much trial-and-error. Being able to do it on the main image in real-ish time would help a lot.
Many of them will also require "keystone" correction to make them square (or at least symmetrical across the X and Y axes). Those which require both would be a lot easier to deal with if both this and the fisheye correction could be done interactively, realtime(ish) and full-scale on a single set of sliders.
Next, we need to isolate (crop to) a section of the subject which is suitable for one of the algorithms below. Interactivity would help this a lot as well, see discussion for each.
Having made the subject basically rectangular, the next step is to make it repeatable. There are two techniques that I've looked at so far.
One consists of replicating the original rectangle in each direction, flipping the image over its edge to achieve an image twice as large in each direction but which matches exactly along the edges.
This does not work well for asymmetrical subjects, such as those containing text or lit predominantly from one side.
Being able to tweak the corrections and cropping on the fly and have it displayed as an "endless" pattern would make achieving near-perfect results considerably easier.
Storing a single copy of the basic pattern rather than a fourfold-larger copy woulod be good, but would require the addition of a different tiling mode rather than simple repetition, call it "flip-tiling" if it doesn't already have a name.
The other method consists of overlapping the original image with itself and alpha-blending the edges of each copy to smooth over differences between each edge of the image. This does not work very well if the subject is not consistent from edge to edge, but does handle asymmetries such as sunlight coming from one side reasonably well.
There is already a plugin to do something like this, but it is *very* clumsy and only works acceptably with very complicated, fine-grained subjects, or with very near-featureless subjects. Even then, there is rectangular meta-pattern visible at larger scales because of the unsubtle blending at the edges of the image.
Real-time interactivity would greatly help this mode as well.
It would also benefit from being able to do "gradiented" corrections of at least brightness across the subject, possibly automatically or semi-automatically by selecting tiles along each edge and adjusting the intensity gradient so that they are equal, then another pass to smooth the gradient.
Another pair of useful features would be the ability to draw the alpha-blending border on each edge of the image freehand and/or with beziers, and to adjust the slope (or possibly even curve) of the blending. This would allow the operator to better duck around anomalies.
A final useful feature would be the ability to arbitrarily deform areas of the subject, PowerGoo(tm)-style, in order to better match up the edges of random/chaotic patterns like waves or gravel.
Cheers; Leon
Patterns
On 12/28/05, Carol Spears wrote:
you know what? i love pixel art. the soft edges and the blotchy reality of real life. sure, i am glad that gimp can stroke paths nicely now. but what about the pixel? vector art will make such clean edges on everyones computer that the real world will become so disappointing. all for what? scalibilty and cleanliness? crap. fonts gone wild.
Carol, I have no strong preferences of vectors over pixels and the other way round. I'm talking about options ;-)
does the create group want some space on the gimp planet, btw?
Sure, why not?
i was
sorry when i saw all of the self linking going on there. it is like a perfect circle made in points on the computer....
Self linking? What self linking? :))
Alexandre
Patterns -- things we could do to make their manufacture much easier
Don't forget the fantastic resynthesizer plug-in as part of the tool chain for creating tilable plug-ins. It is certainly usually much better than any alpha-blending. See:
http://www.logarithmic.net/pfh/resynthesizer
Regards, Dov
On 12/29/05, Leon Brooks wrote:
On Thursday 29 December 2005 07:20, Carol Spears wrote:
the one other thing that would make them useful as patterns is if they can be made tileable. there is at least one plug-in that does this.
OK... having a stab at doing this "manually" for one herringbone pattern of brick pavers now, and it ain't as easy as it looks. (-:
This would be a really handy thing to have a dedicated tool (or at least plugin) to do. The following comments apply to real-world objects being converted to patterns; they may not apply to computer-generated patterns.
Each potential tiled texture will probably need some fisheye correction, which Dave Hodson's "Telephoto" plugin does reasonably well -- thanks, Joao, for reminding me that the plugin existed. This is made a little easier by lining image features up against guides, but it's still very much trial-and-error. Being able to do it on the main image in real-ish time would help a lot.
Many of them will also require "keystone" correction to make them square (or at least symmetrical across the X and Y axes). Those which require both would be a lot easier to deal with if both this and the fisheye correction could be done interactively, realtime(ish) and full-scale on a single set of sliders.
Next, we need to isolate (crop to) a section of the subject which is suitable for one of the algorithms below. Interactivity would help this a lot as well, see discussion for each.
Having made the subject basically rectangular, the next step is to make it repeatable. There are two techniques that I've looked at so far.
One consists of replicating the original rectangle in each direction, flipping the image over its edge to achieve an image twice as large in each direction but which matches exactly along the edges.
This does not work well for asymmetrical subjects, such as those containing text or lit predominantly from one side.
Being able to tweak the corrections and cropping on the fly and have it displayed as an "endless" pattern would make achieving near-perfect results considerably easier.
Storing a single copy of the basic pattern rather than a fourfold-larger copy woulod be good, but would require the addition of a different tiling mode rather than simple repetition, call it "flip-tiling" if it doesn't already have a name.
The other method consists of overlapping the original image with itself and alpha-blending the edges of each copy to smooth over differences between each edge of the image. This does not work very well if the subject is not consistent from edge to edge, but does handle asymmetries such as sunlight coming from one side reasonably well.
There is already a plugin to do something like this, but it is *very* clumsy and only works acceptably with very complicated, fine-grained subjects, or with very near-featureless subjects. Even then, there is rectangular meta-pattern visible at larger scales because of the unsubtle blending at the edges of the image.
Real-time interactivity would greatly help this mode as well.
It would also benefit from being able to do "gradiented" corrections of at least brightness across the subject, possibly automatically or semi-automatically by selecting tiles along each edge and adjusting the intensity gradient so that they are equal, then another pass to smooth the gradient.
Another pair of useful features would be the ability to draw the alpha-blending border on each edge of the image freehand and/or with beziers, and to adjust the slope (or possibly even curve) of the blending. This would allow the operator to better duck around anomalies.
A final useful feature would be the ability to arbitrarily deform areas of the subject, PowerGoo(tm)-style, in order to better match up the edges of random/chaotic patterns like waves or gravel.
Cheers; Leon
-- http://cyberknights.com.au/ Modern tools; traditional dedication http://plug.linux.org.au/ Member, Perth Linux User Group http://slpwa.asn.au/ Member, Linux Professionals WA http://osia.net.au/ Member, Open Source Industry Australia http://linux.org.au/ Member, Linux Australia
Patterns -- things we could do to make their manufacture much easier
Hi,
dov.grobgeld@gmail.com (2005-12-29 at 1551.31 +0200):
Don't forget the fantastic resynthesizer plug-in as part of the tool chain for creating tilable plug-ins. It is certainly usually much better than any alpha-blending. See:
Or http://www.manucornet.net/Informatique/Texturize.php
And of course, the manual way which is the only that warrants good results (all others will require some visual check and probably fixes, that or you accept muntant flowers, deformed nuts and headless pingeons).
The basic idea of manual way is explained around "The hard part is making ..." of http://www.gimp.org/tutorials/Tileable_Textures/ . For images you have to use clone, smudge or similar tools instead of just painting over the discontinuity, of course.
GSR