[Bf-blender-cvs] [379ba346b0] cycles_disney_brdf: Renamed the Disney BSDF to Principled BSDF.

Pascal Schoen noreply at git.blender.org
Tue Jan 24 10:00:09 CET 2017


Commit: 379ba346b0acd1ea779365b940fcd01f5ba1165f
Author: Pascal Schoen
Date:   Tue Jan 24 09:28:56 2017 +0100
Branches: cycles_disney_brdf
https://developer.blender.org/rB379ba346b0acd1ea779365b940fcd01f5ba1165f

Renamed the Disney BSDF to Principled BSDF.

===================================================================

M	intern/cycles/blender/blender_shader.cpp
M	intern/cycles/kernel/CMakeLists.txt
M	intern/cycles/kernel/closure/bsdf.h
M	intern/cycles/kernel/closure/bsdf_microfacet.h
R070	intern/cycles/kernel/closure/bsdf_disney_diffuse.h	intern/cycles/kernel/closure/bsdf_principled_diffuse.h
R068	intern/cycles/kernel/closure/bsdf_disney_sheen.h	intern/cycles/kernel/closure/bsdf_principled_sheen.h
M	intern/cycles/kernel/closure/bssrdf.h
M	intern/cycles/kernel/kernel_subsurface.h
M	intern/cycles/kernel/osl/osl_bssrdf.cpp
M	intern/cycles/kernel/osl/osl_closures.cpp
M	intern/cycles/kernel/osl/osl_closures.h
M	intern/cycles/kernel/shaders/CMakeLists.txt
R091	intern/cycles/kernel/shaders/node_disney_bsdf.osl	intern/cycles/kernel/shaders/node_principled_bsdf.osl
M	intern/cycles/kernel/shaders/stdosl.h
M	intern/cycles/kernel/svm/svm_closure.h
M	intern/cycles/kernel/svm/svm_types.h
M	intern/cycles/render/graph.cpp
M	intern/cycles/render/nodes.cpp
M	intern/cycles/render/nodes.h
M	release/scripts/startup/nodeitems_builtins.py
M	source/blender/blenkernel/BKE_node.h
M	source/blender/blenkernel/intern/node.c
M	source/blender/editors/space_node/drawnode.c
M	source/blender/gpu/shaders/gpu_shader_material.glsl
M	source/blender/makesrna/intern/rna_nodetree.c
M	source/blender/nodes/CMakeLists.txt
M	source/blender/nodes/NOD_shader.h
M	source/blender/nodes/NOD_static_types.h
R080	source/blender/nodes/shader/nodes/node_shader_bsdf_disney.c	source/blender/nodes/shader/nodes/node_shader_bsdf_principled.c

===================================================================

diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp
index cb50b74156..a82efb018f 100644
--- a/intern/cycles/blender/blender_shader.cpp
+++ b/intern/cycles/blender/blender_shader.cpp
@@ -517,18 +517,18 @@ static ShaderNode *add_node(Scene *scene,
 		}
 		node = hair;
 	}
-	else if(b_node.is_a(&RNA_ShaderNodeBsdfDisney)) {
-		BL::ShaderNodeBsdfDisney b_disney_node(b_node);
-		DisneyBsdfNode *disney = new DisneyBsdfNode();
-		switch (b_disney_node.distribution()) {
-			case BL::ShaderNodeBsdfDisney::distribution_GGX:
-				disney->distribution = CLOSURE_BSDF_MICROFACET_GGX_GLASS_ID;
+	else if(b_node.is_a(&RNA_ShaderNodeBsdfPrincipled)) {
+		BL::ShaderNodeBsdfPrincipled b_principled_node(b_node);
+		PrincipledBsdfNode *principled = new PrincipledBsdfNode();
+		switch (b_principled_node.distribution()) {
+			case BL::ShaderNodeBsdfPrincipled::distribution_GGX:
+				principled->distribution = CLOSURE_BSDF_MICROFACET_GGX_GLASS_ID;
 				break;
-			case BL::ShaderNodeBsdfDisney::distribution_MULTI_GGX:
-				disney->distribution = CLOSURE_BSDF_MICROFACET_MULTI_GGX_GLASS_ID;
+			case BL::ShaderNodeBsdfPrincipled::distribution_MULTI_GGX:
+				principled->distribution = CLOSURE_BSDF_MICROFACET_MULTI_GGX_GLASS_ID;
 				break;
 		}
-		node = disney;
+		node = principled;
 	}
 	else if(b_node.is_a(&RNA_ShaderNodeBsdfTranslucent)) {
 		node = new TranslucentBsdfNode();
diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt
index 73485ca651..7f566a660e 100644
--- a/intern/cycles/kernel/CMakeLists.txt
+++ b/intern/cycles/kernel/CMakeLists.txt
@@ -108,8 +108,8 @@ set(SRC_CLOSURE_HEADERS
 	closure/bssrdf.h
 	closure/emissive.h
 	closure/volume.h
-	closure/bsdf_disney_diffuse.h
-	closure/bsdf_disney_sheen.h
+	closure/bsdf_principled_diffuse.h
+	closure/bsdf_principled_sheen.h
 )
 
 set(SRC_SVM_HEADERS
diff --git a/intern/cycles/kernel/closure/bsdf.h b/intern/cycles/kernel/closure/bsdf.h
index b46f6a7f1c..04f9e711c7 100644
--- a/intern/cycles/kernel/closure/bsdf.h
+++ b/intern/cycles/kernel/closure/bsdf.h
@@ -27,8 +27,8 @@
 #include "../closure/bsdf_ashikhmin_shirley.h"
 #include "../closure/bsdf_toon.h"
 #include "../closure/bsdf_hair.h"
-#include "../closure/bsdf_disney_diffuse.h"
-#include "../closure/bsdf_disney_sheen.h"
+#include "../closure/bsdf_principled_diffuse.h"
+#include "../closure/bsdf_principled_sheen.h"
 #ifdef __SUBSURFACE__
 #  include "../closure/bssrdf.h"
 #endif
@@ -137,13 +137,13 @@ ccl_device_forceinline int bsdf_sample(KernelGlobals *kg,
 			label = bsdf_hair_transmission_sample(sc, ccl_fetch(sd, Ng), ccl_fetch(sd, I), ccl_fetch(sd, dI).dx, ccl_fetch(sd, dI).dy, randu, randv,
 				eval, omega_in, &domega_in->dx, &domega_in->dy, pdf);
 			break;
-		case CLOSURE_BSDF_DISNEY_DIFFUSE_ID:
-		case CLOSURE_BSDF_BSSRDF_DISNEY_ID:
-			label = bsdf_disney_diffuse_sample(sc, ccl_fetch(sd, Ng), ccl_fetch(sd, I), ccl_fetch(sd, dI).dx, ccl_fetch(sd, dI).dy, randu, randv,
+		case CLOSURE_BSDF_PRINCIPLED_DIFFUSE_ID:
+		case CLOSURE_BSDF_BSSRDF_PRINCIPLED_ID:
+			label = bsdf_principled_diffuse_sample(sc, ccl_fetch(sd, Ng), ccl_fetch(sd, I), ccl_fetch(sd, dI).dx, ccl_fetch(sd, dI).dy, randu, randv,
 				eval, omega_in, &domega_in->dx, &domega_in->dy, pdf);
 			break;
-		case CLOSURE_BSDF_DISNEY_SHEEN_ID:
-			label = bsdf_disney_sheen_sample(sc, ccl_fetch(sd, Ng), ccl_fetch(sd, I), ccl_fetch(sd, dI).dx, ccl_fetch(sd, dI).dy, randu, randv,
+		case CLOSURE_BSDF_PRINCIPLED_SHEEN_ID:
+			label = bsdf_principled_sheen_sample(sc, ccl_fetch(sd, Ng), ccl_fetch(sd, I), ccl_fetch(sd, dI).dx, ccl_fetch(sd, dI).dy, randu, randv,
 				eval, omega_in, &domega_in->dx, &domega_in->dy, pdf);
 			break;
 #endif
@@ -243,12 +243,12 @@ float3 bsdf_eval(KernelGlobals *kg,
 			case CLOSURE_BSDF_HAIR_TRANSMISSION_ID:
 				eval = bsdf_hair_transmission_eval_reflect(sc, ccl_fetch(sd, I), omega_in, pdf);
 				break;
-			case CLOSURE_BSDF_DISNEY_DIFFUSE_ID:
-			case CLOSURE_BSDF_BSSRDF_DISNEY_ID:
-				eval = bsdf_disney_diffuse_eval_reflect(sc, ccl_fetch(sd, I), omega_in, pdf);
+			case CLOSURE_BSDF_PRINCIPLED_DIFFUSE_ID:
+			case CLOSURE_BSDF_BSSRDF_PRINCIPLED_ID:
+				eval = bsdf_principled_diffuse_eval_reflect(sc, ccl_fetch(sd, I), omega_in, pdf);
 				break;
-			case CLOSURE_BSDF_DISNEY_SHEEN_ID:
-				eval = bsdf_disney_sheen_eval_reflect(sc, ccl_fetch(sd, I), omega_in, pdf);
+			case CLOSURE_BSDF_PRINCIPLED_SHEEN_ID:
+				eval = bsdf_principled_sheen_eval_reflect(sc, ccl_fetch(sd, I), omega_in, pdf);
 				break;
 #endif
 #ifdef __VOLUME__
@@ -323,12 +323,12 @@ float3 bsdf_eval(KernelGlobals *kg,
 			case CLOSURE_BSDF_HAIR_TRANSMISSION_ID:
 				eval = bsdf_hair_transmission_eval_transmit(sc, ccl_fetch(sd, I), omega_in, pdf);
 				break;
-			case CLOSURE_BSDF_DISNEY_DIFFUSE_ID:
-			case CLOSURE_BSDF_BSSRDF_DISNEY_ID:
-				eval = bsdf_disney_diffuse_eval_transmit(sc, ccl_fetch(sd, I), omega_in, pdf);
+			case CLOSURE_BSDF_PRINCIPLED_DIFFUSE_ID:
+			case CLOSURE_BSDF_BSSRDF_PRINCIPLED_ID:
+				eval = bsdf_principled_diffuse_eval_transmit(sc, ccl_fetch(sd, I), omega_in, pdf);
 				break;
-			case CLOSURE_BSDF_DISNEY_SHEEN_ID:
-				eval = bsdf_disney_sheen_eval_transmit(sc, ccl_fetch(sd, I), omega_in, pdf);
+			case CLOSURE_BSDF_PRINCIPLED_SHEEN_ID:
+				eval = bsdf_principled_sheen_eval_transmit(sc, ccl_fetch(sd, I), omega_in, pdf);
 				break;
 #endif
 #ifdef __VOLUME__
diff --git a/intern/cycles/kernel/closure/bsdf_microfacet.h b/intern/cycles/kernel/closure/bsdf_microfacet.h
index 38364bb102..9f5a8d03bd 100644
--- a/intern/cycles/kernel/closure/bsdf_microfacet.h
+++ b/intern/cycles/kernel/closure/bsdf_microfacet.h
@@ -398,7 +398,7 @@ ccl_device float3 bsdf_microfacet_ggx_eval_reflect(const ShaderClosure *sc, cons
 		float alpha2 = alpha_x * alpha_y;
 		float D, G1o, G1i;
 
-		bool is_disney_clearcoat = (bsdf->type == CLOSURE_BSDF_MICROFACET_GGX_CLEARCOAT_ID);
+		bool is_principled_clearcoat = (bsdf->type == CLOSURE_BSDF_MICROFACET_GGX_CLEARCOAT_ID);
 
 		if(alpha_x == alpha_y) {
 			/* isotropic
@@ -409,7 +409,7 @@ ccl_device float3 bsdf_microfacet_ggx_eval_reflect(const ShaderClosure *sc, cons
 			float cosThetaM4 = cosThetaM2 * cosThetaM2;
 			float tanThetaM2 = (1 - cosThetaM2) / cosThetaM2;
 
-			if(is_disney_clearcoat) {
+			if(is_principled_clearcoat) {
 				/* use GTR1 for clearcoat */
 				D = D_GTR1(cosThetaM, bsdf->alpha_x);
 
@@ -468,7 +468,7 @@ ccl_device float3 bsdf_microfacet_ggx_eval_reflect(const ShaderClosure *sc, cons
 		float common = D * 0.25f / cosNO;
 
 		float3 F = reflection_color(bsdf, omega_in, m);
-		if(is_disney_clearcoat) {
+		if(is_principled_clearcoat) {
 			F *= 0.25f * bsdf->extra->clearcoat;
 		}
 
@@ -602,7 +602,7 @@ ccl_device int bsdf_microfacet_ggx_sample(KernelGlobals *kg, const ShaderClosure
 						float alpha2 = alpha_x * alpha_y;
 						float D, G1i;
 
-						bool is_disney_clearcoat = (bsdf->type == CLOSURE_BSDF_MICROFACET_GGX_CLEARCOAT_ID);
+						bool is_principled_clearcoat = (bsdf->type == CLOSURE_BSDF_MICROFACET_GGX_CLEARCOAT_ID);
 
 						if(alpha_x == alpha_y) {
 							/* isotropic */
@@ -613,7 +613,7 @@ ccl_device int bsdf_microfacet_ggx_sample(KernelGlobals *kg, const ShaderClosure
 							/* eval BRDF*cosNI */
 							float cosNI = dot(N, *omega_in);
 
-							if(is_disney_clearcoat) {
+							if(is_principled_clearcoat) {
 								/* use GTR1 for clearcoat */
 								D = D_GTR1(cosThetaM, bsdf->alpha_x);
 
@@ -662,7 +662,7 @@ ccl_device int bsdf_microfacet_ggx_sample(KernelGlobals *kg, const ShaderClosure
 						*pdf = common;
 
 						float3 F = reflection_color(bsdf, *omega_in, m);
-						if(is_disney_clearcoat) {
+						if(is_principled_clearcoat) {
 							F *= 0.25f * bsdf->extra->clearcoat;
 						}
 
diff --git a/intern/cycles/kernel/closure/bsdf_disney_diffuse.h b/intern/cycles/kernel/closure/bsdf_principled_diffuse.h
similarity index 70%
rename from intern/cycles/kernel/closure/bsdf_disney_diffuse.h
rename to intern/cycles/kernel/closure/bsdf_principled_diffuse.h
index ccb5966db1..efa2571345 100644
--- a/intern/cycles/kernel/closure/bsdf_disney_diffuse.h
+++ b/intern/cycles/kernel/closure/bsdf_principled_diffuse.h
@@ -14,24 +14,24 @@
  * limitations under the License.
  */
 
-#ifndef __BSDF_DISNEY_DIFFUSE_H__
-#define __BSDF_DISNEY_DIFFUSE_H__
+#ifndef __BSDF_PRINCIPLED_DIFFUSE_H__
+#define __BSDF_PRINCIPLED_DIFFUSE_H__
 
-/* DISNEY DIFFUSE BRDF
+/* DISNEY PRINCIPLED DIFFUSE BRDF
  *
  * Shading model by Brent Burley (Disney): "Physically Based Shading at Disney" (2012)
  */
 
 CCL_NAMESPACE_BEGIN
 
-typedef ccl_addr_space struct DisneyDiffuseBsdf {
+typedef ccl_addr_space struct PrincipledDiffuseBsdf {
 	SHADER_CLOSURE_BASE;
 
 	float roughness;
 	float3 N;
-} DisneyDiffuseBsdf;
+} PrincipledDiffuseBsdf;
 
-ccl_device float3 calculate_disney_diffuse_brdf(const DisneyDiffuseBsdf *bsdf,
+ccl_device float3 calculate_principled_diffuse_brdf(const PrincipledDiffuseBsdf *bsdf,
 	float3 N, float3 V, float3 L, float3 H, float *pdf)
 {
 	float NdotL = max(dot(N, L), 0.0f);
@@ -53,16 +53,16 @@ ccl_device float3 calculate_disney_diffuse_brdf(const DisneyDiffuseBsdf *bsdf,
 	return make_float3(value, value, value);
 }
 
-ccl_device int bsdf_disney_diffuse_setup(DisneyDiffuseBsdf *bsdf)
+ccl_device int bsdf_principled_diffuse_setup(PrincipledDiffuseBsdf *bsdf)
 {
-	bsdf->type = CLOSURE_BSDF_DISNEY_DIFFUSE_ID;
+	bsdf->type = CLOSURE_BSDF_PRINCIPLED_DIFFUSE_ID;
 	return SD_BSDF|SD_BSDF_HAS_EVAL;
 }
 
-ccl_device float3 bsdf_disney_diffuse_eval_reflect(const ShaderClosure *sc, const float3 I,
+ccl_device float3 bsdf_principled_diffuse_eval_reflect(const ShaderClosure *sc, const float3 I,
 	const float3 omega_in, float *pdf)
 {
-	const DisneyDiffuseBsdf *bsdf = (const DisneyDiffuseBsdf *)sc;
+	const PrincipledDiffuseBsdf *bsdf = (const PrincipledDiffuseBsdf *)sc;
 
 	float3 N = bsdf->N;
 	float3 V = I; // outgoing
@@ -71,7 +71,7 @@ ccl_device float3 bsdf_disney_diffuse_eval_reflect(const ShaderClosure *sc, cons
 
 	if(dot(N, omega_in) > 0.0f) {
 		*pdf = fmaxf(dot(N, omega_in), 0.0f) * M_1_PI_F;
-		return calculate_disney_diffuse_brdf(bsdf, N, V, L, H, pdf);
+		return calculate_principled_diffuse_brdf(bsdf, N, V, L, H, pdf);
 	}
 	else {
 		*pdf = 0.0f;
@@ -79,18

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list