[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [51298] trunk/blender/intern/cycles/kernel /svm/svm_geometry.h: Fix for wrong cycles tangent in some cases, was missing transform.
Brecht Van Lommel
brechtvanlommel at pandora.be
Sat Oct 13 14:11:02 CEST 2012
Revision: 51298
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=51298
Author: blendix
Date: 2012-10-13 12:11:01 +0000 (Sat, 13 Oct 2012)
Log Message:
-----------
Fix for wrong cycles tangent in some cases, was missing transform.
Modified Paths:
--------------
trunk/blender/intern/cycles/kernel/svm/svm_geometry.h
Modified: trunk/blender/intern/cycles/kernel/svm/svm_geometry.h
===================================================================
--- trunk/blender/intern/cycles/kernel/svm/svm_geometry.h 2012-10-13 11:23:04 UTC (rev 51297)
+++ trunk/blender/intern/cycles/kernel/svm/svm_geometry.h 2012-10-13 12:11:01 UTC (rev 51298)
@@ -29,12 +29,18 @@
case NODE_GEOM_N: data = sd->N; break;
#ifdef __DPDU__
case NODE_GEOM_T: {
- int attr_offset = find_attribute(kg, sd, ATTR_STD_TANGENT);
+ if(sd->object != ~0) {
+ int attr_offset = find_attribute(kg, sd, ATTR_STD_TANGENT);
- if(attr_offset == ATTR_STD_NOT_FOUND)
+ if(attr_offset != ATTR_STD_NOT_FOUND) {
+ data = triangle_attribute_float3(kg, sd, ATTR_ELEMENT_VERTEX, attr_offset, NULL, NULL);
+ object_normal_transform(kg, sd, &data);
+ }
+ else
+ data = normalize(sd->dPdu);
+ }
+ else
data = normalize(sd->dPdu);
- else
- data = triangle_attribute_float3(kg, sd, ATTR_ELEMENT_VERTEX, attr_offset, NULL, NULL);
break;
}
More information about the Bf-blender-cvs
mailing list