[Radiance-general] Reflection vs specularity

Carsten Bauer cbauer- at t-online.de
Sat Jul 23 12:53:17 CEST 2005


Hi Iebele,

I'm anything else than a BRDTF expert, so my answer is a bit short  .. 
at least for the moment

> 1. Distant objects seem to reflect more as nearby objects, in term of 
> renderings: the reflection changes as a funtion of the angle between 
> ray direction ad surface normal
> 2. Some roughness/noise is visible at a distance, while nearby the 
> surface is just dull.
> 3. The color changes somehow as a funtion of the distance to a bit 
> more blue/less saturation
> 4. Specular highlights are very soft and relative to the 'eye-position'
>
in other words. specular reflection increases with higher incidence 
angles (measured from the surface normal normal). ..sounds reasonable..

> 1.
> The first question of all is how I could possibly find the 
> ray-direction and value of incident light within  a  brtdf. Are there 
> globally defined variables for these (like Dx, Dy, Dz) ?


the direction and value of the incident light as seen from the current 
ray hit is calculated within the program when stepping through the list
of sources and adding up their contributions, but this means of course 
that in general there is not one value and one direction which could be 
exported, but many.
Why do you need them? Normally they're dealt with internally, the BRTDF 
gets the direction to the source and then gives back the specular 
(and/or transmission) coefficient of your material for that incident 
angle and your current view ray angle.
(but I definitely need to have a closer look on how the BRDTF stuff is 
evaluated in Radiance before writing on further ..).


> 3.
> The last question is: can I change the line below in a more elegant 
> way, like the pow(base,exp) function in c: :
> refl  =  
> (1-multi)*(1-multi)*(1-multi)*(1-multi)*(1-multi)*(1-multi)*(1-multi)*(1-multi)*(1-multi) 
> ;
>
The functional language defines a pure exponential funtion e^x ( or 
exp(x), as it is called). To calculate arbitray powers with it, proceed 
as follows:
  x^y   = e^y*lnx  or  x^y = exp(y*log(x))  in the syntax of the 
functional language

-cb



More information about the Radiance-general mailing list