[Radiance-general] diffuse transmission of BRTDfunc
Jan Wienold
jan.wienold at epfl.ch
Wed Aug 5 02:11:39 PDT 2015
Hi all,
I'm a bit stuck by the use of the "old-fashioned" BRTDfunc. Maybe it is
a silly question, but I couldn't find anything about this in the
discussions so far.
What I want to do is to modify the diffuse transmitted light by a
function and using the material BRTDfunc. For the specular transmission
and reflection this works pretty well, a function can be defined in a
user specified function in a cal file.
But if I try to do this for the diffuse component, it immediately fails.
In addition (or maybe the same issue) the is a problem in parsing. If I
specify for "rbrtd gbrtd bbrtd" and "rtdif gtdif btdif " 0.1 0.1 0.1,
the function works properly. But using .1 instead 0.1 it fails as well.
It always says "undefined function" in both cases.
Any idea?
if it is possible to change the diffuse behavior, how would it be
possible? And how can I access the angle to the light source? Rdot is
giving me only the angle of incidence from the incoming ray to the
surface normal, but not between light source and surface normal.
below a simple example.
thanks a lot
Jan
example of BRTDfunc working properly:
void BRTDfunc testmat
10 0 0 0
dirtrans dirtrans dirtrans
0.1 0.1 0.1
testfunc.cal
0
9 0.2 0.2 0.2
0.2 0.2 0.2
0.1 0.1 0.1
and testfunc.cal is (for all cases)
{test functionfile}
dirtrans=0.25*Rdot*Rdot;
diftrans=0.3*sqrt(Rdot*Rdot);
example of BRTDfunc NOT working:
void BRTDfunc testmat
10 0 0 0
dirtrans dirtrans dirtrans
.1 .1 .1
testfunc.cal
0
9 0.2 0.2 0.2
0.2 0.2 0.2
.1 .1 .1
or also not working:
void BRTDfunc testmat
10 0 0 0
dirtrans dirtrans dirtrans
diftrans diftrans diftrans
testfunc.cal
0
9 0.2 0.2 0.2
0.2 0.2 0.2
diftrans diftrans diftrans
--
Dr.-Ing. Jan Wienold
Ecole Polytechnique Fédérale de Lausanne (EPFL)
EPFL ENAC IA LIPID
http://people.epfl.ch/jan.wienold
LE 1 111 (Office)
Phone +41 21 69 30849
More information about the Radiance-general
mailing list