[Bf-cycles] build with OSL support

Yasuhiro Fujii y-fujii at mimosa-pudica.net
Thu Nov 10 10:10:18 CET 2011


Additionally, there is a reason to use uniform sampler, not
cos-weighted sampler.
For example, when
    (eye vector) == (light vector) && (eye vector) dot (surface normal) == 0,
lambert value is 0.0 but O-N value is not 0.0.
Therefore, I think O-N cannot be sampled correctly with cos-weighted sampler.
We can write a advanced O-N specific sampler, but I think it is
overkill for the 1st implementation.

I'm not a renderer expert, suggestions are welcome.


On Thu, Nov 10, 2011 at 12:22 PM, Yasuhiro Fujii
<y-fujii at mimosa-pudica.net> wrote:
> Yes, they converge to the same value. however, difffuse() uses
> cosine-weighted importance sampler while my oren_nayar() currently
> uses uniform sampler, they have different variances. (Sorry for my
> poor English skill...)
>
> After night's sleep, I started to think that it is a technical detail,
> it can be resolved later when it becomes a problem.
> OK, I will change the patch to unify diffuse() and oren_nayar().
>
>
> On Thu, Nov 10, 2011 at 2:23 AM, Brecht Van Lommel
> <brechtvanlommel at pandora.be> wrote:
>> I think it should converge to the same result when roughness is zero?
>> At least in blender internal this seems to be the case. Also, looking
>> at your code: when sigma = 0, we get m_a = 1 and m_b = 0. As a result,
>> all that is left is nl/M_PI, i.e. a regular diffuse BSDF?
>>
>> Brecht.
>>
>> On Wed, Nov 9, 2011 at 4:27 PM, Yasuhiro Fujii
>> <y-fujii at mimosa-pudica.net> wrote:
>>> pros:
>>> + Simplify the UI.
>>> + Simplify the code.
>>>
>>> cons:
>>> + oren_nayar() and diffuse() have different convergence behavior even
>>> if roughness == 0.0, yield very different looks if convergence is not
>>> sufficient. In some scene, designers may want to choose oren_nayar()
>>> even if roughness == 0.0.
>>> + Thus users must know roughness = 0.0 is specialized.
>>>
>>> I can't decide it because of my poor experience, especially designer's side.
>>> What do you think about their cons?
>>>
>>>
>>> On Wed, Nov 9, 2011 at 11:37 PM, Brecht Van Lommel
>>> <brechtvanlommel at pandora.be> wrote:
>>>> Hi,
>>>>
>>>> What do you think about implement this as a Roughness input for the
>>>> Diffuse BSDF node, instead of a separate one? Internally it can still
>>>> be a separate closure/BSDF, but it could just check if(roughness ==
>>>> 0.0) diffuse() else oren_nayar().
>>>>
>>>> Brecht.
>>>>
>>>> On Wed, Nov 9, 2011 at 6:55 AM, Yasuhiro Fujii
>>>> <y-fujii at mimosa-pudica.net> wrote:
>>>>> The O-N patch must be updated, however, the compile errors don't seem
>>>>> to be caused by this patch. I guess that they are due to tomato branch
>>>>> merged.
>>>>>
>>>>> Blender's source (including cycles) will be changed a lot this week,
>>>>> due to a Branch Merger hurricane week:
>>>>> http://www.blendernation.com/2011/11/07/developer-meeting-notes-november-6-2011/
>>>>>
>>>>> I will update the patch when cycles get to be able to compile again.
>>>>>
>>>>>
>>>> _______________________________________________
>>>> Bf-cycles mailing list
>>>> Bf-cycles at blender.org
>>>> http://lists.blender.org/mailman/listinfo/bf-cycles
>>>>
>>> _______________________________________________
>>> Bf-cycles mailing list
>>> Bf-cycles at blender.org
>>> http://lists.blender.org/mailman/listinfo/bf-cycles
>>>
>> _______________________________________________
>> Bf-cycles mailing list
>> Bf-cycles at blender.org
>> http://lists.blender.org/mailman/listinfo/bf-cycles
>>
>


More information about the Bf-cycles mailing list