[Bf-cycles] Roughness of the glossy shader

Lukas Stockner lukas.stockner at freenet.de
Fri Dec 23 17:50:55 CET 2016


It applies to the Glossy, Glass and Refractive Shader. The Diffuse Shader uses the Oren-Nayar model, not the Smith microfacet model, so it's a different concept of roughness.

Am 23.12.2016 um 16:50 schrieb Guillaume Soucis:
> Sorry to reawaken this older subject, but I was about to request a modification to the manual and I was wondering it this holds true for the roughness of all other shaders, e.g. glass and diffuse.
> 
> -----Original Message-----
> From: bf-cycles-bounces at blender.org [mailto:bf-cycles-bounces at blender.org] On Behalf Of Guillaume Soucis
> Sent: December 6, 2016 11:52 AM
> To: Discussion list to assist Cycles render engine developers <bf-cycles at blender.org>
> Subject: Re: [Bf-cycles] Roughness of the glossy shader
> 
> Thank you all! I will request a change to the manual for 2.7x specifying that a math node squaring the value should yield better results in most circumstances for roughness.
> 
> -----Original Message-----
> From: bf-cycles-bounces at blender.org [mailto:bf-cycles-bounces at blender.org] On Behalf Of Brecht Van Lommel
> Sent: December 5, 2016 4:50 PM
> To: Discussion list to assist Cycles render engine developers <bf-cycles at blender.org>
> Subject: Re: [Bf-cycles] Roughness of the glossy shader
> 
> There's no particular reason the value is not squared, I just wasn't aware other applications squared it. We can do this compatibility breaking change in Blender 2.8.
> 
> On Mon, Dec 5, 2016 at 9:20 PM, Matthew Heimlich <matt.heimlich at gmail.com> wrote:
>> This is definitely a change to consider for some point in the future 
>> where we're planning on breaking BC for Cycles in an update. Roughness 
>> should, indeed, be squared based on most popular texturing apps and online sources.
>> The notable exception here being Quixel Suite, as I was lucky enough 
>> to have a hand in their Cycles exporter and made sure this was taken 
>> care of automatically on export.
>>
>> On Mon, Dec 5, 2016 at 3:14 PM, Lukas Stockner 
>> <lukas.stockner at freenet.de>
>> wrote:
>>>
>>> Yes, this isn't related to color at all.
>>>
>>> Most Microfacet models (at least Beckmann and GGX) have a roughness 
>>> parameter called alpha. In Cycles, the Roughness input of the Shader 
>>> is used directly as alpha. However, alpha^2 is perceptually more 
>>> uniform, so many render engines use that. I'm not exactly sure what 
>>> the motivation for Cycles' unsquared value was, but now that's how it 
>>> works and we can't just change it.
>>>
>>> So, if your roughness is behaving funky, try plugging it twice into a 
>>> multiply node and you should be fine :)
>>>
>>> Am 05.12.2016 um 17:29 schrieb Guillaume Soucis:
>>>> I've come across what seems to be an issue with the roughness of 
>>>> the gloss shader and before submitting a bug report (or updating 
>>>> the manual, depending on what the intent was). I'm not sure if this 
>>>> is the best place, but I wanted to check with you guys to see if 
>>>> you could shed some light on what is going on before I report a bug or make a request to edit the manual.
>>>>
>>>> You can get an idea of the problem by reading this short exchange 
>>>> between RealPudding and JtheNinja on this Reddit thread:
>>>> https://www.reddit.com/r/blender/comments/4n92r5/recently_discovere
>>>> d_how_to_make_cycles_more/d420ptu/
>>>>
>>>> After chatting for a while with troy_s on #blendercoders and doing 
>>>> numerous tests with different image formats and colour spaces, we 
>>>> came to the conclusion that this was not a gamma/colour space 
>>>> issue. He believes it's what JtheNinja suspected, namely that 
>>>> Cycles is interpreting roughness unsquared. Whether the correction 
>>>> factor is 2.0 or 2.2, however, doesn't change the fact that most 
>>>> roughness maps must be passed through a math node to render how 
>>>> artists expected them to, and this is not discussed anywhere in the manual.
>>>>
>>>> So my questions are as follows:
>>>>
>>>> 1 - Can someone confirm that this is indeed not a colour space 
>>>> problem but simply the fact that the value is read unsquared?
>>>>
>>>> 2 - What was the reason behind this implementation, if this is not 
>>>> a bug? There seems to be very few sources online saying  that 
>>>> roughness map should be squared when making them, but most 
>>>> roughness maps don't seem to be. Is it because Cycles is expecting 
>>>> a squared map? If so, shouldn't this be documented in the manual, 
>>>> given how much of an impact it has on the roughness, especially 
>>>> when using Cycles procedural textures as an input or simply when 
>>>> dragging the slider for a uniform value. There is very little 
>>>> difference in the 0.3-1.0 range, but an extreme jump in perceptual roughness in the 0-0.1 range.
>>>>
>>>> There seems to be a lot of confusion about the issue, which seems 
>>>> to be more visible recently with these tutorials coming out about 
>>>> how to use Cycles in a similar fashion to real-time PBR renderers 
>>>> (i.e. how to plug the maps of spec/rough or gloss/metal workflows).
>>>> Since many artists come from these backgrounds and wonder why their 
>>>> roughness map is showing too rough, I'm sure many would appreciate 
>>>> if you could explain what does cycles expect and why. I'm not very 
>>>> knowledgeable about this myself so I might have confused things in 
>>>> my explanations, but with your help I could submit an update to the 
>>>> glossy shader node in the manual, letting people know of the behaviour of the input and how to correct unexpected values.
>>>>
>>>> Thanks!
>>>>
>>>> _______________________________________________
>>>> Bf-cycles mailing list
>>>> Bf-cycles at blender.org
>>>> https://lists.blender.org/mailman/listinfo/bf-cycles
>>>>
>>>
>>>
>>> _______________________________________________
>>> Bf-cycles mailing list
>>> Bf-cycles at blender.org
>>> https://lists.blender.org/mailman/listinfo/bf-cycles
>>>
>>
>>
>> _______________________________________________
>> Bf-cycles mailing list
>> Bf-cycles at blender.org
>> https://lists.blender.org/mailman/listinfo/bf-cycles
>>
> _______________________________________________
> Bf-cycles mailing list
> Bf-cycles at blender.org
> https://lists.blender.org/mailman/listinfo/bf-cycles
> _______________________________________________
> Bf-cycles mailing list
> Bf-cycles at blender.org
> https://lists.blender.org/mailman/listinfo/bf-cycles
> _______________________________________________
> Bf-cycles mailing list
> Bf-cycles at blender.org
> https://lists.blender.org/mailman/listinfo/bf-cycles
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: OpenPGP digital signature
Url : http://lists.blender.org/pipermail/bf-cycles/attachments/20161223/24c9f305/attachment.pgp 


More information about the Bf-cycles mailing list