[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [51956] trunk/blender/intern/cycles: Fix cycles crash with normal map node, issue with tangent sign attribute.
Brecht Van Lommel
brechtvanlommel at pandora.be
Tue Nov 6 22:28:02 CET 2012
Revision: 51956
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=51956
Author: blendix
Date: 2012-11-06 21:27:59 +0000 (Tue, 06 Nov 2012)
Log Message:
-----------
Fix cycles crash with normal map node, issue with tangent sign attribute.
Modified Paths:
--------------
trunk/blender/intern/cycles/blender/blender_mesh.cpp
trunk/blender/intern/cycles/kernel/svm/svm_tex_coord.h
Modified: trunk/blender/intern/cycles/blender/blender_mesh.cpp
===================================================================
--- trunk/blender/intern/cycles/blender/blender_mesh.cpp 2012-11-06 20:48:26 UTC (rev 51955)
+++ trunk/blender/intern/cycles/blender/blender_mesh.cpp 2012-11-06 21:27:59 UTC (rev 51956)
@@ -302,11 +302,11 @@
/* UV tangent */
std = (active_render)? ATTR_STD_UV_TANGENT: ATTR_STD_NONE;
- name = ustring((string(name.c_str()) + ".tangent").c_str());
+ name = ustring((string(l->name().c_str()) + ".tangent").c_str());
if(mesh->need_attribute(scene, name) || mesh->need_attribute(scene, std)) {
std = (active_render)? ATTR_STD_UV_TANGENT_SIGN: ATTR_STD_NONE;
- name = ustring((string(name.c_str()) + ".tangent_sign").c_str());
+ name = ustring((string(l->name().c_str()) + ".tangent_sign").c_str());
bool need_sign = (mesh->need_attribute(scene, name) || mesh->need_attribute(scene, std));
mikk_compute_tangents(b_mesh, *l, mesh, nverts, need_sign, active_render);
Modified: trunk/blender/intern/cycles/kernel/svm/svm_tex_coord.h
===================================================================
--- trunk/blender/intern/cycles/kernel/svm/svm_tex_coord.h 2012-11-06 20:48:26 UTC (rev 51955)
+++ trunk/blender/intern/cycles/kernel/svm/svm_tex_coord.h 2012-11-06 21:27:59 UTC (rev 51956)
@@ -244,7 +244,7 @@
int attr_offset = find_attribute(kg, sd, node.z);
int attr_sign_offset = find_attribute(kg, sd, node.w);
- if(attr_offset == ATTR_STD_NOT_FOUND || attr_offset == ATTR_STD_NOT_FOUND) {
+ if(attr_offset == ATTR_STD_NOT_FOUND || attr_sign_offset == ATTR_STD_NOT_FOUND) {
stack_store_float3(stack, normal_offset, make_float3(0.0f, 0.0f, 0.0f));
return;
}
More information about the Bf-blender-cvs
mailing list