g8keepR
February 24th, 2006, 21:49
how do you use this node? The manual states: "Choose a direction with a distribution according to Lambert's cosine law for diffuse transmission (also known as ``diffuse translucency'')."
I've used the mi_reflection_glossy nodes successfully, but they use a mi_trace reflection call after it. Does this work similarly with another trace_call?
Thanks
bart
February 25th, 2006, 16:03
Yes. The trace function to use with the mi_transmission_dir_* functions is mi_trace_refraction.
Actually, if you are tracing more than one sample, try using the _x version of these functions in an mi_sample loop. For your case, probably mi_transmission_dir_diffuse_x. Here's the difference in their args as stated in the manual.
void mi_transmission_dir_diffuse(
miVector *dir,
miState *state);
void mi_transmission_dir_diffuse_x(
miVector *dir,
miState *state,
const double sample[2]);
We also usually add a trace depth level detection to only do multiple samples at shallow depths to prevent ray explosion.
:D
g8keepR
February 27th, 2006, 15:34
ah yes, real translucence (unlike the fake version implemented in maya's materials) thanks!