Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2017-05-15 16:44:09 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2017-05-15 16:45:19 +0300
commitef8ad66aa2d25f414822871f61ece54b0d5a6931 (patch)
treebea430f19c53523bc4cb13eb4932b16e0cfd66da /intern/cycles/render/mesh_displace.cpp
parent1f96dd2e0bb7440002b24c98e4c9d7daa44f2ebd (diff)
Fix T49324: True displacement crashes when shader returns NaN
Diffstat (limited to 'intern/cycles/render/mesh_displace.cpp')
-rw-r--r--intern/cycles/render/mesh_displace.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/intern/cycles/render/mesh_displace.cpp b/intern/cycles/render/mesh_displace.cpp
index cf28bb16bb7..4ca20cf7ef3 100644
--- a/intern/cycles/render/mesh_displace.cpp
+++ b/intern/cycles/render/mesh_displace.cpp
@@ -169,6 +169,8 @@ bool MeshManager::displace(Device *device, DeviceScene *dscene, Scene *scene, Me
if(!done[t.v[j]]) {
done[t.v[j]] = true;
float3 off = float4_to_float3(offset[k++]);
+ /* Avoid illegal vertex coordinates. */
+ off = ensure_finite3(off);
mesh->verts[t.v[j]] += off;
if(attr_mP != NULL) {
for(int step = 0; step < mesh->motion_steps - 1; step++) {