diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2014-03-29 16:03:47 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2014-03-29 16:03:47 +0400 |
commit | e8b1cfed0a3afbf69b5bd5a7e0a51381622e844f (patch) | |
tree | 8416fab6524a7041edf5dc95539ce1973092f9e9 /intern | |
parent | 6997908afc38a3c98d09939f3b46f10d7a165d2e (diff) |
Cycles code refactor: replace magic ~0 values in the code with defines.
Diffstat (limited to 'intern')
26 files changed, 129 insertions, 126 deletions
diff --git a/intern/cycles/kernel/geom/geom_bvh_subsurface.h b/intern/cycles/kernel/geom/geom_bvh_subsurface.h index 994c98e5f5f..ae4641d257a 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 e838fba6d46..153efe3932c 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 f13f92ed9d7..9d2f2ddb17a 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 05642d8ab14..08ddc8910a7 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 b1106c25fd7..06f7d28c052 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 7b115daa022..ab59524f7c9 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->object != ~0) { + if(isect->object != OBJECT_NONE) { #ifdef __OBJECT_MOTION__ Transform tfm = sd->ob_itfm; #else @@ -49,7 +49,7 @@ ccl_device_inline float3 triangle_refine(KernelGlobals *kg, ShaderData *sd, cons P = P + D*rt; - if(isect->object != ~0) { + if(isect->object != OBJECT_NONE) { #ifdef __OBJECT_MOTION__ Transform tfm = sd->ob_tfm; #else @@ -73,7 +73,7 @@ ccl_device_inline float3 triangle_refine_subsurface(KernelGlobals *kg, ShaderDat 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 @@ -94,7 +94,7 @@ ccl_device_inline float3 triangle_refine_subsurface(KernelGlobals *kg, ShaderDat P = P + D*rt; - if(isect->object != ~0) { + if(isect->object != OBJECT_NONE) { #ifdef __OBJECT_MOTION__ Transform tfm = sd->ob_tfm; #else diff --git a/intern/cycles/kernel/kernel_camera.h b/intern/cycles/kernel/kernel_camera.h index fe995bbb594..7fc66a9fdee 100644 --- a/intern/cycles/kernel/kernel_camera.h +++ b/intern/cycles/kernel/kernel_camera.h @@ -266,7 +266,7 @@ ccl_device_inline float3 camera_world_to_ndc(KernelGlobals *kg, ShaderData *sd, { if(kernel_data.cam.type != CAMERA_PANORAMA) { /* perspective / ortho */ - if(sd->object == ~0 && kernel_data.cam.type == CAMERA_PERSPECTIVE) + if(sd->object == PRIM_NONE && kernel_data.cam.type == CAMERA_PERSPECTIVE) P += camera_position(kg); Transform tfm = kernel_data.cam.worldtondc; @@ -276,7 +276,7 @@ ccl_device_inline float3 camera_world_to_ndc(KernelGlobals *kg, ShaderData *sd, /* panorama */ Transform tfm = kernel_data.cam.worldtocamera; - if(sd->object != ~0) + if(sd->object != OBJECT_NONE) P = normalize(transform_point(&tfm, P)); else P = normalize(transform_direction(&tfm, P)); diff --git a/intern/cycles/kernel/kernel_emission.h b/intern/cycles/kernel/kernel_emission.h index 44c2572efc2..bb61b2111fe 100644 --- a/intern/cycles/kernel/kernel_emission.h +++ b/intern/cycles/kernel/kernel_emission.h @@ -70,7 +70,7 @@ ccl_device_noinline bool direct_emission(KernelGlobals *kg, ShaderData *sd, int LightSample ls; #ifdef __BRANCHED_PATH__ - if(lindex != -1) { + if(lindex != LAMP_NONE) { /* sample position on a specified light */ light_select(kg, lindex, randu, randv, sd->P, &ls); } @@ -97,7 +97,7 @@ ccl_device_noinline bool direct_emission(KernelGlobals *kg, ShaderData *sd, int float bsdf_pdf; #ifdef __VOLUME__ - if(sd->prim != ~0) + if(sd->prim != PRIM_NONE) shader_bsdf_eval(kg, sd, ls.D, eval, &bsdf_pdf); else shader_volume_phase_eval(kg, sd, ls.D, eval, &bsdf_pdf); @@ -153,7 +153,7 @@ ccl_device_noinline bool direct_emission(KernelGlobals *kg, ShaderData *sd, int } /* return if it's a lamp for shadow pass */ - *is_lamp = (ls.prim == ~0 && ls.type != LIGHT_BACKGROUND); + *is_lamp = (ls.prim == PRIM_NONE && ls.type != LIGHT_BACKGROUND); return true; } @@ -188,7 +188,7 @@ ccl_device_noinline bool indirect_lamp_emission(KernelGlobals *kg, Ray *ray, int LightSample ls; int lamp = lamp_light_eval_sample(kg, randt); - if(lamp == ~0) + if(lamp == LAMP_NONE) return false; if(!lamp_light_eval(kg, lamp, ray->P, ray->D, ray->t, &ls)) diff --git a/intern/cycles/kernel/kernel_light.h b/intern/cycles/kernel/kernel_light.h index 8c3f558c3ea..ffda44fee57 100644 --- a/intern/cycles/kernel/kernel_light.h +++ b/intern/cycles/kernel/kernel_light.h @@ -217,8 +217,8 @@ ccl_device void lamp_light_sample(KernelGlobals *kg, int lamp, LightType type = (LightType)__float_as_int(data0.x); ls->type = type; ls->shader = __float_as_int(data1.x); - ls->object = ~0; - ls->prim = ~0; + ls->object = PRIM_NONE; + ls->prim = PRIM_NONE; ls->lamp = lamp; ls->u = randu; ls->v = randv; @@ -309,8 +309,8 @@ ccl_device bool lamp_light_eval(KernelGlobals *kg, int lamp, float3 P, float3 D, LightType type = (LightType)__float_as_int(data0.x); ls->type = type; ls->shader = __float_as_int(data1.x); - ls->object = ~0; - ls->prim = ~0; + ls->object = PRIM_NONE; + ls->prim = PRIM_NONE; ls->lamp = lamp; /* todo: missing texture coordinates */ ls->u = 0.0f; @@ -461,7 +461,7 @@ ccl_device void triangle_light_sample(KernelGlobals *kg, int prim, int object, triangle_point_normal(kg, prim, u, v, &ls->P, &ls->Ng, &ls->shader); ls->object = object; ls->prim = prim; - ls->lamp = ~0; + ls->lamp = LAMP_NONE; ls->shader |= SHADER_USE_MIS; ls->t = 0.0f; ls->u = u; @@ -566,7 +566,7 @@ ccl_device int lamp_light_eval_sample(KernelGlobals *kg, float randt) return lamp; } else - return ~0; + return LAMP_NONE; } CCL_NAMESPACE_END diff --git a/intern/cycles/kernel/kernel_path.h b/intern/cycles/kernel/kernel_path.h index 9b3ddbb7557..4ee3eea03a7 100644 --- a/intern/cycles/kernel/kernel_path.h +++ b/intern/cycles/kernel/kernel_path.h @@ -74,7 +74,7 @@ ccl_device_inline bool kernel_path_integrate_scatter_lighting(KernelGlobals *kg, light_ray.time = sd->time; #endif - if(direct_emission(kg, sd, -1, light_t, light_o, light_u, light_v, &light_ray, &L_light, &is_lamp, state->bounce)) { + if(direct_emission(kg, sd, LAMP_NONE, light_t, light_o, light_u, light_v, &light_ray, &L_light, &is_lamp, state->bounce)) { /* trace shadow ray */ float3 shadow; @@ -188,7 +188,7 @@ ccl_device void kernel_branched_path_integrate_direct_lighting(KernelGlobals *kg if(kernel_data.integrator.num_all_lights) light_t = 0.5f*light_t; - if(direct_emission(kg, sd, -1, light_t, 0.0f, light_u, light_v, &light_ray, &L_light, &is_lamp, state->bounce)) { + if(direct_emission(kg, sd, LAMP_NONE, light_t, 0.0f, light_u, light_v, &light_ray, &L_light, &is_lamp, state->bounce)) { /* trace shadow ray */ float3 shadow; @@ -206,7 +206,7 @@ ccl_device void kernel_branched_path_integrate_direct_lighting(KernelGlobals *kg path_state_rng_2D(kg, rng, state, PRNG_LIGHT_U, &light_u, &light_v); /* sample random light */ - if(direct_emission(kg, sd, -1, light_t, 0.0f, light_u, light_v, &light_ray, &L_light, &is_lamp, state->bounce)) { + if(direct_emission(kg, sd, LAMP_NONE, light_t, 0.0f, light_u, light_v, &light_ray, &L_light, &is_lamp, state->bounce)) { /* trace shadow ray */ float3 shadow; @@ -257,7 +257,7 @@ ccl_device void kernel_path_indirect(KernelGlobals *kg, RNG *rng, Ray ray, ccl_g #ifdef __VOLUME__ /* volume attenuation, emission, scatter */ - if(state.volume_stack[0].shader != SHADER_NO_ID) { + if(state.volume_stack[0].shader != SHADER_NONE) { Ray volume_ray = ray; volume_ray.t = (hit)? isect.t: FLT_MAX; @@ -492,7 +492,7 @@ ccl_device_inline bool kernel_path_integrate_lighting(KernelGlobals *kg, RNG *rn light_ray.time = sd->time; #endif - if(direct_emission(kg, sd, -1, light_t, light_o, light_u, light_v, &light_ray, &L_light, &is_lamp, state->bounce)) { + if(direct_emission(kg, sd, LAMP_NONE, light_t, light_o, light_u, light_v, &light_ray, &L_light, &is_lamp, state->bounce)) { /* trace shadow ray */ float3 shadow; @@ -646,7 +646,7 @@ ccl_device float4 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int sample, #ifdef __VOLUME__ /* volume attenuation, emission, scatter */ - if(state.volume_stack[0].shader != SHADER_NO_ID) { + if(state.volume_stack[0].shader != SHADER_NONE) { Ray volume_ray = ray; volume_ray.t = (hit)? isect.t: FLT_MAX; @@ -853,7 +853,7 @@ ccl_device float4 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int sample, light_ray.time = sd.time; #endif - if(direct_emission(kg, &sd, -1, light_t, light_o, light_u, light_v, &light_ray, &L_light, &is_lamp, state.bounce)) { + if(direct_emission(kg, &sd, LAMP_NONE, light_t, light_o, light_u, light_v, &light_ray, &L_light, &is_lamp, state.bounce)) { /* trace shadow ray */ float3 shadow; @@ -1088,7 +1088,7 @@ ccl_device float4 kernel_branched_path_integrate(KernelGlobals *kg, RNG *rng, in #ifdef __VOLUME__ /* volume attenuation, emission, scatter */ - if(state.volume_stack[0].shader != SHADER_NO_ID) { + if(state.volume_stack[0].shader != SHADER_NONE) { Ray volume_ray = ray; volume_ray.t = (hit)? isect.t: FLT_MAX; diff --git a/intern/cycles/kernel/kernel_path_state.h b/intern/cycles/kernel/kernel_path_state.h index 457082485e1..406654c1741 100644 --- a/intern/cycles/kernel/kernel_path_state.h +++ b/intern/cycles/kernel/kernel_path_state.h @@ -50,7 +50,7 @@ ccl_device_inline void path_state_init(KernelGlobals *kg, PathState *state, RNG state->rng_congruential = lcg_init(*rng + sample*0x51633e2d); } else { - state->volume_stack[0].shader = SHADER_NO_ID; + state->volume_stack[0].shader = SHADER_NONE; } #endif } diff --git a/intern/cycles/kernel/kernel_primitive.h b/intern/cycles/kernel/kernel_primitive.h index af5faf37c3f..11f6231afac 100644 --- a/intern/cycles/kernel/kernel_primitive.h +++ b/intern/cycles/kernel/kernel_primitive.h @@ -23,7 +23,7 @@ CCL_NAMESPACE_BEGIN ccl_device_inline int find_attribute(KernelGlobals *kg, ShaderData *sd, uint id, AttributeElement *elem) { - if(sd->object == ~0) + if(sd->object == PRIM_NONE) return (int)ATTR_STD_NOT_FOUND; #ifdef __OSL__ @@ -47,7 +47,7 @@ ccl_device_inline int find_attribute(KernelGlobals *kg, ShaderData *sd, uint id, *elem = (AttributeElement)attr_map.y; - if(sd->prim == ~0 && (AttributeElement)attr_map.y != ATTR_ELEMENT_MESH) + if(sd->prim == PRIM_NONE && (AttributeElement)attr_map.y != ATTR_ELEMENT_MESH) return ATTR_STD_NOT_FOUND; /* return result */ diff --git a/intern/cycles/kernel/kernel_shader.h b/intern/cycles/kernel/kernel_shader.h index 2ba87e29786..716dd5127c1 100644 --- a/intern/cycles/kernel/kernel_shader.h +++ b/intern/cycles/kernel/kernel_shader.h @@ -52,7 +52,7 @@ ccl_device void shader_setup_from_ray(KernelGlobals *kg, ShaderData *sd, const Intersection *isect, const Ray *ray, int bounce) { #ifdef __INSTANCING__ - sd->object = (isect->object == ~0)? kernel_tex_fetch(__prim_object, isect->prim): isect->object; + sd->object = (isect->object == PRIM_NONE)? kernel_tex_fetch(__prim_object, isect->prim): isect->object; #endif sd->type = isect->type; @@ -113,7 +113,7 @@ ccl_device void shader_setup_from_ray(KernelGlobals *kg, ShaderData *sd, sd->flag |= kernel_tex_fetch(__shader_flag, (sd->shader & SHADER_MASK)*2); #ifdef __INSTANCING__ - if(isect->object != ~0) { + if(isect->object != OBJECT_NONE) { /* instance transform */ object_normal_transform(kg, sd, &sd->N); object_normal_transform(kg, sd, &sd->Ng); @@ -190,7 +190,7 @@ ccl_device_inline void shader_setup_from_subsurface(KernelGlobals *kg, ShaderDat sd->flag |= kernel_tex_fetch(__shader_flag, (sd->shader & SHADER_MASK)*2); #ifdef __INSTANCING__ - if(isect->object != ~0) { + if(isect->object != OBJECT_NONE) { /* instance transform */ object_normal_transform(kg, sd, &sd->N); object_normal_transform(kg, sd, &sd->Ng); @@ -236,7 +236,7 @@ ccl_device void shader_setup_from_sample(KernelGlobals *kg, ShaderData *sd, sd->Ng = Ng; sd->I = I; sd->shader = shader; - sd->type = (prim == ~0)? PRIMITIVE_NONE: PRIMITIVE_TRIANGLE; + sd->type = (prim == PRIM_NONE)? PRIMITIVE_NONE: PRIMITIVE_TRIANGLE; /* primitive */ #ifdef __INSTANCING__ @@ -255,7 +255,7 @@ ccl_device void shader_setup_from_sample(KernelGlobals *kg, ShaderData *sd, #ifdef __INSTANCING__ bool instanced = false; - if(sd->prim != ~0) { + if(sd->prim != PRIM_NONE) { if(sd->object >= 0) instanced = true; else @@ -266,7 +266,7 @@ ccl_device void shader_setup_from_sample(KernelGlobals *kg, ShaderData *sd, #endif sd->flag = kernel_tex_fetch(__shader_flag, (sd->shader & SHADER_MASK)*2); - if(sd->object != -1) { + if(sd->object != OBJECT_NONE) { sd->flag |= kernel_tex_fetch(__object_flag, sd->object); #ifdef __OBJECT_MOTION__ @@ -309,7 +309,7 @@ ccl_device void shader_setup_from_sample(KernelGlobals *kg, ShaderData *sd, } /* backfacing test */ - if(sd->prim != ~0) { + if(sd->prim != PRIM_NONE) { bool backfacing = (dot(sd->Ng, sd->I) < 0.0f); if(backfacing) { @@ -368,9 +368,9 @@ ccl_device_inline void shader_setup_from_background(KernelGlobals *kg, ShaderDat sd->ray_depth = bounce; #ifdef __INSTANCING__ - sd->object = ~0; + sd->object = PRIM_NONE; #endif - sd->prim = ~0; + sd->prim = PRIM_NONE; #ifdef __UV__ sd->u = 0.0f; sd->v = 0.0f; @@ -402,7 +402,7 @@ ccl_device_inline void shader_setup_from_volume(KernelGlobals *kg, ShaderData *s sd->N = -ray->D; sd->Ng = -ray->D; sd->I = -ray->D; - sd->shader = SHADER_NO_ID; + sd->shader = SHADER_NONE; sd->flag = 0; #ifdef __OBJECT_MOTION__ sd->time = ray->time; @@ -411,9 +411,9 @@ ccl_device_inline void shader_setup_from_volume(KernelGlobals *kg, ShaderData *s sd->ray_depth = bounce; #ifdef __INSTANCING__ - sd->object = ~0; /* todo: fill this for texture coordinates */ + sd->object = PRIM_NONE; /* todo: fill this for texture coordinates */ #endif - sd->prim = ~0; + sd->prim = PRIM_NONE; sd->type = PRIMITIVE_NONE; #ifdef __UV__ @@ -1056,7 +1056,7 @@ ccl_device void shader_eval_volume(KernelGlobals *kg, ShaderData *sd, #endif sd->flag = 0; - for(int i = 0; stack[i].shader != SHADER_NO_ID; i++) { + for(int i = 0; stack[i].shader != SHADER_NONE; i++) { /* setup shaderdata from stack. it's mostly setup already in * shader_setup_from_volume, this switching should be quick */ sd->object = stack[i].object; @@ -1065,7 +1065,7 @@ ccl_device void shader_eval_volume(KernelGlobals *kg, ShaderData *sd, sd->flag &= ~(SD_SHADER_FLAGS|SD_OBJECT_FLAGS); sd->flag |= kernel_tex_fetch(__shader_flag, (sd->shader & SHADER_MASK)*2); - if(sd->object != ~0) { + if(sd->object != OBJECT_NONE) { sd->flag |= kernel_tex_fetch(__object_flag, sd->object); #ifdef __OBJECT_MOTION__ diff --git a/intern/cycles/kernel/kernel_shadow.h b/intern/cycles/kernel/kernel_shadow.h index 9b015c98c40..971dca38fc5 100644 --- a/intern/cycles/kernel/kernel_shadow.h +++ b/intern/cycles/kernel/kernel_shadow.h @@ -73,7 +73,7 @@ ccl_device_inline bool shadow_blocked(KernelGlobals *kg, PathState *state, Ray * #ifdef __VOLUME__ /* attenuation for last line segment towards light */ - if(ps.volume_stack[0].shader != SHADER_NO_ID) + if(ps.volume_stack[0].shader != SHADER_NONE) kernel_volume_shadow(kg, &ps, ray, &throughput); #endif @@ -86,7 +86,7 @@ ccl_device_inline bool shadow_blocked(KernelGlobals *kg, PathState *state, Ray * #ifdef __VOLUME__ /* attenuation between last surface and next surface */ - if(ps.volume_stack[0].shader != SHADER_NO_ID) { + if(ps.volume_stack[0].shader != SHADER_NONE) { Ray segment_ray = *ray; segment_ray.t = isect.t; kernel_volume_shadow(kg, &ps, &segment_ray, &throughput); @@ -118,7 +118,7 @@ ccl_device_inline bool shadow_blocked(KernelGlobals *kg, PathState *state, Ray * } } #ifdef __VOLUME__ - else if(!result && state->volume_stack[0].shader != SHADER_NO_ID) { + else if(!result && state->volume_stack[0].shader != SHADER_NONE) { /* apply attenuation from current volume shader */ kernel_volume_shadow(kg, state, ray, shadow); } diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h index 2590717d378..0be83e5cbc1 100644 --- a/intern/cycles/kernel/kernel_types.h +++ b/intern/cycles/kernel/kernel_types.h @@ -46,7 +46,10 @@ CCL_NAMESPACE_BEGIN #define TEX_NUM_FLOAT_IMAGES 5 -#define SHADER_NO_ID -1 +#define SHADER_NONE (~0) +#define OBJECT_NONE (~0) +#define PRIM_NONE (~0) +#define LAMP_NONE (~0) #define VOLUME_STACK_SIZE 16 diff --git a/intern/cycles/kernel/kernel_volume.h b/intern/cycles/kernel/kernel_volume.h index cbb83b803d9..e4508f2cfe4 100644 --- a/intern/cycles/kernel/kernel_volume.h +++ b/intern/cycles/kernel/kernel_volume.h @@ -99,7 +99,7 @@ ccl_device float3 volume_color_attenuation(float3 sigma, float t) ccl_device bool volume_stack_is_heterogeneous(KernelGlobals *kg, VolumeStack *stack) { - for(int i = 0; stack[i].shader != SHADER_NO_ID; i++) { + for(int i = 0; stack[i].shader != SHADER_NONE; i++) { int shader_flag = kernel_tex_fetch(__shader_flag, (stack[i].shader & SHADER_MASK)*2); if(shader_flag & SD_HETEROGENEOUS_VOLUME) @@ -557,13 +557,13 @@ ccl_device_noinline VolumeIntegrateResult kernel_volume_integrate(KernelGlobals ccl_device void kernel_volume_stack_init(KernelGlobals *kg, VolumeStack *stack) { /* todo: this assumes camera is always in air, need to detect when it isn't */ - if(kernel_data.background.volume_shader == SHADER_NO_ID) { - stack[0].shader = SHADER_NO_ID; + if(kernel_data.background.volume_shader == SHADER_NONE) { + stack[0].shader = SHADER_NONE; } else { stack[0].shader = kernel_data.background.volume_shader; - stack[0].object = ~0; - stack[1].shader = SHADER_NO_ID; + stack[0].object = PRIM_NONE; + stack[1].shader = SHADER_NONE; } } @@ -578,14 +578,14 @@ ccl_device void kernel_volume_stack_enter_exit(KernelGlobals *kg, ShaderData *sd if(sd->flag & SD_BACKFACING) { /* exit volume object: remove from stack */ - for(int i = 0; stack[i].shader != SHADER_NO_ID; i++) { + for(int i = 0; stack[i].shader != SHADER_NONE; i++) { if(stack[i].object == sd->object) { /* shift back next stack entries */ do { stack[i] = stack[i+1]; i++; } - while(stack[i].shader != SHADER_NO_ID); + while(stack[i].shader != SHADER_NONE); return; } @@ -595,7 +595,7 @@ ccl_device void kernel_volume_stack_enter_exit(KernelGlobals *kg, ShaderData *sd /* enter volume object: add to stack */ int i; - for(i = 0; stack[i].shader != SHADER_NO_ID; i++) { + for(i = 0; stack[i].shader != SHADER_NONE; i++) { /* already in the stack? then we have nothing to do */ if(stack[i].object == sd->object) return; @@ -608,7 +608,7 @@ ccl_device void kernel_volume_stack_enter_exit(KernelGlobals *kg, ShaderData *sd /* add to the end of the stack */ stack[i].shader = sd->shader; stack[i].object = sd->object; - stack[i+1].shader = SHADER_NO_ID; + stack[i+1].shader = SHADER_NONE; } } diff --git a/intern/cycles/kernel/osl/osl_services.cpp b/intern/cycles/kernel/osl/osl_services.cpp index 10216c22818..8ef160663a3 100644 --- a/intern/cycles/kernel/osl/osl_services.cpp +++ b/intern/cycles/kernel/osl/osl_services.cpp @@ -130,7 +130,7 @@ bool OSLRenderServices::get_matrix(OSL::Matrix44 &result, OSL::TransformationPtr KernelGlobals *kg = sd->osl_globals; int object = sd->object; - if (object != ~0) { + if (object != OBJECT_NONE) { #ifdef __OBJECT_MOTION__ Transform tfm; @@ -160,7 +160,7 @@ bool OSLRenderServices::get_inverse_matrix(OSL::Matrix44 &result, OSL::Transform KernelGlobals *kg = sd->osl_globals; int object = sd->object; - if (object != ~0) { + if (object != OBJECT_NONE) { #ifdef __OBJECT_MOTION__ Transform itfm; @@ -245,7 +245,7 @@ bool OSLRenderServices::get_matrix(OSL::Matrix44 &result, OSL::TransformationPtr const ShaderData *sd = (const ShaderData *)xform; int object = sd->object; - if (object != ~0) { + if (object != OBJECT_NONE) { #ifdef __OBJECT_MOTION__ Transform tfm = sd->ob_tfm; #else @@ -270,7 +270,7 @@ bool OSLRenderServices::get_inverse_matrix(OSL::Matrix44 &result, OSL::Transform const ShaderData *sd = (const ShaderData *)xform; int object = sd->object; - if (object != ~0) { + if (object != OBJECT_NONE) { #ifdef __OBJECT_MOTION__ Transform tfm = sd->ob_itfm; #else @@ -708,7 +708,7 @@ bool OSLRenderServices::get_background_attribute(KernelGlobals *kg, ShaderData * OSL::ShaderGlobals *globals = &tdata->globals; float3 ndc[3]; - if((globals->raytype & PATH_RAY_CAMERA) && sd->object == ~0 && kernel_data.cam.type == CAMERA_ORTHOGRAPHIC) { + if((globals->raytype & PATH_RAY_CAMERA) && sd->object == OBJECT_NONE && kernel_data.cam.type == CAMERA_ORTHOGRAPHIC) { ndc[0] = camera_world_to_ndc(kg, sd, sd->ray_P); if(derivatives) { @@ -747,7 +747,7 @@ bool OSLRenderServices::get_attribute(void *renderstate, bool derivatives, ustri return false; object = it->second; - prim = ~0; + prim = PRIM_NONE; is_curve = false; } else { @@ -755,7 +755,7 @@ bool OSLRenderServices::get_attribute(void *renderstate, bool derivatives, ustri prim = sd->prim; is_curve = (sd->type & PRIMITIVE_ALL_CURVE) != 0; - if (object == ~0) + if (object == OBJECT_NONE) return get_background_attribute(kg, sd, name, type, derivatives, val); } @@ -769,7 +769,7 @@ bool OSLRenderServices::get_attribute(void *renderstate, bool derivatives, ustri if (attr.elem != ATTR_ELEMENT_OBJECT) { /* triangle and vertex attributes */ - if (prim != ~0) + if (prim != PRIM_NONE) return get_mesh_element_attribute(kg, sd, attr, type, derivatives, val); else return get_mesh_attribute(kg, sd, attr, type, derivatives, val); @@ -1005,9 +1005,9 @@ bool OSLRenderServices::trace(TraceOpt &options, OSL::ShaderGlobals *sg, /* raytrace */ #ifdef __HAIR__ - return scene_intersect(sd->osl_globals, &ray, ~0, &tracedata->isect, NULL, 0.0f, 0.0f); + return scene_intersect(sd->osl_globals, &ray, PATH_RAY_ALL_VISIBILITY, &tracedata->isect, NULL, 0.0f, 0.0f); #else - return scene_intersect(sd->osl_globals, &ray, ~0, &tracedata->isect); + return scene_intersect(sd->osl_globals, &ray, PATH_RAY_ALL_VISIBILITY, &tracedata->isect); #endif } @@ -1019,9 +1019,9 @@ bool OSLRenderServices::getmessage(OSL::ShaderGlobals *sg, ustring source, ustri if(source == u_trace && tracedata->init) { if(name == u_hit) { - return set_attribute_int((tracedata->isect.prim != ~0), type, derivatives, val); + return set_attribute_int((tracedata->isect.prim != PRIM_NONE), type, derivatives, val); } - else if(tracedata->isect.prim != ~0) { + else if(tracedata->isect.prim != PRIM_NONE) { if(name == u_hitdist) { float f[3] = {tracedata->isect.t, 0.0f, 0.0f}; return set_attribute_float(f, type, derivatives, val); diff --git a/intern/cycles/kernel/osl/osl_shader.cpp b/intern/cycles/kernel/osl/osl_shader.cpp index b5842d1013e..64c734dec64 100644 --- a/intern/cycles/kernel/osl/osl_shader.cpp +++ b/intern/cycles/kernel/osl/osl_shader.cpp @@ -113,7 +113,7 @@ static void shaderdata_to_shaderglobals(KernelGlobals *kg, ShaderData *sd, globals->dvdy = sd->dv.dy; globals->dPdu = TO_VEC3(sd->dPdu); globals->dPdv = TO_VEC3(sd->dPdv); - globals->surfacearea = (sd->object == ~0) ? 1.0f : object_surface_area(kg, sd->object); + globals->surfacearea = (sd->object == OBJECT_NONE) ? 1.0f : object_surface_area(kg, sd->object); globals->time = sd->time; /* booleans */ @@ -547,7 +547,7 @@ int OSLShader::find_attribute(KernelGlobals *kg, const ShaderData *sd, uint id, const OSLGlobals::Attribute &osl_attr = it->second; *elem = osl_attr.elem; - if(sd->prim == ~0 && (AttributeElement)osl_attr.elem != ATTR_ELEMENT_MESH) + if(sd->prim == PRIM_NONE && (AttributeElement)osl_attr.elem != ATTR_ELEMENT_MESH) return ATTR_STD_NOT_FOUND; /* return result */ diff --git a/intern/cycles/kernel/svm/svm_attribute.h b/intern/cycles/kernel/svm/svm_attribute.h index aae52ec3d84..2592bbe575f 100644 --- a/intern/cycles/kernel/svm/svm_attribute.h +++ b/intern/cycles/kernel/svm/svm_attribute.h @@ -22,7 +22,7 @@ ccl_device void svm_node_attr_init(KernelGlobals *kg, ShaderData *sd, uint4 node, NodeAttributeType *type, NodeAttributeType *mesh_type, AttributeElement *elem, int *offset, uint *out_offset) { - if(sd->object != ~0 && sd->prim != ~0) { + if(sd->object != OBJECT_NONE && sd->prim != PRIM_NONE) { /* find attribute by unique id */ uint id = node.y; uint attr_offset = sd->object*kernel_data.bvh.attributes_map_stride; diff --git a/intern/cycles/kernel/svm/svm_closure.h b/intern/cycles/kernel/svm/svm_closure.h index 49d99ead03e..fb1a981adda 100644 --- a/intern/cycles/kernel/svm/svm_closure.h +++ b/intern/cycles/kernel/svm/svm_closure.h @@ -637,7 +637,7 @@ ccl_device void svm_node_emission_set_weight_total(KernelGlobals *kg, ShaderData { float3 weight = make_float3(__uint_as_float(r), __uint_as_float(g), __uint_as_float(b)); - if(sd->object != ~0) + if(sd->object != OBJECT_NONE) weight /= object_surface_area(kg, sd->object); svm_node_closure_store_weight(sd, weight); @@ -659,7 +659,7 @@ ccl_device void svm_node_emission_weight(KernelGlobals *kg, ShaderData *sd, floa float strength = stack_load_float(stack, strength_offset); float3 weight = stack_load_float3(stack, color_offset)*strength; - if(total_power && sd->object != ~0) + if(total_power && sd->object != OBJECT_NONE) weight /= object_surface_area(kg, sd->object); svm_node_closure_store_weight(sd, weight); diff --git a/intern/cycles/kernel/svm/svm_image.h b/intern/cycles/kernel/svm/svm_image.h index 73c0ab1ae0b..ce2893e1893 100644 --- a/intern/cycles/kernel/svm/svm_image.h +++ b/intern/cycles/kernel/svm/svm_image.h @@ -322,7 +322,7 @@ ccl_device void svm_node_tex_image_box(KernelGlobals *kg, ShaderData *sd, float float3 N = sd->N; N = sd->N; - if(sd->object != ~0) + if(sd->object != OBJECT_NONE) object_inverse_normal_transform(kg, sd, &N); /* project from direction vector to barycentric coordinates in triangles */ diff --git a/intern/cycles/kernel/svm/svm_tex_coord.h b/intern/cycles/kernel/svm/svm_tex_coord.h index 4b1f30e55bb..bddeac0b722 100644 --- a/intern/cycles/kernel/svm/svm_tex_coord.h +++ b/intern/cycles/kernel/svm/svm_tex_coord.h @@ -25,27 +25,27 @@ ccl_device void svm_node_tex_coord(KernelGlobals *kg, ShaderData *sd, int path_f switch(type) { case NODE_TEXCO_OBJECT: { data = sd->P; - if(sd->object != ~0) + if(sd->object != OBJECT_NONE) object_inverse_position_transform(kg, sd, &data); break; } case NODE_TEXCO_NORMAL: { data = sd->N; - if(sd->object != ~0) + if(sd->object != OBJECT_NONE) object_inverse_normal_transform(kg, sd, &data); break; } case NODE_TEXCO_CAMERA: { Transform tfm = kernel_data.cam.worldtocamera; - if(sd->object != ~0) + if(sd->object != OBJECT_NONE) data = transform_point(&tfm, sd->P); else data = transform_point(&tfm, sd->P + camera_position(kg)); break; } case NODE_TEXCO_WINDOW: { - if((path_flag & PATH_RAY_CAMERA) && sd->object == ~0 && kernel_data.cam.type == CAMERA_ORTHOGRAPHIC) + if((path_flag & PATH_RAY_CAMERA) && sd->object == OBJECT_NONE && kernel_data.cam.type == CAMERA_ORTHOGRAPHIC) data = camera_world_to_ndc(kg, sd, sd->ray_P); else data = camera_world_to_ndc(kg, sd, sd->P); @@ -53,7 +53,7 @@ ccl_device void svm_node_tex_coord(KernelGlobals *kg, ShaderData *sd, int path_f break; } case NODE_TEXCO_REFLECTION: { - if(sd->object != ~0) + if(sd->object != OBJECT_NONE) data = 2.0f*dot(sd->N, sd->I)*sd->N - sd->I; else data = sd->I; @@ -70,7 +70,7 @@ ccl_device void svm_node_tex_coord(KernelGlobals *kg, ShaderData *sd, int path_f case NODE_TEXCO_VOLUME_GENERATED: { data = sd->P; - if(sd->object != ~0) { + if(sd->object != OBJECT_NONE) { AttributeElement attr_elem; int attr_offset = find_attribute(kg, sd, ATTR_STD_GENERATED_TRANSFORM, &attr_elem); @@ -96,27 +96,27 @@ ccl_device void svm_node_tex_coord_bump_dx(KernelGlobals *kg, ShaderData *sd, in switch(type) { case NODE_TEXCO_OBJECT: { data = sd->P + sd->dP.dx; - if(sd->object != ~0) + if(sd->object != OBJECT_NONE) object_inverse_position_transform(kg, sd, &data); break; } case NODE_TEXCO_NORMAL: { data = sd->N; - if(sd->object != ~0) + if(sd->object != OBJECT_NONE) object_inverse_normal_transform(kg, sd, &data); break; } case NODE_TEXCO_CAMERA: { Transform tfm = kernel_data.cam.worldtocamera; - if(sd->object != ~0) + if(sd->object != OBJECT_NONE) data = transform_point(&tfm, sd->P + sd->dP.dx); else data = transform_point(&tfm, sd->P + sd->dP.dx + camera_position(kg)); break; } case NODE_TEXCO_WINDOW: { - if((path_flag & PATH_RAY_CAMERA) && sd->object == ~0 && kernel_data.cam.type == CAMERA_ORTHOGRAPHIC) + if((path_flag & PATH_RAY_CAMERA) && sd->object == OBJECT_NONE && kernel_data.cam.type == CAMERA_ORTHOGRAPHIC) data = camera_world_to_ndc(kg, sd, sd->ray_P + sd->ray_dP.dx); else data = camera_world_to_ndc(kg, sd, sd->P + sd->dP.dx); @@ -124,7 +124,7 @@ ccl_device void svm_node_tex_coord_bump_dx(KernelGlobals *kg, ShaderData *sd, in break; } case NODE_TEXCO_REFLECTION: { - if(sd->object != ~0) + if(sd->object != OBJECT_NONE) data = 2.0f*dot(sd->N, sd->I)*sd->N - sd->I; else data = sd->I; @@ -141,7 +141,7 @@ ccl_device void svm_node_tex_coord_bump_dx(KernelGlobals *kg, ShaderData *sd, in case NODE_TEXCO_VOLUME_GENERATED: { data = sd->P + sd->dP.dx; - if(sd->object != ~0) { + if(sd->object != OBJECT_NONE) { AttributeElement attr_elem; int attr_offset = find_attribute(kg, sd, ATTR_STD_GENERATED_TRANSFORM, &attr_elem); @@ -170,27 +170,27 @@ ccl_device void svm_node_tex_coord_bump_dy(KernelGlobals *kg, ShaderData *sd, in switch(type) { case NODE_TEXCO_OBJECT: { data = sd->P + sd->dP.dy; - if(sd->object != ~0) + if(sd->object != OBJECT_NONE) object_inverse_position_transform(kg, sd, &data); break; } case NODE_TEXCO_NORMAL: { data = sd->N; - if(sd->object != ~0) + if(sd->object != OBJECT_NONE) object_inverse_normal_transform(kg, sd, &data); break; } case NODE_TEXCO_CAMERA: { Transform tfm = kernel_data.cam.worldtocamera; - if(sd->object != ~0) + if(sd->object != OBJECT_NONE) data = transform_point(&tfm, sd->P + sd->dP.dy); else data = transform_point(&tfm, sd->P + sd->dP.dy + camera_position(kg)); break; } case NODE_TEXCO_WINDOW: { - if((path_flag & PATH_RAY_CAMERA) && sd->object == ~0 && kernel_data.cam.type == CAMERA_ORTHOGRAPHIC) + if((path_flag & PATH_RAY_CAMERA) && sd->object == OBJECT_NONE && kernel_data.cam.type == CAMERA_ORTHOGRAPHIC) data = camera_world_to_ndc(kg, sd, sd->ray_P + sd->ray_dP.dy); else data = camera_world_to_ndc(kg, sd, sd->P + sd->dP.dy); @@ -198,7 +198,7 @@ ccl_device void svm_node_tex_coord_bump_dy(KernelGlobals *kg, ShaderData *sd, in break; } case NODE_TEXCO_REFLECTION: { - if(sd->object != ~0) + if(sd->object != OBJECT_NONE) data = 2.0f*dot(sd->N, sd->I)*sd->N - sd->I; else data = sd->I; @@ -215,7 +215,7 @@ ccl_device void svm_node_tex_coord_bump_dy(KernelGlobals *kg, ShaderData *sd, in case NODE_TEXCO_VOLUME_GENERATED: { data = sd->P + sd->dP.dy; - if(sd->object != ~0) { + if(sd->object != OBJECT_NONE) { AttributeElement attr_elem; int attr_offset = find_attribute(kg, sd, ATTR_STD_GENERATED_TRANSFORM, &attr_elem); @@ -248,7 +248,7 @@ ccl_device void svm_node_normal_map(KernelGlobals *kg, ShaderData *sd, float *st if(space == NODE_NORMAL_MAP_TANGENT) { /* tangent space */ - if(sd->object == ~0) { + if(sd->object == OBJECT_NONE) { stack_store_float3(stack, normal_offset, make_float3(0.0f, 0.0f, 0.0f)); return; } diff --git a/intern/cycles/kernel/svm/svm_vector_transform.h b/intern/cycles/kernel/svm/svm_vector_transform.h index 1e3fc2fa03b..890a9ddda69 100644 --- a/intern/cycles/kernel/svm/svm_vector_transform.h +++ b/intern/cycles/kernel/svm/svm_vector_transform.h @@ -33,7 +33,7 @@ ccl_device void svm_node_vector_transform(KernelGlobals *kg, ShaderData *sd, flo NodeVectorTransformConvertSpace to = (NodeVectorTransformConvertSpace)ito; Transform tfm; - bool is_object = (sd->object != ~0); + bool is_object = (sd->object != OBJECT_NONE); bool is_direction = (type == NODE_VECTOR_TRANSFORM_TYPE_VECTOR || type == NODE_VECTOR_TRANSFORM_TYPE_NORMAL); /* From world */ diff --git a/intern/cycles/kernel/svm/svm_wireframe.h b/intern/cycles/kernel/svm/svm_wireframe.h index 98630803efe..5802b9d7188 100644 --- a/intern/cycles/kernel/svm/svm_wireframe.h +++ b/intern/cycles/kernel/svm/svm_wireframe.h @@ -45,9 +45,9 @@ ccl_device void svm_node_wireframe(KernelGlobals *kg, ShaderData *sd, float *sta /* Calculate wireframe */ #ifdef __HAIR__ - if (sd->prim != ~0 && sd->type & PRIMITIVE_ALL_TRIANGLE) { + if (sd->prim != PRIM_NONE && sd->type & PRIMITIVE_ALL_TRIANGLE) { #else - if (sd->prim != ~0) { + if (sd->prim != PRIM_NONE) { #endif float3 Co[3]; float pixelwidth = 1.0f; diff --git a/intern/cycles/render/background.cpp b/intern/cycles/render/background.cpp index c9c66dad3fe..a877c52fbed 100644 --- a/intern/cycles/render/background.cpp +++ b/intern/cycles/render/background.cpp @@ -35,7 +35,7 @@ Background::Background() use = true; - visibility = ~0; + visibility = PATH_RAY_ALL_VISIBILITY; shader = 0; transparent = false; @@ -70,7 +70,7 @@ void Background::device_update(Device *device, DeviceScene *dscene, Scene *scene if(scene->shaders[shader]->has_volume) kbackground->volume_shader = kbackground->surface_shader; else - kbackground->volume_shader = SHADER_NO_ID; + kbackground->volume_shader = SHADER_NONE; if(!(visibility & PATH_RAY_DIFFUSE)) kbackground->surface_shader |= SHADER_EXCLUDE_DIFFUSE; diff --git a/intern/cycles/render/mesh_displace.cpp b/intern/cycles/render/mesh_displace.cpp index 2fd8a978511..09d3ce6a588 100644 --- a/intern/cycles/render/mesh_displace.cpp +++ b/intern/cycles/render/mesh_displace.cpp @@ -44,7 +44,7 @@ bool MeshManager::displace(Device *device, DeviceScene *dscene, Scene *scene, Me progress.set_status("Updating Mesh", msg); /* find object index. todo: is arbitrary */ - size_t object_index = ~0; + size_t object_index = OBJECT_NONE; for(size_t i = 0; i < scene->objects.size(); i++) { if(scene->objects[i]->mesh == mesh) { |