Notable changes from previous revision of Conductor BSDF:
- There are three "Fresnel Types" that can be selected on the node.
- Conductor Fresnel - Artistic (Default)
- Uses `bsdf_microfacet_setup_fresnel_conductor()` in Cycles. Takes a Color `Base` and `Tint` input with automatic code to turn it into `n, k` values (fresnel_conductor uses `n, k` values).
- F82 Tint Fresnel (Old default)
- Uses `bsdf_microfacet_setup_fresnel_f82_tint()` in Cycles. Takes a Color "Base" and "Tint" input. This option should match the a metallic Principled BSDF material.
- Conductor Fresnel
- Uses `bsdf_microfacet_setup_fresnel_conductor()` in Cycles. Takes in `n, k` values.
- Various functions have been added to support the new `Conductor Fresnel - Artistic`.
- For example, I've added `conductor_ior_from_color` and `conductor_extinction_from_color` fucntions to get `n, k` values from color `Base` and `Tint` inputs.
- Formula is taken from the paper `"Artist Friendly Metallic Fresnel", Ole Gulbrandsen, 2014`.
- These are the same formulas used by MaterialX in the `artistic_ior` node.
- General other changes (E.G. Change names of certain inputs, adjust default values, etc.)
TODO:
1. Fix the MaterialX node setup for when we're using the "Conductor Fresnel Type".
2. Adjust names and the descriptions of inputs to explain things. (Feedback from developers would be appreciated).
3. Check with Cycles developers to see if the names of the newly added functions are alright.
4. Wait for general code review. See if any other changes are wanted.
The material now (incorrectly) renders in Cycles in both SVM and OSL
TODO:
- Add support for Tint to SVM
- Use seperate "Conductor BSDF" case instead of reusing glossy closures.
- Update SVM and OSL to be based on the Principled BSDF Metallic instead of the Glossy BSDF