36 |
|
|
37 |
|
extern double funvalue(), varvalue(); |
38 |
|
|
39 |
– |
#define BSPEC(m) (6.0) /* specular parameter b */ |
40 |
– |
|
39 |
|
typedef struct { |
40 |
|
OBJREC *mp; /* material pointer */ |
41 |
|
RAY *pr; /* intersected ray */ |
163 |
|
else |
164 |
|
setcolor(nd.scolor, 1.0, 1.0, 1.0); |
165 |
|
scalecolor(nd.scolor, nd.rspec); |
168 |
– |
/* improved model */ |
169 |
– |
dtmp = exp(-BSPEC(m)*nd.pdot); |
170 |
– |
for (i = 0; i < 3; i++) |
171 |
– |
colval(nd.scolor,i) += (1.0-colval(nd.scolor,i))*dtmp; |
172 |
– |
nd.rspec += (1.0-nd.rspec)*dtmp; |
166 |
|
} |
167 |
|
/* diffuse reflection */ |
168 |
|
nd.rdiff = 1.0 - nd.rspec; |