From c31f913e1cdcbbc67716a17d9047626ec6825d15 Mon Sep 17 00:00:00 2001 From: Alaska Date: Sat, 9 Nov 2024 15:23:59 +1300 Subject: [PATCH 01/10] Add metallic BSDF to the manual --- .../node-types_ShaderNodeBsdfMetallic.webp | 3 + manual/render/shader_nodes/shader/index.rst | 1 + .../render/shader_nodes/shader/metallic.rst | 86 +++++++++++++++++++ 3 files changed, 90 insertions(+) create mode 100755 manual/images/node-types_ShaderNodeBsdfMetallic.webp create mode 100644 manual/render/shader_nodes/shader/metallic.rst diff --git a/manual/images/node-types_ShaderNodeBsdfMetallic.webp b/manual/images/node-types_ShaderNodeBsdfMetallic.webp new file mode 100755 index 000000000..425c5488a --- /dev/null +++ b/manual/images/node-types_ShaderNodeBsdfMetallic.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6865bb9145986a3a804761585573353b474c86010b2d036d3eda8c1c5bf6f61 +size 8780 diff --git a/manual/render/shader_nodes/shader/index.rst b/manual/render/shader_nodes/shader/index.rst index 620bfab01..25668c29e 100644 --- a/manual/render/shader_nodes/shader/index.rst +++ b/manual/render/shader_nodes/shader/index.rst @@ -16,6 +16,7 @@ hair.rst holdout.rst mix.rst + metallic.rst principled.rst hair_principled.rst volume_principled.rst diff --git a/manual/render/shader_nodes/shader/metallic.rst b/manual/render/shader_nodes/shader/metallic.rst new file mode 100644 index 000000000..e2a57aa04 --- /dev/null +++ b/manual/render/shader_nodes/shader/metallic.rst @@ -0,0 +1,86 @@ +.. _bpy.types.ShaderNodeBsdfMetallic: + +*********** +Metallic BSDF +*********** + +.. figure:: /images/node-types_ShaderNodeBsdfMetallic.webp + :align: right + :alt: Metallic BSDF node. + +The *Metallic* :abbr:`BSDF (Bidirectional Scattering Distribution Function)` +node is used to recreate the appearance of metals. + + +Inputs +====== + +Base Color :guilabel:`F82 Tint Only` + Color of the material when viewed straight on. + +Edge Tint :guilabel:`F82 Tint Only` + 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 + 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 + and edge color of the metallic material. + +Roughness + Sharpness of the reflection; perfectly sharp at 0.0 and smoother with higher values. + +Anisotropic :guilabel:`Cycles Only` + 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` + Rotates the direction of anisotropy, with 1.0 going full circle. + + Compared to the *Glossy BSDF* node, the direction of highlight elongation + is rotated by 90°. Add 0.25 to the value to correct. + +Normal + Normal used for shading; if nothing is connected the default shading normal is used. + +Tangent + Tangent used for shading; if nothing is connected the default shading tangent is used. + + +Properties +========== + +Distribution + Microfacet distribution to use. + + :GGX: + GGX microfacet distribution. + :Multiscatter GGX: + Takes multiple scattering events between microfacets into account. + This gives more energy conserving results, which would otherwise be visible as excessive darkening. + :Beckmann: :guilabel:`Cycles Only` + Beckmann microfacet distribution. + +Fresnel Method + Metallic Fresnel type to use. + + :F82 Tint: + Uses the Adobe F82-Tint formula for the metallic fresnel. + This allows for artist friendly control of the color near the edge of the material + to simulate a complex IOR. + :Physical Conductor: + Accepts :abbr:`IOR (Index of Refraction)` and Extinction coefficients, measurements from real world + metals to replicate a more accurate rendering of metals than the *F82 Tint* Fresnel type. + + :abbr:`IOR (Index of Refraction)` and Extinction coefficients, otherwise known as n, k, + commonly referred to as a complex :abbr:`IOR (Index of Refraction)`, can be found + from source like the `Physically Based database for CG artists `__ + and `Refractive Index nk database `__. + +Outputs +======= + +BSDF + Standard shader output. \ No newline at end of file -- 2.30.2 From c3aa872e54bb1719d6ada933e27c485160b897a4 Mon Sep 17 00:00:00 2001 From: Alaska Date: Tue, 12 Nov 2024 00:10:23 +1300 Subject: [PATCH 02/10] Fix short overline warning --- manual/render/shader_nodes/shader/metallic.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manual/render/shader_nodes/shader/metallic.rst b/manual/render/shader_nodes/shader/metallic.rst index e2a57aa04..afedd8789 100644 --- a/manual/render/shader_nodes/shader/metallic.rst +++ b/manual/render/shader_nodes/shader/metallic.rst @@ -1,8 +1,8 @@ .. _bpy.types.ShaderNodeBsdfMetallic: -*********** +************* Metallic BSDF -*********** +************* .. figure:: /images/node-types_ShaderNodeBsdfMetallic.webp :align: right -- 2.30.2 From fae94a651097763adb1fb22788f3aaeee0f854b8 Mon Sep 17 00:00:00 2001 From: Alaska Date: Tue, 12 Nov 2024 00:14:28 +1300 Subject: [PATCH 03/10] Split up inputs into sections --- .../render/shader_nodes/shader/metallic.rst | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/manual/render/shader_nodes/shader/metallic.rst b/manual/render/shader_nodes/shader/metallic.rst index afedd8789..4d5523b34 100644 --- a/manual/render/shader_nodes/shader/metallic.rst +++ b/manual/render/shader_nodes/shader/metallic.rst @@ -15,19 +15,28 @@ node is used to recreate the appearance of metals. Inputs ====== -Base Color :guilabel:`F82 Tint Only` +F82 Tint +-------- + +Base Color Color of the material when viewed straight on. -Edge Tint :guilabel:`F82 Tint Only` +Edge Tint 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 - and edge color of the metallic material. +Physical Conductor +------------------ -Extinction :guilabel:`Physical Conductor Only` - The Extinction Coefficient (sometimes denoted by k) per color channel. Combined with *IOR*, this controls the base - and edge color of the metallic material. +IOR + Refractive index per color channel. This is the real part of a complex refractive index, + scientifically denoted as n. + +Extinction + Extinction coefficients per color channel. This is the imaginary part of a + complex refractive index, scientifically denoted as k. + +Common +------ Roughness Sharpness of the reflection; perfectly sharp at 0.0 and smoother with higher values. -- 2.30.2 From c73504cf4d719edc91c166da38d5574632b52862 Mon Sep 17 00:00:00 2001 From: Alaska Date: Tue, 12 Nov 2024 00:14:56 +1300 Subject: [PATCH 04/10] Change Fresnel Method to Fresnel Type --- manual/render/shader_nodes/shader/metallic.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manual/render/shader_nodes/shader/metallic.rst b/manual/render/shader_nodes/shader/metallic.rst index 4d5523b34..ba9a950f0 100644 --- a/manual/render/shader_nodes/shader/metallic.rst +++ b/manual/render/shader_nodes/shader/metallic.rst @@ -72,7 +72,7 @@ Distribution :Beckmann: :guilabel:`Cycles Only` Beckmann microfacet distribution. -Fresnel Method +Fresnel Type Metallic Fresnel type to use. :F82 Tint: -- 2.30.2 From 0d5c193e4ba5e1c81e4eb43327608bbba2df711e Mon Sep 17 00:00:00 2001 From: Alaska Date: Tue, 12 Nov 2024 00:16:23 +1300 Subject: [PATCH 05/10] Change Fresnel Type description --- manual/render/shader_nodes/shader/metallic.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manual/render/shader_nodes/shader/metallic.rst b/manual/render/shader_nodes/shader/metallic.rst index ba9a950f0..a7cf14fd1 100644 --- a/manual/render/shader_nodes/shader/metallic.rst +++ b/manual/render/shader_nodes/shader/metallic.rst @@ -73,7 +73,7 @@ Distribution Beckmann microfacet distribution. Fresnel Type - Metallic Fresnel type to use. + Models for describing the metal's appearance, by specifying the apparent color or the physical IOR. :F82 Tint: Uses the Adobe F82-Tint formula for the metallic fresnel. -- 2.30.2 From b31a55e8ed647ca43fc565f8966d4f67fa39bd71 Mon Sep 17 00:00:00 2001 From: Alaska Date: Tue, 12 Nov 2024 00:20:08 +1300 Subject: [PATCH 06/10] Adjust descriptions of the Fresnel Types --- manual/render/shader_nodes/shader/metallic.rst | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/manual/render/shader_nodes/shader/metallic.rst b/manual/render/shader_nodes/shader/metallic.rst index a7cf14fd1..a691d68d1 100644 --- a/manual/render/shader_nodes/shader/metallic.rst +++ b/manual/render/shader_nodes/shader/metallic.rst @@ -76,16 +76,15 @@ Fresnel Type Models for describing the metal's appearance, by specifying the apparent color or the physical IOR. :F82 Tint: - Uses the Adobe F82-Tint formula for the metallic fresnel. - This allows for artist friendly control of the color near the edge of the material - to simulate a complex IOR. + Uses the `Adobe F82-Tint formula `__ + for the metallic fresnel. This allows for artist friendly control of the color near the edge of the + material to simulate a complex IOR. :Physical Conductor: - Accepts :abbr:`IOR (Index of Refraction)` and Extinction coefficients, measurements from real world - metals to replicate a more accurate rendering of metals than the *F82 Tint* Fresnel type. + Accepts Complex IOR measurements from real world metals to replicate a more accurate rendering + of metals than the *F82 Tint* Fresnel type. - :abbr:`IOR (Index of Refraction)` and Extinction coefficients, otherwise known as n, k, - commonly referred to as a complex :abbr:`IOR (Index of Refraction)`, can be found - from source like the `Physically Based database for CG artists `__ + Complex IOR values can be found from sources like the + `Physically Based database for CG artists `__ and `Refractive Index nk database `__. Outputs -- 2.30.2 From bef1d4f9321e44ec87a942a79c7ef43d9df83d48 Mon Sep 17 00:00:00 2001 From: Alaska Date: Tue, 12 Nov 2024 00:41:33 +1300 Subject: [PATCH 07/10] Add tables --- ...r_shader-nodes_shader_metallic_f82-Al.webp | 3 ++ ...r_shader-nodes_shader_metallic_f82-Au.webp | 3 ++ ...r_shader-nodes_shader_metallic_f82-Cu.webp | 3 ++ ...r_shader-nodes_shader_metallic_f82-Ti.webp | 3 ++ ...der-nodes_shader_metallic_physical-Al.webp | 3 ++ ...der-nodes_shader_metallic_physical-Au.webp | 3 ++ ...der-nodes_shader_metallic_physical-Cu.webp | 3 ++ ...der-nodes_shader_metallic_physical-Ti.webp | 3 ++ .../render/shader_nodes/shader/metallic.rst | 49 ++++++++++++++++++- 9 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 manual/images/render_shader-nodes_shader_metallic_f82-Al.webp create mode 100644 manual/images/render_shader-nodes_shader_metallic_f82-Au.webp create mode 100644 manual/images/render_shader-nodes_shader_metallic_f82-Cu.webp create mode 100644 manual/images/render_shader-nodes_shader_metallic_f82-Ti.webp create mode 100644 manual/images/render_shader-nodes_shader_metallic_physical-Al.webp create mode 100644 manual/images/render_shader-nodes_shader_metallic_physical-Au.webp create mode 100644 manual/images/render_shader-nodes_shader_metallic_physical-Cu.webp create mode 100644 manual/images/render_shader-nodes_shader_metallic_physical-Ti.webp diff --git a/manual/images/render_shader-nodes_shader_metallic_f82-Al.webp b/manual/images/render_shader-nodes_shader_metallic_f82-Al.webp new file mode 100644 index 000000000..7b4358059 --- /dev/null +++ b/manual/images/render_shader-nodes_shader_metallic_f82-Al.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:436a75d9708f716107593d89000d8ee5cf74ffd76df1f9b918523985ffc7c7e5 +size 23908 diff --git a/manual/images/render_shader-nodes_shader_metallic_f82-Au.webp b/manual/images/render_shader-nodes_shader_metallic_f82-Au.webp new file mode 100644 index 000000000..5403cdced --- /dev/null +++ b/manual/images/render_shader-nodes_shader_metallic_f82-Au.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ffcbd05f9c6dd9140cf3cfe91669b74e6ea848f1e07e2463040ecf3cb734b2ab +size 26022 diff --git a/manual/images/render_shader-nodes_shader_metallic_f82-Cu.webp b/manual/images/render_shader-nodes_shader_metallic_f82-Cu.webp new file mode 100644 index 000000000..e68207ab6 --- /dev/null +++ b/manual/images/render_shader-nodes_shader_metallic_f82-Cu.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0f8d0f6209ce0d6e7085a8b44c0843af6e3656e5c73dd47fd1d7649d8d5acbe +size 25814 diff --git a/manual/images/render_shader-nodes_shader_metallic_f82-Ti.webp b/manual/images/render_shader-nodes_shader_metallic_f82-Ti.webp new file mode 100644 index 000000000..99cbfc301 --- /dev/null +++ b/manual/images/render_shader-nodes_shader_metallic_f82-Ti.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b474c0c68f7bcd12297e8dbda4cbf2dba14c330b7ddc75013a7bd9b191c17ab +size 22966 diff --git a/manual/images/render_shader-nodes_shader_metallic_physical-Al.webp b/manual/images/render_shader-nodes_shader_metallic_physical-Al.webp new file mode 100644 index 000000000..84352b15d --- /dev/null +++ b/manual/images/render_shader-nodes_shader_metallic_physical-Al.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87d02731ec1f5ed7a0f36d147ba10321eb1f06d23597312c5f2951da79de0ac0 +size 23802 diff --git a/manual/images/render_shader-nodes_shader_metallic_physical-Au.webp b/manual/images/render_shader-nodes_shader_metallic_physical-Au.webp new file mode 100644 index 000000000..0ca93a53f --- /dev/null +++ b/manual/images/render_shader-nodes_shader_metallic_physical-Au.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4efd73d70d924702c5b54402e490bfecb5927e34abd4f55a66f00f1c86960d87 +size 26010 diff --git a/manual/images/render_shader-nodes_shader_metallic_physical-Cu.webp b/manual/images/render_shader-nodes_shader_metallic_physical-Cu.webp new file mode 100644 index 000000000..9d86087ba --- /dev/null +++ b/manual/images/render_shader-nodes_shader_metallic_physical-Cu.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c3603115772cbf48b693ea24967d369a65f4a3fa61eea3265b31df3bfc52754 +size 25750 diff --git a/manual/images/render_shader-nodes_shader_metallic_physical-Ti.webp b/manual/images/render_shader-nodes_shader_metallic_physical-Ti.webp new file mode 100644 index 000000000..797b175a4 --- /dev/null +++ b/manual/images/render_shader-nodes_shader_metallic_physical-Ti.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:261d3d3763e1c3ed42dff90ff5d9f3c7ceb3d900a96b8009a7ebdb819606fb57 +size 22806 diff --git a/manual/render/shader_nodes/shader/metallic.rst b/manual/render/shader_nodes/shader/metallic.rst index a691d68d1..535cf3381 100644 --- a/manual/render/shader_nodes/shader/metallic.rst +++ b/manual/render/shader_nodes/shader/metallic.rst @@ -87,8 +87,55 @@ Fresnel Type `Physically Based database for CG artists `__ and `Refractive Index nk database `__. + Outputs ======= BSDF - Standard shader output. \ No newline at end of file + Standard shader output. + + +Examples +======== + +F82 Tint +-------- + +.. list-table:: + + * - + - .. figure:: /images/render_shader-nodes_shader_metallic_f82-Ti.webp + - .. figure:: /images/render_shader-nodes_shader_metallic_f82-Al.webp + - .. figure:: /images/render_shader-nodes_shader_metallic_f82-Cu.webp + - .. figure:: /images/render_shader-nodes_shader_metallic_f82-Au.webp + * - Base Color + - 0.617, 0.576, 0.540 + - 0.911, 0.912, 0.917 + - 0.972, 0.694, 0.486 + - 1.000, 0.735, 0.353 + * - Edge Tint + - 0.695, 0.726, 0.770 + - 0.848, 0.877, 0.916 + - 0.961, 0.969, 0.942 + - 0.993, 1.000, 1.000 + +Physical Conductor +------------------ + +.. list-table:: + + * - + - .. figure:: /images/render_shader-nodes_shader_metallic_physical-Ti.webp + - .. figure:: /images/render_shader-nodes_shader_metallic_physical-Al.webp + - .. figure:: /images/render_shader-nodes_shader_metallic_physical-Cu.webp + - .. figure:: /images/render_shader-nodes_shader_metallic_physical-Au.webp + * - IOR + - 2.757, 2.512, 2.231 + - 1.333, 0.945, 0.582 + - 0.235, 0.729, 1.369 + - 0.183, 0.421, 1.373 + * - Extinction + - 3.867, 3.404, 3.009 + - 7.434, 6.340, 5.181 + - 5.666, 2.562, 2.227 + - 3.424, 2.189, 1.660 -- 2.30.2 From eb26fef87700a3d8d5ae4f427af0e1e9c43737fd Mon Sep 17 00:00:00 2001 From: Alaska Date: Tue, 12 Nov 2024 00:55:39 +1300 Subject: [PATCH 08/10] Use weizhens gold color --- manual/render/shader_nodes/shader/metallic.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manual/render/shader_nodes/shader/metallic.rst b/manual/render/shader_nodes/shader/metallic.rst index 535cf3381..69f6c8360 100644 --- a/manual/render/shader_nodes/shader/metallic.rst +++ b/manual/render/shader_nodes/shader/metallic.rst @@ -133,9 +133,9 @@ Physical Conductor - 2.757, 2.512, 2.231 - 1.333, 0.945, 0.582 - 0.235, 0.729, 1.369 - - 0.183, 0.421, 1.373 + - 0.000, 0.470, 1.439 * - Extinction - 3.867, 3.404, 3.009 - 7.434, 6.340, 5.181 - 5.666, 2.562, 2.227 - - 3.424, 2.189, 1.660 + - 182.6, 2.189, 1.660 -- 2.30.2 From b22ee90481d895dd05fc842b1f3496f442b8b642 Mon Sep 17 00:00:00 2001 From: Alaska Date: Tue, 12 Nov 2024 13:19:46 +1300 Subject: [PATCH 09/10] Include material names --- manual/render/shader_nodes/shader/metallic.rst | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/manual/render/shader_nodes/shader/metallic.rst b/manual/render/shader_nodes/shader/metallic.rst index 69f6c8360..a225c7fca 100644 --- a/manual/render/shader_nodes/shader/metallic.rst +++ b/manual/render/shader_nodes/shader/metallic.rst @@ -102,12 +102,18 @@ F82 Tint -------- .. list-table:: + :widths: 12 22 22 22 22 * - - .. figure:: /images/render_shader-nodes_shader_metallic_f82-Ti.webp - .. figure:: /images/render_shader-nodes_shader_metallic_f82-Al.webp - .. figure:: /images/render_shader-nodes_shader_metallic_f82-Cu.webp - .. figure:: /images/render_shader-nodes_shader_metallic_f82-Au.webp + * - Material + - Titanium (Default) + - Aluminum + - Copper + - Gold * - Base Color - 0.617, 0.576, 0.540 - 0.911, 0.912, 0.917 @@ -123,12 +129,18 @@ Physical Conductor ------------------ .. list-table:: + :widths: 12 22 22 22 22 * - - .. figure:: /images/render_shader-nodes_shader_metallic_physical-Ti.webp - .. figure:: /images/render_shader-nodes_shader_metallic_physical-Al.webp - .. figure:: /images/render_shader-nodes_shader_metallic_physical-Cu.webp - .. figure:: /images/render_shader-nodes_shader_metallic_physical-Au.webp + * - Material + - Titanium (Default) + - Aluminum + - Copper + - Gold * - IOR - 2.757, 2.512, 2.231 - 1.333, 0.945, 0.582 -- 2.30.2 From c76a2053924a05d8f9037d1073b016456abea9af Mon Sep 17 00:00:00 2001 From: Alaska Date: Tue, 12 Nov 2024 23:22:37 +1300 Subject: [PATCH 10/10] Adjust input names to match Blender --- manual/render/shader_nodes/shader/metallic.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manual/render/shader_nodes/shader/metallic.rst b/manual/render/shader_nodes/shader/metallic.rst index a225c7fca..8d4493d47 100644 --- a/manual/render/shader_nodes/shader/metallic.rst +++ b/manual/render/shader_nodes/shader/metallic.rst @@ -41,11 +41,11 @@ Common Roughness Sharpness of the reflection; perfectly sharp at 0.0 and smoother with higher values. -Anisotropic :guilabel:`Cycles Only` +Anisotropy :guilabel:`Cycles Only` 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` +Rotation :guilabel:`Cycles Only` Rotates the direction of anisotropy, with 1.0 going full circle. Compared to the *Glossy BSDF* node, the direction of highlight elongation -- 2.30.2