[Bf-committers] Wood texture update
Chris Burt
desoto at blender.spaceisbig.com
Sat Feb 26 18:48:09 CET 2005
I've been doing some work on the wood texture to find some pleasing
results. The previous implementation relied on a periodic function to
produce the output values of the wood texture. The end result of this
implementation were unavoidable symmetrical intensity bands. The problem
with this approach is that trees do not have a sinusoidal growth
pattern. They grow faster in one season than another,except for in
climates where growth is supported year-round. Thus a quick glance at
the grain of any piece of wood generally reveals sharp contrasts between
the end of one season of growth and the beginning of another. While you
might attempt to reproduce this effect with colorbands, you would fail
miserably because no matter how hard you try, the intensities returned
by the current wood texture code would only let you control the
appearance of 6 months of the year, the latter 6 months being a mirror
image of the first. This is illustrated here:
http://blender.spaceisbig.com/old_colorband_wood.jpg
In this image you see the colorband, which, given any piece of wood,
should represent one year of growth. The yellow color marker represents
the month of June, and the red color marker represents the month of
December. (Note: These are just examples for simplification. From an
artistic standpoint it doesn't really matter what "month" the cursor is
in, only that the entire color band represents one year of time)
http://blender.spaceisbig.com/old_wood.jpg
In this image you see the resulting wood texture as rendered on a plane
in Blender 2.36. It is easy to see in this image that the month of
December actually falls where June should fall, and that the last 6
months of the "year" are simply a mirror image of the first half of the
year. The results aren't nearly as realistic in my opinion. However,
when you have proper control over the entire "year" you get results more
like this (the result of some quick fiddling before lunch):
http://blender.spaceisbig.com/new_wood.jpg
I hope that you all agree this is a more realistic looking texture. I
know I haven't created a side-by-side comparison but I hope you can see
the usefulness has been improved.
The good thing about this new implementation is that the intensity
values can be made to look like the old system simply by putting the
same color marker at each end of the color band. The result is nearly
identical.
Some questions for discussion:
1) Are the normals created by my technique accurate? (Probably not).
2) How should this be implemented in the UI? Right now I think it would
be best if there were a way to use the old method as well, as my method
is certainly slower.
3) Is there another way to achieve the same result without resorting to
using the modulus function I've adapted from "Texturing & Modeling; A
procedural approach"? It requires a sawtooth output in order for the
user to have complete control (in my opinion.)
4) Should the "ring" versions have 3 dimensional components? Trees are
cylinders, not spheres.. thus the code creating the output shouldn't be
producing spherical rings in my opinion. I had trouble creating
realistic results by simple disabling the Z-mapping. Maybe someone has a
better idea for this?
5) Is this email too long to bother reading? ;)
Thanks everyone for your input! (Those of you who give any ;)
Regards,
--Chris
-------------- next part --------------
A non-text attachment was scrubbed...
Name: wood_update.patch
Type: text/x-diff
Size: 1585 bytes
Desc: not available
Url : http://projects.blender.org/pipermail/bf-committers/attachments/20050226/de2439fb/wood_update.bin
More information about the Bf-committers
mailing list