Cycles code refactor: replace magic ~0 values in the code with defines.
This commit is contained in:
@@ -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__
|
||||
|
Reference in New Issue
Block a user