Shader: Add Metallic BSDF Node #105008

Merged
Aaron Carlisle merged 10 commits from Alaska/blender-manual:metallic-bsdf into blender-v4.3-release 2024-11-12 19:11:59 +01:00
Member
Ref blender/blender@6ccb33e9fe14a5c312348dbd3deab37ad3057ca9
Alaska added 1 commit 2024-11-09 03:27:36 +01:00
Alaska requested review from Sergey Sharybin 2024-11-09 03:28:15 +01:00
Alaska requested review from Lukas Stockner 2024-11-09 03:28:24 +01:00
Alaska requested review from Aaron Carlisle 2024-11-09 03:28:39 +01:00
Alaska requested review from Weizhen Huang 2024-11-09 03:28:47 +01:00
Weizhen Huang requested changes 2024-11-11 11:47:01 +01:00
Dismissed
Weizhen Huang left a comment
Member

I could provide a few images

Titanium (default) Aluminium Copper Gold
Physical Conductor physical_conductor_Ti.png physical_conductor_Al.png physical_conductor_Cu.png physical_conductor_Au.png
n: [2.7574 2.5129 2.2314]
k: [3.8671 3.4042 3.0094]
n: [1.3332 0.9459 0.5824]
k: [7.4341 6.3403 5.1815]
n: [0.235 0.7294 1.3697]
k: [5.6662 2.562 2.2278]
n:[0.0 0.4702 1.4392]
k: [182.5932 2.1897 1.6603]
F82 Tint F82_tint_Ti.png F82_tint_Al.png F82_tint_Cu.png F82_tint_Au.png
Base Color: [0.6170 0.5767 0.5401]
Edge Tint: [0.6952 0.7264 0.7701]
Base Color: [0.9118 0.9122 0.9179]
Edge Tint: [0.8484 0.8779 0.9169]
Base Color: [0.9723 0.6944 0.4866]
Edge Tint: [0.9613 0.9693 0.9424]
Base Color: [1. 0.7354 0.3536]
Edge Tint: [0.993 1.0 1.0]
I could provide a few images ||Titanium (default)|Aluminium|Copper|Gold| |---|--|--|--|--| |Physical Conductor|![physical_conductor_Ti.png](/attachments/5fefbc0d-b57a-4e8a-9f9d-448b72f4c60d)|![physical_conductor_Al.png](/attachments/3843697c-294d-45bd-a1e1-dff8db32f24b)|![physical_conductor_Cu.png](/attachments/154c5610-1e8d-4a33-bd92-ec0a428ed760)|![physical_conductor_Au.png](/attachments/71a22e19-ecd5-4392-b65b-df522053f08a) ||n: [2.7574 2.5129 2.2314]<br>k: [3.8671 3.4042 3.0094]|n: [1.3332 0.9459 0.5824]<br>k: [7.4341 6.3403 5.1815]|n: [0.235 0.7294 1.3697]<br>k: [5.6662 2.562 2.2278]|n:[0.0 0.4702 1.4392]<br>k: [182.5932 2.1897 1.6603] |F82 Tint|![F82_tint_Ti.png](/attachments/e1a87fd2-06ae-469a-8a4a-625fa399ef40)|![F82_tint_Al.png](/attachments/d85073c6-715d-4423-b26c-7d67264ce6d9)|![F82_tint_Cu.png](/attachments/16351c3f-f65b-4540-b4f1-70451df3ba2b)|![F82_tint_Au.png](/attachments/defd01d7-6f4d-4b2a-aad8-9739ef527b82) ||Base Color: [0.6170 0.5767 0.5401]<br>Edge Tint: [0.6952 0.7264 0.7701]|Base Color: [0.9118 0.9122 0.9179]<br>Edge Tint: [0.8484 0.8779 0.9169]|Base Color: [0.9723 0.6944 0.4866]<br>Edge Tint: [0.9613 0.9693 0.9424]|Base Color: [1. 0.7354 0.3536]<br>Edge Tint: [0.993 1.0 1.0]
@ -0,0 +1,86 @@
.. _bpy.types.ShaderNodeBsdfMetallic:
***********
Member

There is a WARNING: Title overline too short. I believe these ***** should be as long as the title itself.

There is a `WARNING: Title overline too short.` I believe these ***** should be as long as the title itself.
Alaska marked this conversation as resolved
@ -0,0 +15,4 @@
Inputs
======
Base Color :guilabel:`F82 Tint Only`
Member

Looking at Inputs in hair_principled.rst, I think it's preferable to have subsections like Common, F82 Tint, and Physical Conductor, instead of mixing all the inputs.

Looking at `Inputs` in `hair_principled.rst`, I think it's preferable to have subsections like `Common`, `F82 Tint`, and `Physical Conductor`, instead of mixing all the inputs.
Alaska marked this conversation as resolved
@ -0,0 +22,4 @@
Color of the material when viewed at a 82° angle.
IOR :guilabel:`Physical Conductor Only`
The Index of Refraction (sometimes denoted by n) per color channel. Combined with *Extinction*, this controls the base
Member

You could say "Refractive index per color channel. This is the real part of a complex refractive index, scientifically denoted as n".
Just saying Index of Refraction feels a bit messy when the IOR is complex. Also saying using base and edge color is just another model, mentioning it here sounds like the two models are connected, but they are not.

You could say "Refractive index per color channel. This is the real part of a complex refractive index, scientifically denoted as n". Just saying Index of Refraction feels a bit messy when the IOR is complex. Also saying using base and edge color is just another model, mentioning it here sounds like the two models are connected, but they are not.
Alaska marked this conversation as resolved
@ -0,0 +26,4 @@
and edge color of the metallic material.
Extinction :guilabel:`Physical Conductor Only`
The Extinction Coefficient (sometimes denoted by k) per color channel. Combined with *IOR*, this controls the base
Member

Similar here, I would prefer "Extinction coefficients per color channel. This is the imaginary part of a complex refractive index, scientifically denoted as k".

Similar here, I would prefer "Extinction coefficients per color channel. This is the imaginary part of a complex refractive index, scientifically denoted as k".
Alaska marked this conversation as resolved
@ -0,0 +63,4 @@
:Beckmann: :guilabel:`Cycles Only`
Beckmann microfacet distribution.
Fresnel Method
Member

This is called Fresnel Type in the UI

This is called Fresnel Type in the UI
Alaska marked this conversation as resolved
@ -0,0 +64,4 @@
Beckmann microfacet distribution.
Fresnel Method
Metallic Fresnel type to use.
Member

This description does not give more information than the title. We could say "Models for describing metal appearance, by specifying the apparent color or the physical IOR.

This description does not give more information than the title. We could say "Models for describing metal appearance, by specifying the apparent color or the physical IOR.
Alaska marked this conversation as resolved
@ -0,0 +67,4 @@
Metallic Fresnel type to use.
:F82 Tint:
Uses the Adobe F82-Tint formula for the metallic fresnel.
Member
Add a link to the F82-Tint model https://helpx.adobe.com/content/dam/substance-3d/general-knowledge/asm/Adobe%20Standard%20Material%20-%20Technical%20Documentation%20-%20May2023.pdf
Alaska marked this conversation as resolved
Alaska added 6 commits 2024-11-11 12:43:12 +01:00
Author
Member

Thank you for the images.

I have included them on the manual page.

Also the n,k values for gold looked a little odd to me, so I used the values from https://physicallybased.info/

Thank you for the images. I have included them on the manual page. Also the n,k values for gold looked a little odd to me, so I used the values from https://physicallybased.info/
Member

Also the n,k values for gold looked a little odd to me

The values are from curve fitting, sRGB is not good at describing the reflectivity of gold, this is just the result with the minimal error. If you change the value the render also needs to be changed.

> Also the n,k values for gold looked a little odd to me The values are from curve fitting, sRGB is not good at describing the reflectivity of gold, this is just the result with the minimal error. If you change the value the render also needs to be changed.
Alaska added 1 commit 2024-11-11 12:56:13 +01:00
Member

This is a comparison of gold using the value from physicallybased.info and my curve fitting

Physicallybased.info Curve Fitting
F82_tint_Au_physicallybased.info.png physical_conductor_Au.png

I can not really say which one looks more like gold, they are all approximations, it also depends on the lighting. I wanted to compare using a spectral renderer but haven't gotten around to it yet.

I also attached the scripts and the scene I used.

This is a comparison of gold using the value from physicallybased.info and my curve fitting |Physicallybased.info|Curve Fitting| |--|--| |![F82_tint_Au_physicallybased.info.png](/attachments/7ed86868-93f0-410e-a560-4d30edc7cde8)|![physical_conductor_Au.png](/attachments/d76aed0e-887c-4c60-9747-4cf1731988d6)| I can not really say which one looks more like gold, they are all approximations, it also depends on the lighting. I wanted to compare using a spectral renderer but haven't gotten around to it yet. I also attached the scripts and the scene I used.
Weizhen Huang reviewed 2024-11-11 14:02:19 +01:00
@ -0,0 +103,4 @@
.. list-table::
* -
Member

The tables are missing metal names. I do think it's worth mentioning that the default values correspond to a certain material.

The tables are missing metal names. I do think it's worth mentioning that the default values correspond to a certain material.
Alaska marked this conversation as resolved
Alaska added 1 commit 2024-11-12 01:20:15 +01:00
Weizhen Huang reviewed 2024-11-12 11:20:43 +01:00
Weizhen Huang left a comment
Member

Otherwise looks good to me

Otherwise looks good to me
@ -0,0 +41,4 @@
Roughness
Sharpness of the reflection; perfectly sharp at 0.0 and smoother with higher values.
Anisotropic :guilabel:`Cycles Only`
Member

This is called Anisotropy in the UI

This is called Anisotropy in the UI
Alaska marked this conversation as resolved
@ -0,0 +45,4 @@
Amount of anisotropy. Higher values give elongated highlights along the tangent direction;
negative values give highlights shaped perpendicular to the tangent direction.
Anisotropic Rotation :guilabel:`Cycles Only`
Member

This is called Rotation in the UI

This is called Rotation in the UI
Alaska marked this conversation as resolved
Author
Member

Thanks for all the input.

Thanks for all the input.
Alaska added 1 commit 2024-11-12 11:23:05 +01:00
Weizhen Huang approved these changes 2024-11-12 11:24:41 +01:00
Weizhen Huang left a comment
Member

Thanks a lot! Looks good.

Thanks a lot! Looks good.
Aaron Carlisle approved these changes 2024-11-12 19:11:46 +01:00
Aaron Carlisle merged commit 250e5ba1f3 into blender-v4.3-release 2024-11-12 19:11:59 +01:00
Alaska deleted branch metallic-bsdf 2024-11-12 23:48:21 +01:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-manual#105008
No description provided.