diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-04-16 12:35:21 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-04-16 12:35:21 +0400 |
commit | 93df58160e56f81bb588a7df6a3a3d3d77365ce5 (patch) | |
tree | f53e6d8a7d2c7270f2ae3d53bd2d5f8ec5872153 /intern/cycles/kernel/svm | |
parent | 9cf2e5baf64a927325efeba5ed20c20dfec3da57 (diff) |
Fix #30966: cycles nan mesh vertices got set to (0, 0, 0), now remove them instead.
Diffstat (limited to 'intern/cycles/kernel/svm')
-rw-r--r-- | intern/cycles/kernel/svm/svm_camera.h | 2 | ||||
-rw-r--r-- | intern/cycles/kernel/svm/svm_mapping.h | 2 | ||||
-rw-r--r-- | intern/cycles/kernel/svm/svm_tex_coord.h | 30 |
3 files changed, 17 insertions, 17 deletions
diff --git a/intern/cycles/kernel/svm/svm_camera.h b/intern/cycles/kernel/svm/svm_camera.h index cf161ddcd8c..f13cefb7764 100644 --- a/intern/cycles/kernel/svm/svm_camera.h +++ b/intern/cycles/kernel/svm/svm_camera.h @@ -25,7 +25,7 @@ __device void svm_node_camera(KernelGlobals *kg, ShaderData *sd, float *stack, u float3 vector; Transform tfm = kernel_data.cam.worldtocamera; - vector = transform(&tfm, sd->P); + vector = transform_point(&tfm, sd->P); zdepth = vector.z; distance = len(vector); diff --git a/intern/cycles/kernel/svm/svm_mapping.h b/intern/cycles/kernel/svm/svm_mapping.h index 7633c3e783b..6dc74aece08 100644 --- a/intern/cycles/kernel/svm/svm_mapping.h +++ b/intern/cycles/kernel/svm/svm_mapping.h @@ -30,7 +30,7 @@ __device void svm_node_mapping(KernelGlobals *kg, ShaderData *sd, float *stack, tfm.z = read_node_float(kg, offset); tfm.w = read_node_float(kg, offset); - float3 r = transform(&tfm, v); + float3 r = transform_point(&tfm, v); stack_store_float3(stack, out_offset, r); } diff --git a/intern/cycles/kernel/svm/svm_tex_coord.h b/intern/cycles/kernel/svm/svm_tex_coord.h index bcf3716ae57..f494b6d66e1 100644 --- a/intern/cycles/kernel/svm/svm_tex_coord.h +++ b/intern/cycles/kernel/svm/svm_tex_coord.h @@ -34,7 +34,7 @@ __device void svm_node_tex_coord(KernelGlobals *kg, ShaderData *sd, float *stack case NODE_TEXCO_OBJECT: { if(sd->object != ~0) { Transform tfm = object_fetch_transform(kg, sd->object, OBJECT_INVERSE_TRANSFORM); - data = transform(&tfm, sd->P); + data = transform_point(&tfm, sd->P); } else data = sd->P; @@ -44,18 +44,18 @@ __device void svm_node_tex_coord(KernelGlobals *kg, ShaderData *sd, float *stack Transform tfm = kernel_data.cam.worldtocamera; if(sd->object != ~0) - data = transform(&tfm, sd->P); + data = transform_point(&tfm, sd->P); else - data = transform(&tfm, sd->P + svm_background_offset(kg)); + data = transform_point(&tfm, sd->P + svm_background_offset(kg)); break; } case NODE_TEXCO_WINDOW: { Transform tfm = kernel_data.cam.worldtondc; if(sd->object != ~0) - data = transform(&tfm, sd->P); + data = transform_perspective(&tfm, sd->P); else - data = transform(&tfm, sd->P + svm_background_offset(kg)); + data = transform_perspective(&tfm, sd->P + svm_background_offset(kg)); break; } case NODE_TEXCO_REFLECTION: { @@ -79,7 +79,7 @@ __device void svm_node_tex_coord_bump_dx(KernelGlobals *kg, ShaderData *sd, floa case NODE_TEXCO_OBJECT: { if(sd->object != ~0) { Transform tfm = object_fetch_transform(kg, sd->object, OBJECT_INVERSE_TRANSFORM); - data = transform(&tfm, sd->P + sd->dP.dx); + data = transform_point(&tfm, sd->P + sd->dP.dx); } else data = sd->P + sd->dP.dx; @@ -89,18 +89,18 @@ __device void svm_node_tex_coord_bump_dx(KernelGlobals *kg, ShaderData *sd, floa Transform tfm = kernel_data.cam.worldtocamera; if(sd->object != ~0) - data = transform(&tfm, sd->P + sd->dP.dx); + data = transform_point(&tfm, sd->P + sd->dP.dx); else - data = transform(&tfm, sd->P + sd->dP.dx + svm_background_offset(kg)); + data = transform_point(&tfm, sd->P + sd->dP.dx + svm_background_offset(kg)); break; } case NODE_TEXCO_WINDOW: { Transform tfm = kernel_data.cam.worldtondc; if(sd->object != ~0) - data = transform(&tfm, sd->P + sd->dP.dx); + data = transform_perspective(&tfm, sd->P + sd->dP.dx); else - data = transform(&tfm, sd->P + sd->dP.dx + svm_background_offset(kg)); + data = transform_perspective(&tfm, sd->P + sd->dP.dx + svm_background_offset(kg)); break; } case NODE_TEXCO_REFLECTION: { @@ -127,7 +127,7 @@ __device void svm_node_tex_coord_bump_dy(KernelGlobals *kg, ShaderData *sd, floa case NODE_TEXCO_OBJECT: { if(sd->object != ~0) { Transform tfm = object_fetch_transform(kg, sd->object, OBJECT_INVERSE_TRANSFORM); - data = transform(&tfm, sd->P + sd->dP.dy); + data = transform_point(&tfm, sd->P + sd->dP.dy); } else data = sd->P + sd->dP.dy; @@ -137,18 +137,18 @@ __device void svm_node_tex_coord_bump_dy(KernelGlobals *kg, ShaderData *sd, floa Transform tfm = kernel_data.cam.worldtocamera; if(sd->object != ~0) - data = transform(&tfm, sd->P + sd->dP.dy); + data = transform_point(&tfm, sd->P + sd->dP.dy); else - data = transform(&tfm, sd->P + sd->dP.dy + svm_background_offset(kg)); + data = transform_point(&tfm, sd->P + sd->dP.dy + svm_background_offset(kg)); break; } case NODE_TEXCO_WINDOW: { Transform tfm = kernel_data.cam.worldtondc; if(sd->object != ~0) - data = transform(&tfm, sd->P + sd->dP.dy); + data = transform_perspective(&tfm, sd->P + sd->dP.dy); else - data = transform(&tfm, sd->P + sd->dP.dy + svm_background_offset(kg)); + data = transform_perspective(&tfm, sd->P + sd->dP.dy + svm_background_offset(kg)); break; } case NODE_TEXCO_REFLECTION: { |