|  |  | hey there,
I need to use something like color_map on normals.
let me explain myself:
let's say I have a texture with:
pigment{ wood scale <.2, .2, 1> }
I get a bunch of concentrical rings, in 2 colors.
now if I change it like this:
pigment{ wood color_map{[0 rgb 0] [1 rgb 1]} scale <.2, .2, 1>}}
I get the same rings, but instead of 2 colors I get a gradient.
now, back to my problem: when I use "wood" in a texture's normal, I get
concentrical rings in 2 "colors", that means I see one ring flat, one right
raised, one flat, one raised, so on..
what I need is something similar to "color_map" in normals, so I can get a
grandient in the mapping. I've tried "normal_map" without any luck... I've
also tried the slope_map but I don't see how that works.
any hints would be really neat! :)
Thanks,
Alex V.
Post a reply to this message
 |  | 
|  |  | Alex wrote:
Okay, there are a few things with your question.
First, you may actually be mis-interpreting what you are seeing with your
color_map example.  The wood pattern uses, by default, a triangle_wave 
which gives a symmetrical result over one unit.  So you are actually 
getting a
result that could be duplicated by
pigment{ wood  ramp_wave color_map{[0 rgb 0] [.5 rgb 1][1 rgb 0]} scale 
<.2, .2, 1>}
Now, to control the result of the pattern when used in a normal, you 
were on the right track with the using the slope_map, you just have to 
think very carefully about how it is working.  With the triangle_wave 
default, the value of 1 is returned at a distance of .5 when there is no 
scaling applied.  Suppose you applied max height and zero slope at that 
point and put a steep slope at the terminal points
normal { wood slope_map { [0 <0,2>][1 <1,0>] } scale <.2, .2, 1>}
Would this be closer to the result you hoped for?
Finally, if the behavior of the color_map is easier for you to 
understand, you can define the pattern as a pigment function then use it 
in the normal.  I will let you investigate the documentation on that.
-Jim
tested with the following sdl:
cylinder { z*0 z*1 1
  pigment{ wood
	color_map{
		[0 rgb 0]
		[1 rgb 1]
	}
	scale <.2, .2, 1>
  }
}
cylinder { z*0 z*1 1
  pigment{ wood
	ramp_wave
	color_map{
		[0 rgb 0]
		[.5 rgb 1]
		[1 rgb 0]
	}
	scale <.2, .2, 1>
  }
  translate y*-2
}
cylinder { z*0 z*1 1
  pigment { rgb .8 }
  normal { wood
	slope_map { [0 <0,2>][1 <1,0>]
	}
	scale <.2, .2, 1>
  }
  translate x*2
}
Post a reply to this message
 |  |