moultanoCreator of ns_shiva.Join Date: 2002-12-14Member: 10806Members, NS1 Playtester, Contributor, Constellation, NS2 Playtester, Squad Five Blue, Reinforced - Shadow, WC 2013 - Gold, NS2 Community Developer, Pistachionauts
<!--quoteo(post=1700686:date=Feb 17 2009, 04:55 PM:name=TychoCelchuuu)--><div class='quotetop'>QUOTE(TychoCelchuuu @ Feb 17 2009, 04:55 PM) <a href="index.php?act=findpost&pid=1700686"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Uh okay, why would I ever need to do that? You took a source image which I'm assuming looked a lot like that and turned it into a texture that doesn't tile. You also generated a normal map, but I don't think I have to tell you that there are other tools that can do that much better, much faster, and with a slick GUI and other outputs like spec maps. You say that the only work required is typing in the command line, but that completely neglects all the work that the artist did making the actual texture. I don't understand at all what your tool does that I can't do myself faster and better.
Not to mention the normal map has a few messy bits compared to what I'd imagine CrazyBump would give me.<!--QuoteEnd--></div><!--QuoteEEnd--> Look at the wall_lab set from ns1, notice how there are many textures that are variations of the same color scheme and basic elements. This is an attempt to automate the creation of those. In this case my code created a brand new tiling texture in the same style as the input, suitable for including in a texture set with this theme, but bearing little resemblance to the original.
<!--quoteo(post=1700692:date=Feb 17 2009, 04:28 PM:name=moultano)--><div class='quotetop'>QUOTE(moultano @ Feb 17 2009, 04:28 PM) <a href="index.php?act=findpost&pid=1700692"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Look at the wall_lab set from ns1, notice how there are many textures that are variations of the same color scheme and basic elements. This is an attempt to automate the creation of those. In this case my code created a brand new tiling texture in the same style as the input, suitable for including in a texture set with this theme, but bearing little resemblance to the original.<!--QuoteEnd--></div><!--QuoteEEnd--> But the texture doesn't tile :/
moultanoCreator of ns_shiva.Join Date: 2002-12-14Member: 10806Members, NS1 Playtester, Contributor, Constellation, NS2 Playtester, Squad Five Blue, Reinforced - Shadow, WC 2013 - Gold, NS2 Community Developer, Pistachionauts
It's not quite ready for release yet, but I've implemented the graph-cut algorithm that forms the basis of ImageSynth. The more technical out there might enjoy <a href="http://www.cc.gatech.edu/cpl/projects/graphcuttextures/" target="_blank">reading the paper</a>. For comparison purposes I've used one of ImageSynth's demo images and synthesized a whole lot of grass. <a href="http://picasaweb.google.com/lh/photo/pElvUCoW3wiPFJ7cC197Pg?feat=embedwebsite" target="_blank"> Click to Enlarge <img src="http://lh6.ggpht.com/_VDbSvmyPAXo/SaA8GgYjkwI/AAAAAAAASX8/-uWdtKRsQd4/s400/grass_wallpaper.jpg" border="0" class="linked-image" /></a>
Also, for you Tycho, I have writ your name in the grass. Only the best for my favorite heckler. <img src="style_emoticons/<#EMO_DIR#>/smile-fix.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile-fix.gif" /> <a href="http://picasaweb.google.com/lh/photo/ceKy8VQf9oqFdwvkHOd7Rg?feat=embedwebsite" target="_blank"><img src="http://lh5.ggpht.com/_VDbSvmyPAXo/SaA8GR37BSI/AAAAAAAASX0/I-9yVavHyiU/s800/tycho_in_the_grass.jpg" border="0" class="linked-image" /></a>
As an artist, if I see this and say "I want a nice tileable texure from that" I'm in for a heck of a ride. That's going to be some serious work, because the grass is incredibly complex and because those leaves are all distinct from the grass and will show up quite obviously if I copy and paste them. They'll make it clear that my texture is repeating and even worse when I try to make a larger resolution texture they'll repeat <i>within the very texture itself</i> which is obviously bad news, because that just looks horrific when you tile something that's already repeating.
imageSynth handles stuff like this remarkably well, fixing the tiling issue, the repetition of the leaves within the texture issue, and by extension the repetition of the leaves when the texture is eventually tiled:
Notice how there is almost zero repetition as far as the leaves go. Pretty much the only bit that you can see is that one leaf thing that repeats 5 times, twice near the bottom (I'll let you see if you can find it). Aside from that, a quick glance, and even a long glance, doesn't show anything jarring that would tip us off that this is actually a smaller picture repeated a bunch instead of one large picture. It looks like each part of the texture is different. We don't see patterns. It also tiles, although for some reason their sample isn't square. In any case, trust me. It tiles great.
If you recall, my issue with the original image was that making it a texture would be hard because of the repetition of the leaves and because making it tile would be hard. Your program appears to have exacerbated both issues without giving me a tileable texture. Even a cursory glance at the output shows a ridiculously apparent copypasta of leaves. They're lined up horizontally and vertically half the time. Anyone who has progressed to the point where they can distinguish colors will notice that this is an artificial texture and not actually grass with leaves. On top of everything, it doesn't tile. So unless spelling my name in leaves (which we can do with the Photoshop clone stamp thank you very much) is worth something, I <i>still</i> don't know what the program is for.
I must admit I'm pretty baffled because I know if I was writing a program and posting about it on the forums it would be with the expectation that my program <i>does something</i>. Clearly it's designed to fill a niche, but I just don't see what that niche is. If it's supposed to be like imageSynth, well, clearly it doesn't do that.
moultanoCreator of ns_shiva.Join Date: 2002-12-14Member: 10806Members, NS1 Playtester, Contributor, Constellation, NS2 Playtester, Squad Five Blue, Reinforced - Shadow, WC 2013 - Gold, NS2 Community Developer, Pistachionauts
Keep in mind that the image I posted was 3 times the size of ImageSynth's so more repetition is somewhat inevitable. Also, ImageSynth pieces together pits of several scales of the input image, which I think looks really bad in the case of the giant grass next to tiny grass image that they posted, but I'll implement that anyways in case someone wants to use it. The near alignment of some of the leaves is a symptom of still putting down the blocks in scan-line order which is my next thing to fix. You and I seem to have different definitions of "tiling."
Also, comeon man, I wrote your name in grass. Can you take that as some sort of olive branch and take the latent "###### you" out of your feedback?
There's no latent ##### you in the feedback, or at least I didn't intentionally put any in. If you want to highlight specific sentences and tell me why you think there's ###### in them, I'd be happy to dissuade you from your misinterpretation. As it stands, this is just the kind of criticism you get when you post art, or at least it's the kind of criticism you get if anyone cares about helping you get better. I loaded your texture into Photoshop and put it next to itself, and it didn't tile, so maybe we do have different definitions of tile. My definition of a tiling texture is one that appears seamless; if you stamped it many times on a surface and showed that surface to someone, they would not be able to tell where the edges of the texture are. When you stamp your texture, we get one of the most common issues that a rookie artist has in their tiling texture: we have a defined area of different value (darker) on the edges. This is most clear on the left/right side of the texture. There's darker grass all along that seam. If you tiled your texture 100 times or something you'd get a pretty clear grid, with the dark areas of the grass matching up with the sides of the original texture. Here's your texture tiled 4x4 (and sized down so that it doesn't kill our h-scroll):
It's possible that my cataracts have arrived early or there's some sort of tumor in my brain that's making me see things in grids, but I'd like to submit that anyone who looks at that field of grass is going to perceive a tiling effect. They're going to see that the grass is made up of squares, that it's not one continuous body.
As a texture artist, you learn to avoid this stuff. You take your source imagine and run a hi-pass filter on it in Photoshop to get rid of shadows that only show up on one side, or you take a half that's unlit and mirror it so that there's no lighting at all in the texture. With the grass, it's not the shadows causing the obvious grid pattern but the value difference that comes from part of the grass being darker. This might be something your program can deal with or it might not be. My only point is that the output is unusable and would need as much tweaking as the original image needed in order to make it tileable. That, of course, is ignoring the leaf thing.
I could write your name in grass if it makes you feel better.
Fixed some issues and this is a bit better. You can still see scanlines though at a slight upward angle since I'm not doing anything smart with that yet.
Assuming you can fix that scanline whatever thing, that solves the repetition problem entirely, and it looks like it tiles pretty well (although I think the complexity actually helps the program here, because there are certainly areas where things look pretty chopped up, which I'm assuming happened so that there's no seam where the texture actually meets). I'm still a little dubious as to the value of the tool, because although making something tile immediately is pretty handy, I went and pasted the original texture into Photoshop and about 12 "lol easy button" Healing Brush strokes gave me a tileable texture too, so the value added is still unclear. With something really complex like the grass, I think the tiling is what most people want help with, and since everyone's already good at that I'm not sure the tool's helpful. That metal texture you posted suggests that it can do other stuff, although without seeing the source image I can't really get a clear picture of what that "other stuff" entails. imageSynth, for example, would have nothing valuable to add or subtract from a wall texture like that, because the way it works is set up to deal with stuff that's inherently hard to tile and complex, not something simpler like the wall.
So in sum, maybe if I had something I couldn't tile, the tool would be useful (I'd basically have to test it on the individual picture and see if it worked), and it wouldn't come down to "can it tile it" but more of a "can it make it look good" and "can it do it faster than I can." If there's some other stuff it can do to something like the metal texture that might also be a good area to explore, because to my knowledge there's no sort of automated tool that does anything with regular, mechanical textures like that. Of course, this is all contingent on what it actually did to that metal, which I'm still unclear on.
Here it is with the scanline issues eliminated. I've implemented the repatching in that paper, and a randomized non-axial ordering for laying down tiles. Keep in mind that the new texture is 10 times the size of the original texture.
Alright that looks pretty good. I'd rename the tool to "automatic texture tiler" but other than that, no more nitpicks. I still have no idea what the metal texture you posted back on page 1 represents but at least the program has a handy use. Give it a UI and I can imagine using it for complex stuff instead of just doing it by hand! Unless it still takes 20 minutes or whatever, but even then if I can run it int he background maybe it'd still be useful.
Just read through, good input if rather arrogantly put Tycho, seems to have worked though <img src="style_emoticons/<#EMO_DIR#>/smile-fix.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile-fix.gif" />
I like the idea of this moultano, I guess Tycho hasn't mapped much however that random tile which moultano posted would fit in the universe & hammer. In game it would be pretty in place and reminds me of some of the random original NS1 textures that were used to create bast for example.
I haven't tried the tool yet, however I think for those random textures it will be useful to see what comes out.
EDIT: Just realised that the random tile wouldn't be too bad for a tram tunnel =]
Here it is with the scanline issues eliminated. I've implemented the repatching in that paper, and a randomized non-axial ordering for laying down tiles. Keep in mind that the new texture is 10 times the size of the original texture.<!--QuoteEnd--></div><!--QuoteEEnd--> Have you tried tiling this? because when you do it has a lot of obvious repetition. The only thing this seems to have done is remove some repetition by making the texture larger... though the problem still exists, but then the file size is way more.
Comments
Not to mention the normal map has a few messy bits compared to what I'd imagine CrazyBump would give me.<!--QuoteEnd--></div><!--QuoteEEnd-->
Look at the wall_lab set from ns1, notice how there are many textures that are variations of the same color scheme and basic elements. This is an attempt to automate the creation of those. In this case my code created a brand new tiling texture in the same style as the input, suitable for including in a texture set with this theme, but bearing little resemblance to the original.
But the texture doesn't tile :/
Did you try tiling it?
<img src="http://img167.imageshack.us/img167/2051/tilenopeyl6.jpg" border="0" class="linked-image" />
That's hardly seamless. I guess the pipes work, but I imagine those worked in the original too.
<a href="http://picasaweb.google.com/lh/photo/pElvUCoW3wiPFJ7cC197Pg?feat=embedwebsite" target="_blank">
Click to Enlarge
<img src="http://lh6.ggpht.com/_VDbSvmyPAXo/SaA8GgYjkwI/AAAAAAAASX8/-uWdtKRsQd4/s400/grass_wallpaper.jpg" border="0" class="linked-image" /></a>
Also, for you Tycho, I have writ your name in the grass. Only the best for my favorite heckler. <img src="style_emoticons/<#EMO_DIR#>/smile-fix.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile-fix.gif" />
<a href="http://picasaweb.google.com/lh/photo/ceKy8VQf9oqFdwvkHOd7Rg?feat=embedwebsite" target="_blank"><img src="http://lh5.ggpht.com/_VDbSvmyPAXo/SaA8GR37BSI/AAAAAAAASX0/I-9yVavHyiU/s800/tycho_in_the_grass.jpg" border="0" class="linked-image" /></a>
<a href="http://picasaweb.google.com/lh/photo/tVDBQxS-xDSTD8M9Omcnnw?feat=embedwebsite" target="_blank"><img src="http://lh5.ggpht.com/_VDbSvmyPAXo/SaA8GewnZWI/AAAAAAAASXs/oi1b09JFLec/s800/tycho_in_the_grass2.jpg" border="0" class="linked-image" /></a>
<img src="http://img90.imageshack.us/img90/899/leaf1.jpg" border="0" class="linked-image" />
As an artist, if I see this and say "I want a nice tileable texure from that" I'm in for a heck of a ride. That's going to be some serious work, because the grass is incredibly complex and because those leaves are all distinct from the grass and will show up quite obviously if I copy and paste them. They'll make it clear that my texture is repeating and even worse when I try to make a larger resolution texture they'll repeat <i>within the very texture itself</i> which is obviously bad news, because that just looks horrific when you tile something that's already repeating.
imageSynth handles stuff like this remarkably well, fixing the tiling issue, the repetition of the leaves within the texture issue, and by extension the repetition of the leaves when the texture is eventually tiled:
<img src="http://img90.imageshack.us/img90/5835/leaf2.jpg" border="0" class="linked-image" />
Notice how there is almost zero repetition as far as the leaves go. Pretty much the only bit that you can see is that one leaf thing that repeats 5 times, twice near the bottom (I'll let you see if you can find it). Aside from that, a quick glance, and even a long glance, doesn't show anything jarring that would tip us off that this is actually a smaller picture repeated a bunch instead of one large picture. It looks like each part of the texture is different. We don't see patterns. It also tiles, although for some reason their sample isn't square. In any case, trust me. It tiles great.
Now let's look at what your program gives us:
<img src="http://img90.imageshack.us/img90/6255/leaf3.jpg" border="0" class="linked-image" />
If you recall, my issue with the original image was that making it a texture would be hard because of the repetition of the leaves and because making it tile would be hard. Your program appears to have exacerbated both issues without giving me a tileable texture. Even a cursory glance at the output shows a ridiculously apparent copypasta of leaves. They're lined up horizontally and vertically half the time. Anyone who has progressed to the point where they can distinguish colors will notice that this is an artificial texture and not actually grass with leaves. On top of everything, it doesn't tile. So unless spelling my name in leaves (which we can do with the Photoshop clone stamp thank you very much) is worth something, I <i>still</i> don't know what the program is for.
I must admit I'm pretty baffled because I know if I was writing a program and posting about it on the forums it would be with the expectation that my program <i>does something</i>. Clearly it's designed to fill a niche, but I just don't see what that niche is. If it's supposed to be like imageSynth, well, clearly it doesn't do that.
Also, comeon man, I wrote your name in grass. Can you take that as some sort of olive branch and take the latent "###### you" out of your feedback?
<img src="http://img23.imageshack.us/img23/6356/grass3tile.jpg" border="0" class="linked-image" />
It's possible that my cataracts have arrived early or there's some sort of tumor in my brain that's making me see things in grids, but I'd like to submit that anyone who looks at that field of grass is going to perceive a tiling effect. They're going to see that the grass is made up of squares, that it's not one continuous body.
As a texture artist, you learn to avoid this stuff. You take your source imagine and run a hi-pass filter on it in Photoshop to get rid of shadows that only show up on one side, or you take a half that's unlit and mirror it so that there's no lighting at all in the texture. With the grass, it's not the shadows causing the obvious grid pattern but the value difference that comes from part of the grass being darker. This might be something your program can deal with or it might not be. My only point is that the output is unusable and would need as much tweaking as the original image needed in order to make it tileable. That, of course, is ignoring the leaf thing.
I could write your name in grass if it makes you feel better.
Fixed some issues and this is a bit better. You can still see scanlines though at a slight upward angle since I'm not doing anything smart with that yet.
So in sum, maybe if I had something I couldn't tile, the tool would be useful (I'd basically have to test it on the individual picture and see if it worked), and it wouldn't come down to "can it tile it" but more of a "can it make it look good" and "can it do it faster than I can." If there's some other stuff it can do to something like the metal texture that might also be a good area to explore, because to my knowledge there's no sort of automated tool that does anything with regular, mechanical textures like that. Of course, this is all contingent on what it actually did to that metal, which I'm still unclear on.
Here it is with the scanline issues eliminated. I've implemented the repatching in that paper, and a randomized non-axial ordering for laying down tiles. Keep in mind that the new texture is 10 times the size of the original texture.
I like the idea of this moultano, I guess Tycho hasn't mapped much however that random tile which moultano posted would fit in the universe & hammer. In game it would be pretty in place and reminds me of some of the random original NS1 textures that were used to create bast for example.
I haven't tried the tool yet, however I think for those random textures it will be useful to see what comes out.
EDIT: Just realised that the random tile wouldn't be too bad for a tram tunnel =]
Here it is with the scanline issues eliminated. I've implemented the repatching in that paper, and a randomized non-axial ordering for laying down tiles. Keep in mind that the new texture is 10 times the size of the original texture.<!--QuoteEnd--></div><!--QuoteEEnd-->
Have you tried tiling this? because when you do it has a lot of obvious repetition. The only thing this seems to have done is remove some repetition by making the texture larger... though the problem still exists, but then the file size is way more.