[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [40078] branches/cycles/intern/cycles: Cycles: fix windows build, some minor tweaks.

Brecht Van Lommel brechtvanlommel at pandora.be
Fri Sep 9 18:38:16 CEST 2011


Revision: 40078
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=40078
Author:   blendix
Date:     2011-09-09 16:38:15 +0000 (Fri, 09 Sep 2011)
Log Message:
-----------
Cycles: fix windows build, some minor tweaks.

Modified Paths:
--------------
    branches/cycles/intern/cycles/kernel/kernel_types.h
    branches/cycles/intern/cycles/kernel/svm/bsdf_microfacet.h
    branches/cycles/intern/cycles/render/film.cpp
    branches/cycles/intern/cycles/render/film.h
    branches/cycles/intern/cycles/util/util_path.h

Modified: branches/cycles/intern/cycles/kernel/kernel_types.h
===================================================================
--- branches/cycles/intern/cycles/kernel/kernel_types.h	2011-09-09 15:25:15 UTC (rev 40077)
+++ branches/cycles/intern/cycles/kernel/kernel_types.h	2011-09-09 16:38:15 UTC (rev 40078)
@@ -80,7 +80,9 @@
 	PATH_RAY_DIFFUSE = 16,
 	PATH_RAY_GLOSSY = 32,
 	PATH_RAY_SINGULAR = 64,
-	PATH_RAY_TRANSPARENT = 128
+	PATH_RAY_TRANSPARENT = 128,
+
+	PATH_RAY_ALL = (1|2|4|8|16|32|64|128)
 };
 
 /* Bidirectional Path Tracing */
@@ -248,7 +250,6 @@
 	float3 svm_closure_weight;
 	float svm_closure_data0;
 	float svm_closure_data1;
-	float svm_closure_data2;
 
 #if !defined(__KERNEL_GPU__) && defined(WITH_OSL)
 	/* OSL closure data and context. we store all closures flattened into

Modified: branches/cycles/intern/cycles/kernel/svm/bsdf_microfacet.h
===================================================================
--- branches/cycles/intern/cycles/kernel/svm/bsdf_microfacet.h	2011-09-09 15:25:15 UTC (rev 40077)
+++ branches/cycles/intern/cycles/kernel/svm/bsdf_microfacet.h	2011-09-09 16:38:15 UTC (rev 40078)
@@ -41,18 +41,15 @@
 	//float3 m_N;
 	float m_ag;
 	float m_eta;
-	int m_refractive;
 } BsdfMicrofacetGGXClosure;
 
 __device void bsdf_microfacet_ggx_setup(ShaderData *sd, float3 N, float ag, float eta, bool refractive)
 {
 	float m_ag = clamp(ag, 1e-5f, 1.0f);
 	float m_eta = eta;
-	int m_refractive = (refractive)? 1: 0;
 
 	sd->svm_closure_data0 = m_ag;
 	sd->svm_closure_data1 = m_eta;
-	sd->svm_closure_data2 = __int_as_float(m_refractive);
 
 	if(refractive)
 		sd->svm_closure = CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID;
@@ -73,10 +70,10 @@
 {
 	float m_ag = sd->svm_closure_data0;
 	//float m_eta = sd->svm_closure_data1;
-	int m_refractive = __float_as_int(sd->svm_closure_data2);
+	int m_refractive = sd->svm_closure == CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID;
 	float3 m_N = sd->N;
 
-	if(m_refractive == 1) return make_float3 (0, 0, 0);
+	if(m_refractive) return make_float3 (0, 0, 0);
 	float cosNO = dot(m_N, I);
 	float cosNI = dot(m_N, omega_in);
 	if(cosNI > 0 && cosNO > 0) {
@@ -110,10 +107,10 @@
 {
 	float m_ag = sd->svm_closure_data0;
 	float m_eta = sd->svm_closure_data1;
-	int m_refractive = __float_as_int(sd->svm_closure_data2);
+	int m_refractive = sd->svm_closure == CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID;
 	float3 m_N = sd->N;
 
-	if(m_refractive == 0) return make_float3 (0, 0, 0);
+	if(!m_refractive) return make_float3 (0, 0, 0);
 	float cosNO = dot(m_N, I);
 	float cosNI = dot(m_N, omega_in);
 	if(cosNO <= 0 || cosNI >= 0)
@@ -151,7 +148,7 @@
 {
 	float m_ag = sd->svm_closure_data0;
 	float m_eta = sd->svm_closure_data1;
-	int m_refractive = __float_as_int(sd->svm_closure_data2);
+	int m_refractive = sd->svm_closure == CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID;
 	float3 m_N = sd->N;
 
 	float cosNO = dot(m_N, sd->I);
@@ -170,7 +167,7 @@
 		float3 m = (cosf(phiM) * sinThetaM) * X +
 				 (sinf(phiM) * sinThetaM) * Y +
 							   cosThetaM  * Z;
-		if(m_refractive == 0) {
+		if(!m_refractive) {
 			float cosMO = dot(m, sd->I);
 			if(cosMO > 0) {
 				// eq. 39 - compute actual reflected direction
@@ -260,7 +257,7 @@
 			}
 		}
 	}
-	return (m_refractive == 1) ? LABEL_TRANSMIT|LABEL_GLOSSY : LABEL_REFLECT|LABEL_GLOSSY;
+	return (m_refractive) ? LABEL_TRANSMIT|LABEL_GLOSSY : LABEL_REFLECT|LABEL_GLOSSY;
 }
 
 /* BECKMANN */
@@ -269,18 +266,15 @@
 	//float3 m_N;
 	float m_ab;
 	float m_eta;
-	int m_refractive;
 } BsdfMicrofacetBeckmannClosure;
 
 __device void bsdf_microfacet_beckmann_setup(ShaderData *sd, float3 N, float ab, float eta, bool refractive)
 {
 	float m_ab = clamp(ab, 1e-5f, 1.0f);
 	float m_eta = eta;
-	float m_refractive = (refractive)? 1: 0;
 
 	sd->svm_closure_data0 = m_ab;
 	sd->svm_closure_data1 = m_eta;
-	sd->svm_closure_data2 = __int_as_float(m_refractive);
 
 	if(refractive)
 		sd->svm_closure = CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID;
@@ -301,10 +295,10 @@
 {
 	float m_ab = sd->svm_closure_data0;
 	//float m_eta = sd->svm_closure_data1;
-	int m_refractive = __float_as_int(sd->svm_closure_data2);
+	int m_refractive = sd->svm_closure == CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID;
 	float3 m_N = sd->N;
 
-	if(m_refractive == 1) return make_float3 (0, 0, 0);
+	if(m_refractive) return make_float3 (0, 0, 0);
 	float cosNO = dot(m_N, I);
 	float cosNI = dot(m_N, omega_in);
 	if(cosNO > 0 && cosNI > 0) {
@@ -340,10 +334,10 @@
 {
 	float m_ab = sd->svm_closure_data0;
 	float m_eta = sd->svm_closure_data1;
-	int m_refractive = __float_as_int(sd->svm_closure_data2);
+	int m_refractive = sd->svm_closure == CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID;
 	float3 m_N = sd->N;
 
-	if(m_refractive == 0) return make_float3 (0, 0, 0);
+	if(!m_refractive) return make_float3 (0, 0, 0);
 	float cosNO = dot(m_N, I);
 	float cosNI = dot(m_N, omega_in);
 	if(cosNO <= 0 || cosNI >= 0)
@@ -383,7 +377,7 @@
 {
 	float m_ab = sd->svm_closure_data0;
 	float m_eta = sd->svm_closure_data1;
-	int m_refractive = __float_as_int(sd->svm_closure_data2);
+	int m_refractive = sd->svm_closure == CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID;
 	float3 m_N = sd->N;
 
 	float cosNO = dot(m_N, sd->I);
@@ -403,7 +397,7 @@
 				 (sinf(phiM) * sinThetaM) * Y +
 							   cosThetaM  * Z;
 
-		if(m_refractive == 0) {
+		if(!m_refractive) {
 			float cosMO = dot(m, sd->I);
 			if(cosMO > 0) {
 				// eq. 39 - compute actual reflected direction
@@ -500,7 +494,7 @@
 			}
 		}
 	}
-	return (m_refractive == 1) ? LABEL_TRANSMIT|LABEL_GLOSSY : LABEL_REFLECT|LABEL_GLOSSY;
+	return (m_refractive) ? LABEL_TRANSMIT|LABEL_GLOSSY : LABEL_REFLECT|LABEL_GLOSSY;
 }
 
 CCL_NAMESPACE_END

Modified: branches/cycles/intern/cycles/render/film.cpp
===================================================================
--- branches/cycles/intern/cycles/render/film.cpp	2011-09-09 15:25:15 UTC (rev 40077)
+++ branches/cycles/intern/cycles/render/film.cpp	2011-09-09 16:38:15 UTC (rev 40078)
@@ -52,8 +52,7 @@
 
 bool Film::modified(const Film& film)
 {
-	return !(exposure == film.exposure &&
-		pass == film.pass);
+	return !(exposure == film.exposure);
 }
 
 void Film::tag_update(Scene *scene)

Modified: branches/cycles/intern/cycles/render/film.h
===================================================================
--- branches/cycles/intern/cycles/render/film.h	2011-09-09 15:25:15 UTC (rev 40077)
+++ branches/cycles/intern/cycles/render/film.h	2011-09-09 16:38:15 UTC (rev 40078)
@@ -30,7 +30,6 @@
 class Film {
 public:
 	float exposure;
-	int pass;
 	bool need_update;
 
 	Film();

Modified: branches/cycles/intern/cycles/util/util_path.h
===================================================================
--- branches/cycles/intern/cycles/util/util_path.h	2011-09-09 15:25:15 UTC (rev 40077)
+++ branches/cycles/intern/cycles/util/util_path.h	2011-09-09 16:38:15 UTC (rev 40078)
@@ -25,6 +25,7 @@
  * then makes all paths relative to that. */
 
 #include "util_string.h"
+#include "util_types.h"
 #include "util_vector.h"
 
 CCL_NAMESPACE_BEGIN




More information about the Bf-blender-cvs mailing list