Jump to content


Photo

Four-way tiling?


  • Please log in to reply
9 replies to this topic

#1 EricChadwick

EricChadwick

    Newbie

  • Full Members
  • Pip
  • 4 posts

Posted 29 December 2004 - 09:07 AM

New here. I'm a real-time 3D artist, been in the game development biz for a long time. I like what I'm seeing with Genetica, looks very promising.

1. I'm curious if it will allow me to create a texture that can be rotated 90 degrees and still tile with itself? Thus each of the four edges would be able to tile with one another, for example if I had a slate floor and each quad had its UVs rotated in 90-degree increments, they would still tile seamlessly with one another.

2. Also I'm curious if Genetica can do 4-way mirror-tiling? Same idea as above, except that each quad could use mirrored UVs and the texture would still be seamless.

3. Can I make several variations that share the same edge tiling? Only the interiors would be different.

With hand-edited tiling, these can be very difficult to implement well... but they really help avoid obvious in-game repetition. Humans are so damn good at pattern-recognition!

#2 Atlas

Atlas

    Staff

  • Admin
  • PipPipPipPipPipPipPipPip
  • 4,508 posts

Posted 29 December 2004 - 12:18 PM

Eric,

Thanks for your suggestions. Genetica and Genetica 2 don't offer those types of seamlessness, but I am interested in implementing that sort of thing. We had considered some but not all of the types you mentioned above, so thanks for that--I'll modify our notes on the subject.

Atlas

#3 EricChadwick

EricChadwick

    Newbie

  • Full Members
  • Pip
  • 4 posts

Posted 29 December 2004 - 12:58 PM

OK, thanks for the reply.

BTW, here's an interesting tile plugin I saw recently, might give you some more ideas. It's for use with bitmaps rather than procedurals, but the controls are interesting. Biggest thing I see lacking therein is a filter to restore contrast in the blended regions. Alas, no mirror-tiling, but useful for photo-source nontheless.
http://www.redfieldp...essWorkshop.htm

Thanks again.

#4 dpoon

dpoon

    Newbie

  • Full Members
  • Pip
  • 2 posts

Posted 10 October 2010 - 05:35 AM

Eric,

Thanks for your suggestions. Genetica and Genetica 2 don't offer those types of seamlessness, but I am interested in implementing that sort of thing. We had considered some but not all of the types you mentioned above, so thanks for that--I'll modify our notes on the subject.

Atlas


Sorry for bringing back such an old post. Just wondering whether the four-way tiling has been implemented in the latest version of Genetica?

#5 EricChadwick

EricChadwick

    Newbie

  • Full Members
  • Pip
  • 4 posts

Posted 10 October 2010 - 07:13 AM

Sorry for bringing back such an old post. Just wondering whether the four-way tiling has been implemented in the latest version of Genetica?


I ended up implementing my own tiling tool in Photoshop via an Action. You can see the results a little bit, down here at the bottom of this page:
http://ericchadwick....rld_of_zoo.html

If you're interested I might be able to find the original script. I think it basically used this freeware Pizza Slice Mirror filter, combined with a bit of masking:
http://btinternet.co...eran/simple/#ps

Edit... ugh, link filter

Edited by Atlas, 10 October 2010 - 10:27 AM.
Updated EricChadwick's account to remove link filter


#6 Atlas

Atlas

    Staff

  • Admin
  • PipPipPipPipPipPipPipPip
  • 4,508 posts

Posted 10 October 2010 - 12:43 PM

Sorry for bringing back such an old post. Just wondering whether the four-way tiling has been implemented in the latest version of Genetica?

I returned to this problem in a later year but found it was a little trickier than I had originally thought. My original thought was that each node would be taught to render itself with various seamless modes, allowing the overall mode to be changed at will so that the entire texture could be re-rendered for a different type of seamlessness. This approach would have the advantage of rendering the texture from the ground up for a certain seamless type without resulting to mirroring and chopping trickery.

I quickly found that this would be problematic for a large number of the nodes. The following illustration shows how Point Light, for example, doesn't really work with rotational symmetry since it changes the direction the light is coming from.

Light_Direction.jpg

So my only idea at the moment is to create a filter that resynthesizes an input texture with the needed type of seamlessness. For example, I've created a filter that given this:

Super_Seamless_Before.JPG

It will resynthesize the edges to support every type of seamlessness:

Super_Seamless_After.JPG

Here's the resulting texture pasted 4 types. The arrows were added to show how you can flip and rotate the texture every which way and seamlessness will be maintained.

Super_Seamless.JPG

And here's the GTX.

Attached File  Super_Seamless.gtx   5.2KB   126 downloads

Unfortunately this filter leaves the edges of the texture looking weird when tiled, but I don't have any good ideas at the moment as to how it could be done better.

#7 Atlas

Atlas

    Staff

  • Admin
  • PipPipPipPipPipPipPipPip
  • 4,508 posts

Posted 10 October 2010 - 12:46 PM

I ended up implementing my own tiling tool in Photoshop via an Action. You can see the results a little bit, down here at the bottom of this page:
http://ericchadwick....rld_of_zoo.html

I assume you're referring to the very last illustration on the page. Very interesting!

If you're interested I might be able to find the original script. I think it basically used this freeware Pizza Slice Mirror filter, combined with a bit of masking:
http://btinternet.co...eran/simple/#ps

That link seems to go to a private mailbox.

#8 EricChadwick

EricChadwick

    Newbie

  • Full Members
  • Pip
  • 4 posts

Posted 10 October 2010 - 01:53 PM

That link seems to go to a private mailbox.

Sorry, I forgot to include the www, this should work...
http://www.btinterne...eran/simple/#ps

Unfortunately this filter leaves the edges of the texture looking weird when tiled, but I don't have any good ideas at the moment as to how it could be done better.

I found the 4-way-tiled edge needs to be very thin to minimize the Rorshach effect, like 1-2 pixels if possible. And it often needs hand-editing, to mask in more in some areas than in others, so for example a certain mirrored feature can be extended further into one corner than in the others.

It might be better if you break up the mask with a noise function, creating a rougher edge. Here's an example.

Original texture (it tiles in the traditional way)
Posted Image

Pizza-slice tiled
Posted Image

Left-right mask I used to composite the pizza-slice over the original
Posted Image

Top-bottom mask I used to composite another pizza-slice layer overtop
Posted Image

Result:
Posted Image

Result, offset halfway so we can see the seam better:
Posted Image

Result, mapped 4x on a plane in 3D, with each quadrant rotated 90 degrees from the others:
Posted Image

I don't think you can solve the lighting problem, unless you also mirrored the lighting itself, so each masked layer had its own light. Maybe?

#9 Funkdude

Funkdude

    Alien Genius

  • Full Members
  • PipPipPipPipPipPipPipPip
  • 4,683 posts

Posted 11 October 2010 - 12:34 AM

Cool explanation! Clear and easy to follow, thanks!

#10 Atlas

Atlas

    Staff

  • Admin
  • PipPipPipPipPipPipPipPip
  • 4,508 posts

Posted 11 October 2010 - 11:11 AM

Interesting. That's actually the same technique that I used in my GTX, but I guess I should have tried to make the borders thinner.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users