Since the aforementioned bug is not introduced by this patch, the current state looks good to me.
Not sure how layering works.
I figured that when emission does not render, closure_stack[0]
is OSL_CLOSURE_GenericEmissive_ID
, then closure_stack[1]
is assigned by layer->base
which is…
The discrepancy in the principled emission alpha test is because there is a IF_KERNEL_NODES_FEATURE(BSDF)
check in svm_node_closure_bsdf()
, therefore the Principled BSDF is skipped for…
principled_hair
-> hair_chiang
, microfacet_hair
-> hair_huang
@LukasStockner There is a problem with your change. Because num_closure
is set to 2 in shader_graph.cpp
, when it tries to allocate a transparent closure in bsdf_microfacet_hair_setup()
it…
Currently if the parametrization is set to Melanin Concentration, an extra Tint socket is enabled, which corresponds to the realistic case of dyed hair (there is melanin present in natural hair,…
Indeed it doesn't look good, but adding if (is_circular)
makes it span 8 lines, not sure of the benefits.
Yes, the point light has been changed to sphere light for energy preservation and better compatibility with other renders #108506. Outside the radius it is treated as a sphere light, inside the…
This piece of code is provided by @olivier.fx. I didn't came up with the logic myself, but for a far-field model the "normal" is always the incoming direction, not really a feature of the object…
For the current two enums yes, but named struct seems easier understandable. On the other hand, it introduces additional storage and is seen as a compromise for not having enum-typed sockets. I'm…
I don't see tooltips in any other shader nodes, so I'm not sure if there is a guideline here, and I also have no idea about UX. I thought it would be good to provide clear information here, so the…