[Bf-blender-cvs] [e8b1cfe] master: Cycles code refactor: replace magic ~0 values in the code with defines.

Brecht Van Lommel noreply at git.blender.org
Sat Mar 29 15:33:07 CET 2014


Commit: e8b1cfed0a3afbf69b5bd5a7e0a51381622e844f
Author: Brecht Van Lommel
Date:   Sat Mar 29 13:03:47 2014 +0100
https://developer.blender.org/rBe8b1cfed0a3afbf69b5bd5a7e0a51381622e844f

Cycles code refactor: replace magic ~0 values in the code with defines.

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

M	intern/cycles/kernel/geom/geom_bvh_subsurface.h
M	intern/cycles/kernel/geom/geom_bvh_traversal.h
M	intern/cycles/kernel/geom/geom_curve.h
M	intern/cycles/kernel/geom/geom_motion_triangle.h
M	intern/cycles/kernel/geom/geom_object.h
M	intern/cycles/kernel/geom/geom_triangle.h
M	intern/cycles/kernel/kernel_camera.h
M	intern/cycles/kernel/kernel_emission.h
M	intern/cycles/kernel/kernel_light.h
M	intern/cycles/kernel/kernel_path.h
M	intern/cycles/kernel/kernel_path_state.h
M	intern/cycles/kernel/kernel_primitive.h
M	intern/cycles/kernel/kernel_shader.h
M	intern/cycles/kernel/kernel_shadow.h
M	intern/cycles/kernel/kernel_types.h
M	intern/cycles/kernel/kernel_volume.h
M	intern/cycles/kernel/osl/osl_services.cpp
M	intern/cycles/kernel/osl/osl_shader.cpp
M	intern/cycles/kernel/svm/svm_attribute.h
M	intern/cycles/kernel/svm/svm_closure.h
M	intern/cycles/kernel/svm/svm_image.h
M	intern/cycles/kernel/svm/svm_tex_coord.h
M	intern/cycles/kernel/svm/svm_vector_transform.h
M	intern/cycles/kernel/svm/svm_wireframe.h
M	intern/cycles/render/background.cpp
M	intern/cycles/render/mesh_displace.cpp

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

diff --git a/intern/cycles/kernel/geom/geom_bvh_subsurface.h b/intern/cycles/kernel/geom/geom_bvh_subsurface.h
index 994c98e..ae4641d 100644
--- a/intern/cycles/kernel/geom/geom_bvh_subsurface.h
+++ b/intern/cycles/kernel/geom/geom_bvh_subsurface.h
@@ -51,10 +51,10 @@ ccl_device uint BVH_FUNCTION_NAME(KernelGlobals *kg, const Ray *ray, Intersectio
 	const float tmax = ray->t;
 	float3 P = ray->P;
 	float3 idir = bvh_inverse_direction(ray->D);
-	int object = ~0;
+	int object = OBJECT_NONE;
 	float isect_t = tmax;
 
-	const uint visibility = ~0;
+	const uint visibility = PATH_RAY_ALL_VISIBILITY;
 	uint num_hits = 0;
 
 #if FEATURE(BVH_MOTION)
@@ -205,7 +205,7 @@ ccl_device uint BVH_FUNCTION_NAME(KernelGlobals *kg, const Ray *ray, Intersectio
 					/* primitive intersection */
 					for(; primAddr < primAddr2; primAddr++) {
 						/* only primitives from the same object */
-						uint tri_object = (object == ~0)? kernel_tex_fetch(__prim_object, primAddr): object;
+						uint tri_object = (object == OBJECT_NONE)? kernel_tex_fetch(__prim_object, primAddr): object;
 
 						if(tri_object != subsurface_object)
 							continue;
@@ -267,7 +267,7 @@ ccl_device uint BVH_FUNCTION_NAME(KernelGlobals *kg, const Ray *ray, Intersectio
 
 #if FEATURE(BVH_INSTANCING)
 		if(stackPtr >= 0) {
-			kernel_assert(object != ~0);
+			kernel_assert(object != OBJECT_NONE);
 
 			/* instance pop */
 #if FEATURE(BVH_MOTION)
@@ -286,7 +286,7 @@ ccl_device uint BVH_FUNCTION_NAME(KernelGlobals *kg, const Ray *ray, Intersectio
 			gen_idirsplat_swap(pn, shuf_identity, shuf_swap, idir, idirsplat, shufflexyz);
 #endif
 
-			object = ~0;
+			object = OBJECT_NONE;
 			nodeAddr = traversalStack[stackPtr];
 			--stackPtr;
 		}
diff --git a/intern/cycles/kernel/geom/geom_bvh_traversal.h b/intern/cycles/kernel/geom/geom_bvh_traversal.h
index e838fba..153efe3 100644
--- a/intern/cycles/kernel/geom/geom_bvh_traversal.h
+++ b/intern/cycles/kernel/geom/geom_bvh_traversal.h
@@ -56,15 +56,15 @@ ccl_device bool BVH_FUNCTION_NAME
 	const float tmax = ray->t;
 	float3 P = ray->P;
 	float3 idir = bvh_inverse_direction(ray->D);
-	int object = ~0;
+	int object = OBJECT_NONE;
 
 #if FEATURE(BVH_MOTION)
 	Transform ob_tfm;
 #endif
 
 	isect->t = tmax;
-	isect->object = ~0;
-	isect->prim = ~0;
+	isect->object = OBJECT_NONE;
+	isect->prim = PRIM_NONE;
 	isect->u = 0.0f;
 	isect->v = 0.0f;
 
@@ -332,7 +332,7 @@ ccl_device bool BVH_FUNCTION_NAME
 
 #if FEATURE(BVH_INSTANCING)
 		if(stackPtr >= 0) {
-			kernel_assert(object != ~0);
+			kernel_assert(object != OBJECT_NONE);
 
 			/* instance pop */
 #if FEATURE(BVH_MOTION)
@@ -351,14 +351,14 @@ ccl_device bool BVH_FUNCTION_NAME
 			gen_idirsplat_swap(pn, shuf_identity, shuf_swap, idir, idirsplat, shufflexyz);
 #endif
 
-			object = ~0;
+			object = OBJECT_NONE;
 			nodeAddr = traversalStack[stackPtr];
 			--stackPtr;
 		}
 #endif
 	} while(nodeAddr != ENTRYPOINT_SENTINEL);
 
-	return (isect->prim != ~0);
+	return (isect->prim != PRIM_NONE);
 }
 
 #undef FEATURE
diff --git a/intern/cycles/kernel/geom/geom_curve.h b/intern/cycles/kernel/geom/geom_curve.h
index f13f92e..9d2f2dd 100644
--- a/intern/cycles/kernel/geom/geom_curve.h
+++ b/intern/cycles/kernel/geom/geom_curve.h
@@ -241,7 +241,7 @@ ccl_device_inline bool bvh_cardinal_curve_intersect(KernelGlobals *kg, Intersect
 			P_curve[3] = _mm_load_ps(&kg->__curve_keys.data[kb].x);
 		}
 		else {
-			int fobject = (object == ~0)? kernel_tex_fetch(__prim_object, curveAddr): object;
+			int fobject = (object == OBJECT_NONE)? kernel_tex_fetch(__prim_object, curveAddr): object;
 			motion_cardinal_curve_keys(kg, fobject, prim, time, ka, k0, k1, kb, (float4*)&P_curve);
 		}
 
@@ -308,7 +308,7 @@ ccl_device_inline bool bvh_cardinal_curve_intersect(KernelGlobals *kg, Intersect
 			P_curve[3] = kernel_tex_fetch(__curve_keys, kb);
 		}
 		else {
-			int fobject = (object == ~0)? kernel_tex_fetch(__prim_object, curveAddr): object;
+			int fobject = (object == OBJECT_NONE)? kernel_tex_fetch(__prim_object, curveAddr): object;
 			motion_cardinal_curve_keys(kg, fobject, prim, time, ka, k0, k1, kb, P_curve);
 		}
 
@@ -618,7 +618,7 @@ ccl_device_inline bool bvh_curve_intersect(KernelGlobals *kg, Intersection *isec
 		P_curve[1]= kernel_tex_fetch(__curve_keys, k1);
 	}
 	else {
-		int fobject = (object == ~0)? kernel_tex_fetch(__prim_object, curveAddr): object;
+		int fobject = (object == OBJECT_NONE)? kernel_tex_fetch(__prim_object, curveAddr): object;
 		motion_curve_keys(kg, fobject, prim, time, k0, k1, P_curve);
 	}
 
@@ -653,7 +653,7 @@ ccl_device_inline bool bvh_curve_intersect(KernelGlobals *kg, Intersection *isec
 		P_curve[1] = _mm_load_ps(&kg->__curve_keys.data[k1].x);
 	}
 	else {
-		int fobject = (object == ~0)? kernel_tex_fetch(__prim_object, curveAddr): object;
+		int fobject = (object == OBJECT_NONE)? kernel_tex_fetch(__prim_object, curveAddr): object;
 		motion_curve_keys(kg, fobject, prim, time, k0, k1, (float4*)&P_curve);
 	}
 
@@ -863,7 +863,7 @@ ccl_device_inline float3 bvh_curve_refine(KernelGlobals *kg, ShaderData *sd, con
 	float3 P = ray->P;
 	float3 D = ray->D;
 
-	if(isect->object != ~0) {
+	if(isect->object != OBJECT_NONE) {
 #ifdef __OBJECT_MOTION__
 		Transform tfm = sd->ob_itfm;
 #else
@@ -981,7 +981,7 @@ ccl_device_inline float3 bvh_curve_refine(KernelGlobals *kg, ShaderData *sd, con
 	/*sd->curve_transparency = isect->v;*/
 	/*sd->curve_radius = sd->u * gd * l + r1;*/
 
-	if(isect->object != ~0) {
+	if(isect->object != OBJECT_NONE) {
 #ifdef __OBJECT_MOTION__
 		Transform tfm = sd->ob_tfm;
 #else
diff --git a/intern/cycles/kernel/geom/geom_motion_triangle.h b/intern/cycles/kernel/geom/geom_motion_triangle.h
index 05642d8..08ddc89 100644
--- a/intern/cycles/kernel/geom/geom_motion_triangle.h
+++ b/intern/cycles/kernel/geom/geom_motion_triangle.h
@@ -117,7 +117,7 @@ ccl_device_inline float3 motion_triangle_refine(KernelGlobals *kg, ShaderData *s
 	float t = isect->t;
 
 #ifdef __INTERSECTION_REFINE__
-	if(isect->object != ~0) {
+	if(isect->object != OBJECT_NONE) {
 #ifdef __OBJECT_MOTION__
 		Transform tfm = sd->ob_itfm;
 #else
@@ -144,7 +144,7 @@ ccl_device_inline float3 motion_triangle_refine(KernelGlobals *kg, ShaderData *s
 	/* compute refined position */
 	P = P + D*rt;
 
-	if(isect->object != ~0) {
+	if(isect->object != OBJECT_NONE) {
 #ifdef __OBJECT_MOTION__
 		Transform tfm = sd->ob_tfm;
 #else
@@ -168,7 +168,7 @@ ccl_device_inline float3 motion_triangle_refine_subsurface(KernelGlobals *kg, Sh
 	float t = isect->t;
 
 #ifdef __INTERSECTION_REFINE__
-	if(isect->object != ~0) {
+	if(isect->object != OBJECT_NONE) {
 #ifdef __OBJECT_MOTION__
 		Transform tfm = sd->ob_itfm;
 #else
@@ -194,7 +194,7 @@ ccl_device_inline float3 motion_triangle_refine_subsurface(KernelGlobals *kg, Sh
 
 	P = P + D*rt;
 
-	if(isect->object != ~0) {
+	if(isect->object != OBJECT_NONE) {
 #ifdef __OBJECT_MOTION__
 		Transform tfm = sd->ob_tfm;
 #else
@@ -293,7 +293,7 @@ ccl_device_inline bool motion_triangle_intersect(KernelGlobals *kg, Intersection
 {
 	/* primitive index for vertex location lookup */
 	int prim = kernel_tex_fetch(__prim_index, triAddr);
-	int fobject = (object == ~0)? kernel_tex_fetch(__prim_object, triAddr): object;
+	int fobject = (object == OBJECT_NONE)? kernel_tex_fetch(__prim_object, triAddr): object;
 
 	/* get vertex locations for intersection */
 	float3 verts[3];
@@ -327,7 +327,7 @@ ccl_device_inline void motion_triangle_intersect_subsurface(KernelGlobals *kg, I
 {
 	/* primitive index for vertex location lookup */
 	int prim = kernel_tex_fetch(__prim_index, triAddr);
-	int fobject = (object == ~0)? kernel_tex_fetch(__prim_object, triAddr): object;
+	int fobject = (object == OBJECT_NONE)? kernel_tex_fetch(__prim_object, triAddr): object;
 
 	/* get vertex locations for intersection */
 	float3 verts[3];
diff --git a/intern/cycles/kernel/geom/geom_object.h b/intern/cycles/kernel/geom/geom_object.h
index b1106c2..06f7d28 100644
--- a/intern/cycles/kernel/geom/geom_object.h
+++ b/intern/cycles/kernel/geom/geom_object.h
@@ -162,7 +162,7 @@ ccl_device_inline void object_inverse_dir_transform(KernelGlobals *kg, ShaderDat
 
 ccl_device_inline float3 object_location(KernelGlobals *kg, ShaderData *sd)
 {
-	if(sd->object == ~0)
+	if(sd->object == OBJECT_NONE)
 		return make_float3(0.0f, 0.0f, 0.0f);
 
 #ifdef __OBJECT_MOTION__
@@ -182,7 +182,7 @@ ccl_device_inline float object_surface_area(KernelGlobals *kg, int object)
 
 ccl_device_inline float object_pass_id(KernelGlobals *kg, int object)
 {
-	if(object == ~0)
+	if(object == OBJECT_NONE)
 		return 0.0f;
 
 	int offset = object*OBJECT_SIZE + OBJECT_PROPERTIES;
@@ -192,7 +192,7 @@ ccl_device_inline float object_pass_id(KernelGlobals *kg, int object)
 
 ccl_device_inline float object_random_number(KernelGlobals *kg, int object)
 {
-	if(object == ~0)
+	if(object == OBJECT_NONE)
 		return 0.0f;
 
 	int offset = object*OBJECT_SIZE + OBJECT_PROPERTIES;
@@ -202,7 +202,7 @@ ccl_device_inline float object_random_number(KernelGlobals *kg, int object)
 
 ccl_device_inline uint object_particle_id(KernelGlobals *kg, int object)
 {
-	if(object == ~0)
+	if(object == OBJECT_NONE)
 		return 0.0f;
 
 	int offset = object*OBJECT_SIZE + OBJECT_PROPERTIES;
@@ -212,7 +212,7 @@ ccl_device_inline uint object_particle_id(KernelGlobals *kg, int object)
 
 ccl_device_inline float3 object_dupli_generated(KernelGlobals *kg, int object)
 {
-	if(object == ~0)
+	if(object == OBJECT_NONE)
 		return make_float3(0.0f, 0.0f, 0.0f);
 
 	int offset = object*OBJECT_SIZE + OBJECT_DUPLI;
@@ -222,7 +222,7 @@ ccl_device_inline float3 object_dupli_generated(KernelGlobals *kg, int object)
 
 ccl_device_inline float3 object_dupli_uv(KernelGlobals *kg, int object)
 {
-	if(object == ~0)
+	if(object == OBJECT_NONE)
 		return make_float3(0.0f, 0.0f, 0.0f);
 
 	int offset = object*OBJECT_SIZE + OBJECT_DUPLI;
diff --git a/intern/cycles/kernel/geom/geom_triangle.h b/intern/cycles/kernel/geom/geom_triangle.h
index 7b115da..ab59524 100644
--- a/intern/cycles/kernel/geom/geom_triangle.h
+++ b/intern/cycles/kernel/geom/geom_triangle.h
@@ -28,7 +28,7 @@ ccl_device_inline float3 triangle_refine(KernelGlobals *kg, ShaderData *sd, cons
 	float t = isect->t;
 
 #ifdef __INTERSECTION_REFINE__
-	if(isect->o

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list