Jump to content

Sidewalk Texture Study


Crazy Homeless Guy
 Share

Recommended Posts

Ok.... I have been trying to make my texture maps more efficient lately. Meaning, I use a lot of high resolution texture maps and I would like to make them lower resolution, which consume a lot of RAM, and generally slow things down. I would like to make these maps work more efficiently.

 

Currently I am working on a standard sidewalk material. I have a 3x3 square image setup. It doesn't tile horribly bad, but I feel it could be better. I don't like to see repeating patterns. The tiling is more evident in the diffuse base version. I could up the number of tiles, to say 6x6 to make it better, but that makes the map higher resolution, and that is what I am trying to avoid.

 

I am curious as to what other methods people would consider in dealing with this.

 

I could use a composite map, and put a large scale noise overlay on it to vary the color a bit, this isn't perfect, but it can help. I am impartial on how good it looks, it definitely has to be done with a light hand.

 

I have played around with the tile map, and slightly varying the color of the squares. Again, may be useable in some instances, but not all.

 

I am also attaching the sidewalk map I am working with as a free texture for everyone who is interested to experiment with. Feel free to add it to your collection, and use it on projects. The reflection and bump map were built off of the diffuse base map, not the diffuse even map. Consider the files a late Christmas gift.

 

If you come up with better solutions, or develop these maps more, please post and share with everyone.

 

________

 

http://www.phase22.com/misc/cgarchitect/san_francisco_sidewalk.zip

 

san francisco sidewalk - diffuse even.jpg

 

san francisco sidewalk - diffuse base.jpg

 

san francisco sidewalk - reflection.jpg

 

san francisco sidewalk - bump.jpg

Edited by Crazy Homeless Guy
Link to comment
Share on other sites

Below is an outline of the direction I am researching now, but I am not sure if it technically possible, at least not with scripting, or finding a script.

 

I want to make a texture map for the diffuse channel that is composed of 9 separate maps. The maps that compose the grid would be selected at random. This will keep the pattern from tiling, even though there are only 9 variations of the sidewalk squares.

 

 

 

The material would then be mapped onto a plane, using UVW coordinates of 6'x6'x6'. Every time a 6'x6' grid is mapped, it would place the individual textures in a different order.

 

This is partially generated from the material by element thread going on, but it is different than that. I don't want to divide my sidewalk up into individual faces, or polygons. I want to be able to map it to one flat surface, and get the results I want.

 

I am attaching an example of what the random grid might look like, every set of 9 images would be applied randomly.

 

I am planning on uploading individual squares, and sample images later today. Not sure if this is a valid idea, but if it is, I could use on several of my materials.

Link to comment
Share on other sites

OK, here's a quick way that I deal with this....in the diffuse slot, use a Mix map. In the top slot, use a tiles map, set the tiles to 6x6, then add the diffuse map to the tiles texture, and double the tiling, taking your 3x3 map and making it 6x6. You'll also have to adjust the offset to .25 so the tiling pattern lines up with the grout lines. Change the color and fade variance to your liking. Copy this tiles map into the second slot of the mix map and go into the texture and rotate 90 degrees.

Take this map and copy it one more time into the mix amount slot. Turn off the texture so it's only black and white values, and then set the "holes" amount in the grout setting to something higher than 0, which basically addes holes to the tiles the same color as the grout, which since it's being used as a mask, allows the 90 degree rotated map to show through.

 

You could do this infinitely to your liking to get the desired result (instead of just the tiles map in the first slot of the mix material, you do a second mix material set up the same way, but maybe this one is rotated 180 degrees)

Link to comment
Share on other sites

Chad,

 

I tried following your instructions, but I quickly became lost. I am uploading a material where I started to set it up, but got stumped when the tiling wasn't working out.

 

One thing I don't like about the color variance option is that it tiles badly. In the attached rendering, I used a color variance of 1.0, you can see how the color variance simply repeats itself every time the UVW coordinate repeats.

 

http://www.phase22.com/misc/cgarchitect/san_francisco_sidewalk_chad.zip

 

Edited by Crazy Homeless Guy
Link to comment
Share on other sites

Have had good luck with mixing other maps and procedurals over the evil tiled maps. Mixing meaning diffuse channels, specular, roughness ..... Using niose for example in a diffuse channel can start to help mask the tiling. Adding a custom grunge map repeated less often helps to. The more layers-channels the better it gets. Procedurals are best for low memory, most of the time, but after all they are mathematical and still a bit CG.

 

My 2cents

Link to comment
Share on other sites

Have had good luck with mixing other maps and procedurals over the evil tiled maps. Mixing meaning diffuse channels, specular, roughness ..... Using niose for example in a diffuse channel can start to help mask the tiling. Adding a custom grunge map repeated less often helps to. The more layers-channels the better it gets. Procedurals are best for low memory, most of the time, but after all they are mathematical and still a bit CG.

 

I have mixed and matched overlay maps with success, and am begining to do that more often. I am trying to avoid using the noise as much as possible, or at leasts Max's default noise. Or I should say use it as minimally as possible. I have never been a huge fan of the way it looks.

 

The main engine I am working with right now is MR. From what I understand, MR has to process each layer of a material individually in order to calculate the lighting for a scene. This means the more layers making up your material, the slower it will render when compared to Vray. Vray is able to approximate the entire material in one pass. This is part of the reaason that Vray in general is faster than MR, but how much difference this makes, I am not sure. If I can find the time, and the right test subject, I might do a comparison.

 

if you're working with max and dont use MR for your renderer, you can try the new and improved Bercon Gradient map in combination with the Bercon Tile map. this way you are able to do just that waht you're after.

putting several bitmaps in a tile map randomly.

http://www.niksula.hut.fi/~jylilamm/BerconMaps.shtml

 

I saw the Bercon update posted on the Chaos forum but didn't research it a great deal because MR is my engine tool for exteriors. But what is does do is reassure me that it is possible. Unfortunately all of Bercons scripts are compiled to a DLL file, so I can not look at it, and figure out what is happening.

Link to comment
Share on other sites

Just buy more ram........;)

Seriously, I agree with the 'use a huge texture' solution. Even if you do solve this issue after a whole load of experimenting and fudging, you are kind of ignoring the elephant in the room. Which is the fact that a huge texture does usually solve the issue. As for using alot of ram, I remember when I was working off 256k of Ram, now 8G/64bit is normal. I dont think conserving Ram at the expense of textures is really a problem nowadays.

Link to comment
Share on other sites

Currently I am running a 8G/64bit setup. My projects often consume around 6 to 7 gigs while rendering in MR. I typically use relatively large textures to get around tiling. Now I am simply exploring options to avoid oversized textures, and I am thinking I can actually do this, and produce a superior product to the large textures I am using.

 

Not only can I potentially produce a better looking material by approaching this with something like a random texture selection, but those large textures also slow down material editors, load time for the rendering to start, and it simply makes the rendering go slower.

 

Along these same lines of studies, I am also beginning to research using MR format materials maps, which are supposed to work a lot more efficiently with RAM. They are unlaoded, and loaded as needed on the fly so they simply don't consume as many resources.

 

The biggest problem with this format is that they are not supported naively by 3dsmax. Which makes them more difficult to work with. Maybe they will be supported in 2010. I am anxiously looking forward to that release.

 

Also, I wanted to share a couple of maps with the community, because truth behold, the 3x3 square called 'even' in the first image I posted really doesn't tile that much. At ground level it would be a perfectly exceptable texture to use.

 

I still want to figure out the random generation of a larger texture map by randomly selecting from a series of smaller maps because I think it can be an efficient way of generating non tiling patterns in anything that consists of square blocks. It doesn't seem like it should be a difficult thing to do.

 

Maybe I am just thinking about it to much. I certainly could have turned that first map into a 6x6, sampled any tiling out of it, and called it a day.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...