[EDIT] This started life as a plugin but the implementation is being moved to blender as a new texture. [/EDIT]
I was going through some of the texture plugins and had a different idea of computing the intensity and bump map. Moreover I wanted to produce a set of bricks of random width that was repeatable and could be offset arbitrarily to produce different patterns.
There are 3 modes: Linear, Quadratic and Cubic. These basically control the fall-off of the brick intensity function from the brick face to the mortar.
My next idea is to introduce some sort of noise function to perturb the texture.
[EDIT]: I ended up borrowing a couple of functions from other plugins. Will double-check terms of use before releasing source code (in case some one wants this).
[EDIT2]: I borrowed a mod() function from the brick.c in the Blender Plugin Repository and its Public Domain. Didn’t want to write it myself
Please read the README.TXT file. It has a note about bump mapping.
The Mac version was supplied by sarah and it may or may not work on all Macintosh systems.
This sounds very nice! Please ensure that it is tileable (scale less than 1 or add the Repeats fields). With a speckle tex on top of this and some procedureal coloring I bet you could easily get a very good looking brick texture simply and quickly. Keep up the good work!
love that rounded texture - used on commercial floor mats. It made me think of the other common tex is the diamond plate stainless steel trim, usually on truck panels and steps, utility/tool boxes. This boiler plate, which is rouneded, whereas diamond is sharp-edged to grip better.
Nice bricks! I particularly like the stucci-warped ones.
I discovered the “warp” feature after adding noise and distortion to my first plugin, but I’m still of two minds about whether to take them out. On the one hand, they aren’t really necessary, but on the other hand, it’s a little easier to tweak a texture, particularly for newbies, since you don’t have to know how to use a texture to warp another one… you can just click on the little buttons in the plugin panel and see the results immediately.
imho, simple redundancy is better. It staves off the “gosh I have to go here and then here and then over here just to…” argument. It also easier to say X in this is the same as Y in this and Z in that, as once they learn it in Y then their knowledge applies to X and Z, and helps with the “got it” factor. so, if it doesn’t complicate matters terribly, leave it in. I would hope you donate this to the open source so it can become another great procedural texture.
Yeah, that’s pretty much what I ended up deciding… besides, it was less work to leave it in than to take it out!
I put my plugins under the GPL… I hope the bricks will be Open Source too; I’d like to see the bump mapping code, as that was something I had a little trouble with, as I recall.
I finally ironed out some nasty little details with the round corners (hopefully). So now all 3 types of interpolation should work (Linear, Quadratic, Cubic).
Please see Post #1 for links to the Windows version of the plugin. I’ll see what I can do about compiling for Linux.
If you have any questions, concerns or ideas, feel free to let me know. The source will be GPL when I’m done after all I’ve learnt a lot from other plugins.
If you manage to create something cool with it, please post your results in this thread if possible. Would like to know if it finds use anywhere.
Maybe you can add random intensity to it, one result would be bricks sticking out more then others. Another use would be tight colorband controls to give random color (I’ve done this with cellnoise)
Right now, mortar is at 0 intensity followed by a ramp (linear, quadratic, cubic) for the bevel from 0 to 1. I was thinking of compressing this range to something like 0.25 - 0.75 so it can allow for other effects. I will add your idea to my list of enhancements; each brick can be randomly displaced up or down (based on a min/max setting).