[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [53334] trunk/blender/intern/cycles/render /mesh_displace.cpp: Fix part of #33662: cycles crash using displacement on meshes with vertices not

Brecht Van Lommel brechtvanlommel at pandora.be
Wed Dec 26 21:59:36 CET 2012


Revision: 53334
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53334
Author:   blendix
Date:     2012-12-26 20:59:35 +0000 (Wed, 26 Dec 2012)
Log Message:
-----------
Fix part of #33662: cycles crash using displacement on meshes with vertices not
attached to any face.

Modified Paths:
--------------
    trunk/blender/intern/cycles/render/mesh_displace.cpp

Modified: trunk/blender/intern/cycles/render/mesh_displace.cpp
===================================================================
--- trunk/blender/intern/cycles/render/mesh_displace.cpp	2012-12-26 20:38:20 UTC (rev 53333)
+++ trunk/blender/intern/cycles/render/mesh_displace.cpp	2012-12-26 20:59:35 UTC (rev 53334)
@@ -59,7 +59,7 @@
 	vector<bool> done(mesh->verts.size(), false);
 	device_vector<uint4> d_input;
 	uint4 *d_input_data = d_input.resize(mesh->verts.size());
-	size_t d_input_offset = 0;
+	size_t d_input_size = 0;
 
 	for(size_t i = 0; i < mesh->triangles.size(); i++) {
 		Mesh::Triangle t = mesh->triangles[i];
@@ -95,16 +95,16 @@
 
 			/* back */
 			uint4 in = make_uint4(object, prim, __float_as_int(u), __float_as_int(v));
-			d_input_data[d_input_offset++] = in;
+			d_input_data[d_input_size++] = in;
 		}
 	}
 
-	if(d_input_offset == 0)
+	if(d_input_size == 0)
 		return false;
 	
 	/* run device task */
 	device_vector<float4> d_output;
-	d_output.resize(d_input.size());
+	d_output.resize(d_input_size);
 
 	device->mem_alloc(d_input, MEM_READ_ONLY);
 	device->mem_copy_to(d_input);
@@ -115,7 +115,7 @@
 	task.shader_output = d_output.device_pointer;
 	task.shader_eval_type = SHADER_EVAL_DISPLACE;
 	task.shader_x = 0;
-	task.shader_w = d_input.size();
+	task.shader_w = d_output.size();
 
 	device->task_add(task);
 	device->task_wait();




More information about the Bf-blender-cvs mailing list