[Bf-committers] Realistic materials question (Farsthary)

Brecht Van Lommel brecht at blender.org
Wed Feb 25 14:53:26 CET 2009


>>   For example:
>>   Blinn-Phong model------------>  kd + ks*(H.nor)^n have 3 parameters kd,ks,n
>>   Modified Blinn-Phong model--->  kd/PI + ks*(n+2)*(nor,H)^n/(2*PI) also
>> have 3 parameters
>>  what I mean is what are the ever needed material properties for a BxDF
>> model? here I'm very open to ideas, suggestions,papers,links and so :)

There are two points of view for this. What you expose to the path 
tracing algorithm, and which parameters the BxDF uses internally. Look 
at existing code like PBRT for example to see what can work as a BxDF 
interface. Multiple layers, tabulated BxDF's, etc, you can hide behind 
such an interface.

I think the parameters here are not the ones you need to focus on. The 
parameters in such a formula should be internal to the BxDF, and path 
tracing shouldn't have to know about them specifically. They may 
happen to correspond exactly to some parameter that is exposed through 
the interface, but it's important to separate those things.

Looking at PBRT you have functions like:

* f: compute BRDF given in/out vector
* sample_f: (importance) sample direction for BRDF given one vector

I don't know if they have a function to get the probability that you 
can use for path tracing termination, they seem to use a different 
method. But if you would need that it can also be a function in the 
BxDF. There probably has to be a distinction between diffuse, 
specular, .. in the interface, and in that case you may end up simply 
returning kd, ks and similar for these BxDF types. But it's best to 
think of them as different things in my opinion.


More information about the Bf-committers mailing list