Cycles: Change default material to match Blender and EEVEE

Use Principled BSDF instead of Diffuse BSDF. This is a breaking change but
likely does not affect many scenes significantly. It adds some specularity
when an object does not have a a material assigned.

Fix #142538

Pull Request: https://projects.blender.org/blender/blender/pulls/142703
This commit is contained in:
Brecht Van Lommel
2025-07-21 14:01:59 +02:00
parent f7ae14cd6a
commit 678ccd4a61
11 changed files with 21 additions and 23 deletions

View File

@@ -672,10 +672,8 @@ void ShaderManager::add_default(Scene *scene)
{
unique_ptr<ShaderGraph> graph = make_unique<ShaderGraph>();
DiffuseBsdfNode *diffuse = graph->create_node<DiffuseBsdfNode>();
diffuse->set_color(make_float3(0.8f, 0.8f, 0.8f));
graph->connect(diffuse->output("BSDF"), graph->output()->input("Surface"));
PrincipledBsdfNode *bsdf = graph->create_node<PrincipledBsdfNode>();
graph->connect(bsdf->output("BSDF"), graph->output()->input("Surface"));
Shader *shader = scene->create_node<Shader>();
shader->name = "default_surface";

View File

@@ -2550,7 +2550,7 @@ NODE_DEFINE(PrincipledBsdfNode)
SOCKET_IN_FLOAT(subsurface_ior, "Subsurface IOR", 1.4f);
SOCKET_IN_FLOAT(subsurface_anisotropy, "Subsurface Anisotropy", 0.0f);
SOCKET_IN_FLOAT(specular_ior_level, "Specular IOR Level", 0.0f);
SOCKET_IN_FLOAT(specular_ior_level, "Specular IOR Level", 0.5f);
SOCKET_IN_COLOR(specular_tint, "Specular Tint", one_float3());
SOCKET_IN_FLOAT(anisotropic, "Anisotropic", 0.0f);
SOCKET_IN_FLOAT(anisotropic_rotation, "Anisotropic Rotation", 0.0f);

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.